알림의 알림 채널 구성

이 페이지에서는 알림을 수신하도록 알림 채널을 구성하는 프로세스를 간략하게 설명합니다.

알림 채널은 구성된 알림의 전송 메커니즘입니다. 이벤트로 인해 알림이 트리거되면 시스템에서 이러한 채널을 통해 지정된 수신자에게 알림을 전송합니다. 이 프로세스를 통해 중요한 알림이 선호하는 커뮤니케이션 방법을 통해 적절한 담당자에게 전달됩니다.

Google Distributed Cloud (GDC) 에어 갭 환경에서는 Slack 또는 이메일과 같은 사전 정의된 알림 채널을 사용할 수 없습니다. 알림을 받으려면 맞춤 알림 채널을 하나 이상 구성해야 합니다. 프로젝트 네임스페이스에서 ObservabilityPipeline 커스텀 리소스를 수정하여 채널 구성을 적용합니다.

알림 채널을 맞춤설정하면 관리자는 다음을 수행할 수 있습니다.

  • 특정 수신자 타겟팅: 문제를 해결할 책임이 있는 개인, 팀 또는 당직 교대 근무자에게 알림을 보냅니다.
  • 선호하는 커뮤니케이션 방법 사용: SMS, PagerDuty, 웹훅, 맞춤 통합과 같은 채널을 통해 알림을 전송하여 개별 환경설정 및 운영 워크플로를 충족합니다.
  • 알림으로 인한 피로 방지: 소음을 줄이고 조치를 취해야 하는 사용자에게 알림이 전송되도록 합니다.

GDC에서 알림 채널을 구현하려면 관리자가 시스템 내에서 채널 구성을 정의해야 합니다. 이 프로세스에는 일반적으로 다음과 같은 매개변수를 지정하는 작업이 포함됩니다.

  • 채널 유형: 사용 중인 채널의 유형입니다.
  • 대상: 시스템이 알림을 전송해야 하는 엔드포인트입니다.
  • 인증: 대상에 액세스하는 데 필요한 사용자 인증 정보입니다.

알림 채널을 구성하면 관리자가 모니터링 플랫폼에서 중요한 알림을 효과적으로 전달하여 잠재적 문제에 신속하게 대응하고 GDC 환경의 안정성과 성능을 유지할 수 있습니다.

시작하기 전에

ObservabilityPipeline 커스텀 리소스를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 연결된 ObservabilityPipeline 역할 중 하나를 부여해 달라고 요청하세요.

또한 구성 규칙을 정의하는 데 필요한 프로젝트 네임스페이스에서 ConfigMap 객체를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 ConfigMap 생성자 역할을 부여해 달라고 요청하세요.

필요한 액세스 수준 및 권한에 따라 조직 또는 프로젝트에서 이러한 리소스에 대한 생성자, 편집자 또는 뷰어 역할을 획득할 수 있습니다. 자세한 내용은 IAM 권한 준비를 참고하세요.

알림 채널 구성

프로젝트 네임스페이스의 알림 채널을 구성합니다.

  1. alertmanager.yml이라는 YAML 파일에서 알림 채널의 맞춤 구성을 정의합니다. Alertmanager 사양과 동일한 구문을 따라야 합니다.

    https://prometheus.io/docs/alerting/latest/configuration/.

  2. ConfigMap 객체를 만들고 alertmanager.yml 파일의 맞춤 구성을 data 필드에 포함합니다.

    다음 예에서는 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: 프로젝트 네임스페이스
  3. 구성된 알림과 동일한 네임스페이스 내의 관리 API 서버에 ConfigMap 객체를 적용합니다.

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    다음을 바꿉니다.

    • KUBECONFIG_PATH: 관리 API 서버의 kubeconfig 파일 경로입니다.
    • CONFIGMAP_NAME: ConfigMap 정의 파일의 이름입니다.
  4. 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 정의 파일에 사용한 이름입니다. 이름은 정확하게 일치해야 합니다.
  5. 파일을 저장합니다.

  6. 구성된 알림과 동일한 네임스페이스 내의 관리 API 서버에 ObservabilityPipeline 커스텀 리소스의 변경사항을 적용합니다.

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    다음을 바꿉니다.

    • KUBECONFIG_PATH: 관리 API 서버의 kubeconfig 파일 경로입니다.
    • OBSERVABILITY_PIPELINE_NAME: ObservabilityPipeline 정의 파일의 이름입니다.