알림 채널은 구성된 알림의 전송 메커니즘입니다.
이벤트로 인해 알림이 트리거되면 시스템에서 이러한 채널을 통해 지정된 수신자에게 알림을 전송합니다. 이 프로세스를 통해 중요한 알림이 선호하는 커뮤니케이션 방법을 통해 적절한 담당자에게 전달됩니다.
Google Distributed Cloud (GDC) 에어 갭 환경에서는 Slack 또는 이메일과 같은 사전 정의된 알림 채널을 사용할 수 없습니다. 알림을 받으려면 맞춤 알림 채널을 하나 이상 구성해야 합니다. 프로젝트 네임스페이스에서 ObservabilityPipeline 커스텀 리소스를 수정하여 채널 구성을 적용합니다.
알림 채널을 맞춤설정하면 관리자는 다음을 수행할 수 있습니다.
특정 수신자 타겟팅: 문제를 해결할 책임이 있는 개인, 팀 또는 당직 교대 근무자에게 알림을 보냅니다.
선호하는 커뮤니케이션 방법 사용: SMS, PagerDuty, 웹훅, 맞춤 통합과 같은 채널을 통해 알림을 전송하여 개별 환경설정 및 운영 워크플로를 충족합니다.
알림으로 인한 피로 방지: 소음을 줄이고 조치를 취해야 하는 사용자에게 알림이 전송되도록 합니다.
GDC에서 알림 채널을 구현하려면 관리자가 시스템 내에서 채널 구성을 정의해야 합니다. 이 프로세스에는 일반적으로 다음과 같은 매개변수를 지정하는 작업이 포함됩니다.
채널 유형: 사용 중인 채널의 유형입니다.
대상: 시스템이 알림을 전송해야 하는 엔드포인트입니다.
인증: 대상에 액세스하는 데 필요한 사용자 인증 정보입니다.
알림 채널을 구성하면 관리자가 모니터링 플랫폼에서 중요한 알림을 효과적으로 전달하여 잠재적 문제에 신속하게 대응하고 GDC 환경의 안정성과 성능을 유지할 수 있습니다.
시작하기 전에
ObservabilityPipeline 커스텀 리소스를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 연결된 ObservabilityPipeline 역할 중 하나를 부여해 달라고 요청하세요.
또한 구성 규칙을 정의하는 데 필요한 프로젝트 네임스페이스에서 ConfigMap 객체를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자 또는 프로젝트 IAM 관리자에게 ConfigMap 생성자 역할을 부여해 달라고 요청하세요.
필요한 액세스 수준 및 권한에 따라 조직 또는 프로젝트에서 이러한 리소스에 대한 생성자, 편집자 또는 뷰어 역할을 획득할 수 있습니다. 자세한 내용은 IAM 권한 준비를 참고하세요.
알림 채널 구성
프로젝트 네임스페이스의 알림 채널을 구성합니다.
alertmanager.yml이라는 YAML 파일에서 알림 채널의 맞춤 구성을 정의합니다. Alertmanager 사양과 동일한 구문을 따라야 합니다.
ConfigMap 객체를 만들고 alertmanager.yml 파일의 맞춤 구성을 data 필드에 포함합니다.
다음 예에서는 alertmanager.yml 파일이 있는 ConfigMap 객체의 모양을 보여줍니다.
apiVersion:v1kind:ConfigMapmetadata:name:CONFIGMAP_NAME# The namespace must match your project namespace.namespace:PROJECT_NAMESPACEdata:# The file name must be alertmanager.ymlalertmanager.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: 프로젝트 네임스페이스
구성된 알림과 동일한 네임스페이스 내의 관리 API 서버에 ConfigMap 객체를 적용합니다.
ObservabilityPipeline 커스텀 리소스 사양을 수정하여 alertmanagerConfig 필드로 구성을 가져옵니다.
# Configure the observability pipeline.apiVersion:observability.gdc.goog/v1kind:ObservabilityPipelinemetadata:# The namespace must match your project namespace.namespace:PROJECT_NAMESPACEname:OBSERVABILITY_PIPELINE_NAMEspec:# Configure alerts.alerting:# The alerting configuration must be in the ConfigMap.# The value must match the ConfigMap name exactly.alertmanagerConfig:CONFIGMAP_NAME[...]
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThis guide outlines how to configure custom notification channels in Google Distributed Cloud (GDC) air-gapped environments, where predefined channels like Slack or email are not available.\u003c/p\u003e\n"],["\u003cp\u003eCustom notification channels allow for alerts to be delivered to specific recipients via preferred methods such as SMS, PagerDuty, or webhooks, helping to target the correct personnel and avoid alert fatigue.\u003c/p\u003e\n"],["\u003cp\u003eConfiguration requires creating a \u003ccode\u003eConfigMap\u003c/code\u003e object with an \u003ccode\u003ealertmanager.yml\u003c/code\u003e file defining the custom notification channels, adhering to the Alertmanager specification.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eObservabilityPipeline\u003c/code\u003e custom resource must be edited to import the \u003ccode\u003eConfigMap\u003c/code\u003e's configuration to the \u003ccode\u003ealertmanagerConfig\u003c/code\u003e field, enabling the use of defined channels for alerts.\u003c/p\u003e\n"],["\u003cp\u003eBefore setting up notification channels, ensure alert rules are already created within your project namespace, and that you have the correct IAM permissions to manage \u003ccode\u003eObservabilityPipeline\u003c/code\u003e and \u003ccode\u003eConfigMap\u003c/code\u003e objects.\u003c/p\u003e\n"]]],[],null,["# Configure notification channels for alerts\n\nThis page outlines the process for configuring notification channels to receive\nalerts.\n\nNotification channels are the delivery mechanisms for your configured alerts.\nThe system notifies designated recipients through these channels when an event\ntriggers an alert. This process ensures that critical alerts reach the\nappropriate personnel through their preferred communication methods.\n\nIn Google Distributed Cloud (GDC) air-gapped environments, predefined notification channels\nlike Slack or email are unavailable. To receive alerts, you must configure at\nleast one custom notification channel. You edit `ObservabilityPipeline` custom\nresources in your project namespace to apply channel configurations.\n\nBy customizing notification channels, administrators can achieve the following:\n\n- **Target specific recipients**: Direct alerts to individuals, teams, or on-call rotations responsible for addressing issues.\n- **Use preferred communication methods**: Deliver alerts through channels like SMS, PagerDuty, webhooks, or custom integrations, catering to individual preferences and operational workflows.\n- **Prevent alert fatigue**: Reduce noise and ensure that alerts are received by those who need to take action.\n\nImplementing notification channels in GDC requires\nadministrators to define the channel configuration within the system. This\nprocess typically involves specifying parameters like:\n\n- **Channel type**: the type of channel being used.\n- **Destination**: the endpoint where the system should send notifications.\n- **Authentication**: any required credentials for accessing the destination.\n\nBy configuring notification channels, administrators can ensure that the\nmonitoring platform effectively delivers critical alerts, enabling prompt\nresponses to potential issues and maintaining the stability and performance of\nGDC environments.\n\nBefore you begin\n----------------\n\nTo get the permissions that you need to manage `ObservabilityPipeline` custom\nresources, ask your Organization IAM Admin or Project IAM Admin to grant you one\nof the associated `ObservabilityPipeline` roles.\n\nAdditionally, to get the permissions that you need to manage `ConfigMap` objects\nin your project namespace required to define configuration rules, ask your\nOrganization IAM Admin or Project IAM Admin to grant you the ConfigMap Creator\nrole.\n\nDepending on the level of access and permissions you need, you might obtain\ncreator, editor, or viewer roles for these resources in an organization or a\nproject. For more information, see [Prepare IAM permissions](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/obs-iam-permissions).\n\nConfigure notification channels\n-------------------------------\n\n| **Important:** Before configuring notification channels, ensure you have created alert rules in your project namespace. For more information, see [Create alert rules](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/create-alert-rules).\n\nConfigure notification channels for alerts in your project namespace:\n\n1. Define your custom configuration for notification channels in a YAML file\n named `alertmanager.yml`. You must follow the same syntax as the\n Alertmanager specification:\n\n \u003chttps://prometheus.io/docs/alerting/latest/configuration/\u003e.\n2. Create a `ConfigMap` object and include your custom configuration from the\n `alertmanager.yml` file in the `data` field.\n\n The following example shows how the `ConfigMap` object must look with the\n `alertmanager.yml` file: \n\n apiVersion: v1\n kind: ConfigMap\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCONFIGMAP_NAME\u003c/span\u003e\u003c/var\u003e\n # The namespace must match your project namespace.\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAMESPACE\u003c/span\u003e\u003c/var\u003e\n data:\n # The file name must be alertmanager.yml\n alertmanager.yml: |\n # Define your notification channels.\n # Add the custom configuration in the following lines of this file.\n # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration\n\n [...]\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCONFIGMAP_NAME\u003c/var\u003e: the name of the `ConfigMap` definition file. You use this name later in the `ObservabilityPipeline` custom resource.\n - \u003cvar translate=\"no\"\u003ePROJECT_NAMESPACE\u003c/var\u003e: your project namespace.\n3. Apply the `ConfigMap` object to the Management API server within the\n same namespace as your configured alerts:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e apply -f \u003cvar translate=\"no\"\u003eCONFIGMAP_NAME\u003c/var\u003e.yaml\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e: the path to the kubeconfig file for the Management API server.\n - \u003cvar translate=\"no\"\u003eCONFIGMAP_NAME\u003c/var\u003e: the name of the `ConfigMap` definition file.\n4. Edit the `ObservabilityPipeline` custom resource specification to import\n your configuration to the `alertmanagerConfig` field:\n\n # Configure the observability pipeline.\n apiVersion: observability.gdc.goog/v1\n kind: ObservabilityPipeline\n metadata:\n # The namespace must match your project namespace.\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAMESPACE\u003c/span\u003e\u003c/var\u003e\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eOBSERVABILITY_PIPELINE_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n # Configure alerts.\n alerting:\n # The alerting configuration must be in the ConfigMap.\n # The value must match the ConfigMap name exactly.\n alertmanagerConfig: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCONFIGMAP_NAME\u003c/span\u003e\u003c/var\u003e\n\n [...]\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePROJECT_NAMESPACE\u003c/var\u003e: your project namespace.\n - \u003cvar translate=\"no\"\u003eOBSERVABILITY_PIPELINE_NAME\u003c/var\u003e: the name of the `ObservabilityPipeline` custom resource.\n - \u003cvar translate=\"no\"\u003eCONFIGMAP_NAME\u003c/var\u003e: the name you used for the `ConfigMap` definition file. The name must match exactly.\n\n | **Note:** In the `alerting` field of the `ObservabilityPipeline` custom resource, you can also define other configurations for the project namespace such as volumes (`volumes`) and volume mounts (`volumeMounts`). You reference volume mount names in the `alertmanager.yml` file.\n5. Save the file.\n\n6. Apply the changes of the `ObservabilityPipeline` custom resource to the\n Management API server within the same namespace as your configured alerts:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e apply -f \u003cvar translate=\"no\"\u003eOBSERVABILITY_PIPELINE_NAME\u003c/var\u003e.yaml\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e: the path to the kubeconfig file for the Management API server.\n - \u003cvar translate=\"no\"\u003eOBSERVABILITY_PIPELINE_NAME\u003c/var\u003e: the name of the `ObservabilityPipeline` definition file."]]