Google Distributed Cloud (GDC) 에어 갭을 사용하면 커스텀 알림 채널을 구성하여 트리거된 알림을 특정 개인, 팀 또는 온콜 순환 근무자에게 라우팅할 수 있습니다. PagerDuty, SMS, 웹훅 또는 커스텀 통합과 같은 채널을 통해 알림을 전송하면 알림 피로를 줄이고 시의적절한 사고 대응을 지원할 수 있습니다.
Slack 또는 이메일과 같은 사전 정의된 알림 채널은 GDC에서 사용할 수 없으므로 알림을 받으려면 커스텀 채널을 하나 이상 구성해야 합니다. Alertmanager ConfigMap 객체에서 채널 유형, 대상 엔드포인트, 사용자 인증 정보를 정의합니다. 그런 다음 해당 구성을 프로젝트 네임스페이스의 ObservabilityPipeline 커스텀 리소스로 가져옵니다.
시작하기 전에
ObservabilityPipeline 커스텀 리소스를 관리하려면 필요한 권한이 있어야 합니다.
IAM 조직 역할 요청
IAM 조직 관리자에게 문의하여 다음 역할을 요청하세요.
- ObservabilityPipeline PA 생성자 (
observabilitypipeline-pa-creator):ObservabilityPipeline커스텀 리소스를 만듭니다. - ObservabilityPipeline PA 편집자 (
observabilitypipeline-pa-editor):ObservabilityPipeline커스텀 리소스를 수정하거나 변경합니다. - ObservabilityPipeline PA 뷰어 (
observabilitypipeline-pa-viewer):ObservabilityPipeline커스텀 리소스를 봅니다. - ConfigMap 편집자 (
observabilitypipeline-configmap-editor): 플랫폼 네임스페이스에ConfigMap객체를 만듭니다.
IAM 프로젝트 역할 요청
IAM 프로젝트 관리자에게 문의하여 다음 역할을 요청하세요.
- ObservabilityPipeline 편집자 (
observabilitypipeline-editor): 프로젝트 네임스페이스에서ObservabilityPipeline커스텀 리소스를 수정합니다. - ObservabilityPipeline 뷰어 (
observabilitypipeline-viewer): 프로젝트 네임스페이스에서ObservabilityPipeline커스텀 리소스를 봅니다.
알림 채널 구성
프로젝트 네임스페이스에서 알림의 알림 채널을 구성합니다.
alertmanager.yml이라는 YAML 파일에서 알림 채널의 커스텀 구성을 정의합니다. Alertmanager 사양과 동일한 문법을 따라야 합니다.ConfigMap객체를 만들고data필드의alertmanager.yml파일에서 커스텀 구성을 포함합니다.다음 예시에서는
alertmanager.yml파일과 함께ConfigMap객체가 어떻게 표시되어야 하는지 보여줍니다.apiVersion: v1 kind: ConfigMap metadata: name: CONFIGMAP_NAME # The namespace must match your project namespace. namespace: PROJECT_NAMESPACE data: # The file name must be alertmanager.yml alertmanager.yml: | # Define your notification channels. # Add the custom configuration in the following lines of this file. # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration # [...]다음을 바꿉니다.
CONFIGMAP_NAME:ConfigMap정의 파일의 이름입니다. 이 이름은 나중에ObservabilityPipeline커스텀 리소스에서 사용합니다.PROJECT_NAMESPACE: 프로젝트 네임스페이스입니다.
구성된 알림과 동일한 네임스페이스 내에서 Management API 서버에
ConfigMap객체를 적용합니다.kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml다음을 바꿉니다.
KUBECONFIG_PATH: Management API 서버의 kubeconfig 파일 경로CONFIGMAP_NAME:ConfigMap정의 파일의 이름입니다.
ObservabilityPipeline커스텀 리소스 사양을 수정하여 구성을alertmanagerConfig필드로 가져옵니다.# Configure the observability pipeline. apiVersion: observability.gdc.goog/v1 kind: ObservabilityPipeline metadata: # The namespace must match your project namespace. namespace: PROJECT_NAMESPACE name: OBSERVABILITY_PIPELINE_NAME spec: # Configure alerts. alerting: # The alerting configuration must be in the ConfigMap. # The value must match the ConfigMap name exactly. alertmanagerConfig: CONFIGMAP_NAME # [...]다음을 바꿉니다.
PROJECT_NAMESPACE: 프로젝트 네임스페이스입니다.OBSERVABILITY_PIPELINE_NAME:ObservabilityPipeline커스텀 리소스의 이름입니다.CONFIGMAP_NAME:ConfigMap정의 파일에 사용한 이름입니다. 이름은 정확하게 일치해야 합니다.
파일을 저장합니다.
구성된 알림과 동일한 네임스페이스 내에서
ObservabilityPipeline커스텀 리소스의 변경사항을 Management API 서버에 적용합니다.kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml다음을 바꿉니다.
KUBECONFIG_PATH: Management API 서버의 kubeconfig 파일 경로OBSERVABILITY_PIPELINE_NAME:ObservabilityPipeline정의 파일의 이름입니다.