문서 템플릿의 변수

이 페이지에서는 알림 정책과 관련된 문서에 사용할 수 있는 변수 및 채널별 컨트롤에 관해 설명합니다.

변수 사용

마크 다운 외에도 ${varname} 형식의 변수를 사용하여 문서의 콘텐츠를 조정할 수 있습니다. 문서가 알림과 함께 전송되면 ${varname} 문자열이 varname 값으로 바뀝니다. 다음 스크린샷은 알림 정책에 지정된 문서 템플릿으로 생성된, 이메일 알림에 포함된 문서를 보여줍니다.

이메일에 포함된 문서

알림 정책의 문서 템플릿을 만드는 방법에 대한 자세한 내용은 알림에 포함할 문서 지정 단계를 참조하세요.

문서 필드에 사용할 수 있는 변수는 다음과 같습니다.

변수
condition.name 조건의 REST 리소스 이름(예:
)projects/foo/alertPolicies/1234/conditions/5678
condition.display_name 조건의 표시 이름(예: CPU usage increasing rapidly)
metadata.system_label.KEY 시스템 제공 리소스 메타데이터 라벨 KEY의 값입니다.1
metadata.user_label.KEY 사용자 정의 리소스 메타데이터 라벨 KEY의 값입니다.1,4
metric.type 측정항목 유형(예:
)compute.googleapis.com/instance/cpu/utilization
metric.display_name 측정항목 유형의 표시 이름(예: CPU utilization)
metric.label.KEY

측정항목 라벨 KEY의 값입니다.1
측정항목 유형과 연결된 라벨을 찾으려면 측정항목 목록을 참조하세요.

값은 숫자, 문자, 슬래시(/) 또는 등호(=)의 프리픽스가 붙어야 합니다. 다른 모든 프리픽스는 허용되지 않습니다. 값에 지원되지 않는 프리픽스가 포함된 경우 값이 보고되지 않습니다.

policy.name 정책의 REST 리소스 이름(예: projects/foo/alertPolicies/1234)
policy.display_name 정책의 표시 이름(예: High CPU rate of change)
policy.user_label.KEY 사용자 라벨 KEY의 값입니다.1,2
project 작업공간의 프로젝트 ID(예: a-gcp-project)
resource.type 모니터링 리소스 유형(예: gce_instance)
resource.project 알림 정책 모니터링 리소스의 프로젝트 ID
resource.label.KEY 리소스 라벨 KEY의 값입니다.1,3,4
모니터링 리소스 유형과 연결된 라벨을 찾으려면 리소스 목록을 참조하세요.

1 예를 들어 ${resource.label.zone}zone 라벨 값으로 바뀝니다. 이러한 변수의 값은 그룹화될 수 있습니다. 자세한 내용은 null을 참조하세요.
2 정책의 사용자 라벨은 Monitoring API를 통해서만 설정할 수 있습니다.
3 알림 정책에서 모니터링 리소스의 project_id 라벨 값을 검색하려면 ${resource.project}를 사용합니다.
4 resource.label.KEY.를 사용하여 사용자 정의 리소스 메타데이터 라벨에 액세스할 수 없습니다. 대신 metadata.user_label.KEY를 사용하세요.

null

metric.*, resource.*, metadata.* 변수의 값은 시계열에서 파생됩니다. 시계열 쿼리에서 반환된 값이 없는 경우 값은 null일 수 있습니다.

  • 알림 정책이 교차 계열 집계(감소)를 사용하는 경우(예를 들어 필터와 일치하는 각 시계열에서 SUM을 계산하는 경우) resource.label.KEYmetric.label.KEY 변수는 null 값을 가질 수 있습니다. 교차 계열 집계를 사용할 때 그룹화에 사용되지 않는 모든 라벨은 탈락하고, 변수 대체에서 참조하는 경우 null 값을 갖습니다. 교차 계열 집계가 없으면 이러한 라벨이 자동으로 유지됩니다.
  • metadata.* 변수의 값은 라벨이 교차 계열 집계의 조건 필터 또는 그룹화에 명시적으로 포함된 경우에만 사용할 수 있습니다. 즉, 템플릿의 값을 갖도록 필터 또는 그룹화에서 메타데이터 라벨을 참조해야 합니다.

기타 사용량 참고사항

  • 표에 나온 변수만 지원됩니다. ${varname1 + varname2}와 같이 더 복잡한 표현식으로 변수를 결합할 수 없습니다.
  • 문서에 리터럴 문자열 ${을 포함하려면 $ 기호를 두 번째 $ 기호로 이스케이프 처리합니다. 그러면 문서에서 $${${로 렌더링됩니다.
  • 이러한 변수는 알림 채널을 통해 전송된 알림에서만 값으로 대체됩니다. Google Cloud Console에서 문서가 표시되면 값이 아닌 변수가 표시됩니다. 콘솔의 예시에는 이슈에 대한 설명과 알림 정책을 만들 때의 문서 미리보기가 포함됩니다.

채널 컨트롤 사용

알림 채널에서 사용하는 특수 문자를 문서 필드의 텍스트에 포함시켜 형식 지정 및 알림을 컨트롤할 수도 있습니다.

예를 들어 Slack에서는 멘션에 @를 사용합니다. 이를 사용해 알림을 특정 사용자에게 연결할 수 있습니다. 이와 같은 문자열을 문서 필드에 포함한다고 가정해 보겠습니다.

<@backendoncall> policy ${policy.display_name} triggered an incident

관련 Slack 채널에서 알림의 일부로 문서 필드를 수신하면 이 줄은 backendoncall 사용자에게 policy High CPU rate of change triggered an incident와 같은 추가 메시지를 트리거합니다.

제공되는 추가 옵션은 채널마다 다릅니다. 사용 가능한 옵션에 대한 자세한 내용은 채널 공급업체가 제공하는 문서를 참조하세요.