이 문서에서는 알림 알림의 콘텐츠를 맞춤설정하는 알림 정책의 예를 보여줍니다.
시작하기 전에
Personalized Service Health의 알림 설정에 익숙해야 합니다.
알림 및 조건에 설정할 수 있는 필드는 Service Health 로그 스키마 참조를 참고하세요.
알림 조건 예시
다음 섹션에서는 Cloud Logging 또는 Terraform에 사용할 수 있는 세분화된 알림 조건의 예를 보여줍니다.
입니다.특정 제품의 새로운 문제에 대한 알림 Google Cloud
ALERT_CONDITION를 다음으로 설정합니다.
labels."servicehealth.googleapis.com/new_event"=true AND jsonPayload.detailedCategory = \"CONFIRMED_INCIDENT\" AND jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
제품 이름은 일반적인 Google Cloud 형식입니다. 형식의 예는 Google Cloud 서비스 상태를 참고하세요.
특정 지역의 새로운 이슈에 대한 알림
ALERT_CONDITION를 다음으로 설정합니다.
labels."servicehealth.googleapis.com/new_event"=true AND jsonPayload.detailedCategory = \"CONFIRMED_INCIDENT\" AND jsonPayload.impactedLocations =~ \"us-central1\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
위치 이름은 일반적인 Google Cloud 형식입니다. 형식의 예는 Google Cloud 서비스 상태를 참고하세요.
특정 제품의 새로운 신규 이슈에 대한 알림
ALERT_CONDITION를 다음으로 설정합니다.
labels."servicehealth.googleapis.com/new_event"=true AND jsonPayload.detailedCategory = \"EMERGING_INCIDENT\" AND jsonPayload.impactedProductIds =~ \"ix7u9beT8ivBdjApTif3\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
이슈 업데이트 또는 변경사항에 대한 알림
ALERT_CONDITION를 다음으로 설정합니다.
jsonPayload.detailedCategory = \"CONFIRMED_INCIDENT\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
확인된 이슈의 업데이트에 대한 알림
ALERT_CONDITION를 다음으로 설정합니다.
jsonPayload.state =~ \"ACTIVE\" AND jsonPayload.detailedCategory = \"CONFIRMED_INCIDENT\" AND jsonPayload.detailedState != \"EMERGING\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
상태 또는 관련성 업데이트에 대한 알림
ALERT_CONDITION를 다음으로 설정합니다.
jsonPayload.detailedCategory = \"CONFIRMED_INCIDENT\" AND "labels.servicehealth.googleapis.com/updated_fields" =~ \"'state'\" OR labels."servicehealth.googleapis.com/updated_fields" =~ \"'relevance'\" AND jsonPayload.@type = \"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog\"
전체 이슈 세부정보가 포함된 알림
다음 알림은 전체 이슈 세부정보를 제공합니다.
{
  "displayName": "ALERT_NAME",
  "combiner": "OR",
  "conditions": [ {
    "displayName": "Log match condition",
    "conditionMatchedLog": {
      "filter": "ALERT_CONDITION",
      "labelExtractors": {
        "description": "EXTRACT(jsonPayload.description)",
        "impactedLocations": "EXTRACT(jsonPayload.impactedLocations)",
        "impactedProducts": "EXTRACT(jsonPayload.impactedProducts)",
        "startTime": "EXTRACT(jsonPayload.startTime)",
        "state": "EXTRACT(jsonPayload.state)",
        "detailedState": "EXTRACT(jsonPayload.detailedState)"
      } } } ],
  "documentation": {
  "content": "# View details at [Service Health dashboard](https://console.cloud.google.com/servicehealth/incidentDetails/projects%2F${resource.labels.resource_container}%2Flocations%2F${resource.labels.location}%2Fevents%2F${resource.labels.event_id}?project=${resource.labels.resource_container}) \n## Description \n${log.extracted_label.description} \n## Impacted locations \n${log.extracted_label.impactedLocations} \n## Impacted products \n${log.extracted_label.impactedProducts} \n## Incident start time \n${log.extracted_label.startTime} \n## Event state \n${log.extracted_label.state} \n## Event detailed state \n ${log.extracted_label.detailedState}",
    "mimeType": "text/markdown"
  },
  "notificationChannels": [ "NOTIFICATION_CHANNEL" ],
  "enabled": true,
  "alertStrategy": { "notificationRateLimit": { "period": "300s" }, "autoClose": "1800s" }
}
예시의 labelExtractors 및 content 필드에는 이슈에 사용할 수 있는 모든 정보가 포함됩니다.
Service Health 대시보드 링크가 포함된 알림
다음 예는 서비스 상태 대시보드 링크를 제공합니다.
{
  "displayName": "ALERT_NAME",
  "combiner": "OR",
  "conditions": [ {
    "displayName": "Log match condition",
    "conditionMatchedLog": {
      "filter": "ALERT_CONDITION",
      "labelExtractors": {
        "description": "EXTRACT(jsonPayload.description)",
        "impactedLocations": "EXTRACT(jsonPayload.impactedLocations)",
        "impactedProducts": "EXTRACT(jsonPayload.impactedProducts)",
        "startTime": "EXTRACT(jsonPayload.startTime)",
        "state": "EXTRACT(jsonPayload.state)",
        "detailedState": "EXTRACT(jsonPayload.detailedState)"
      } } } ],
  "documentation": {
  "content": "# View details at [Service Health dashboard](https://console.cloud.google.com/servicehealth/eventDetails/projects%2F${resource.labels.resource_container}%2Flocations%2F${resource.labels.location}%2Fevents%2F${resource.labels.event_id})",
    "mimeType": "text/markdown"
  },
  "notificationChannels": [ "NOTIFICATION_CHANNEL" ],
  "enabled": true,
  "alertStrategy": { "notificationRateLimit": { "period": "300s" }, "autoClose": "1800s" }
}