このページでは、アラートを受信するように通知チャンネルを構成するプロセスの概要について説明します。
通知チャンネルは、構成されたアラートの配信メカニズムです。イベントによってアラートがトリガーされると、システムはこれらのチャネルを通じて指定された受信者に通知します。このプロセスにより、重要なアラートが、適切な担当者に、その担当者が希望する通信方法で届くようになります。
Google Distributed Cloud(GDC)エアギャップ環境では、Slack やメールなどの事前定義された通知チャンネルは使用できません。アラートを受信するには、少なくとも 1 つのカスタム通知チャネルを構成する必要があります。プロジェクトの名前空間で ObservabilityPipeline カスタム リソースを編集して、チャネル構成を適用します。
通知チャンネルをカスタマイズすることで、管理者は次のことを実現できます。
- 特定の受信者をターゲットにする: 問題の解決を担当する個人、チーム、オンコール ローテーションにアラートを送信します。
- 優先する通信方法を使用する: SMS、PagerDuty、Webhook、カスタム統合などのチャネルを介してアラートを配信し、個人の設定や運用ワークフローに対応します。
- アラート疲れを防ぐ: ノイズを減らし、対応が必要なユーザーがアラートを受信できるようにします。
GDC で通知チャンネルを実装するには、管理者がシステム内でチャンネル構成を定義する必要があります。このプロセスでは通常、次のようなパラメータを指定します。
- チャネルタイプ: 使用されているチャネルのタイプ。
- 宛先: システムが通知を送信するエンドポイント。
- 認証: 宛先にアクセスするために必要な認証情報。
通知チャンネルを構成することで、管理者はモニタリング プラットフォームが重要なアラートを効果的に配信できるようにし、潜在的な問題に迅速に対応して、GDC 環境の安定性とパフォーマンスを維持できます。
始める前に
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-editor): プロジェクトの名前空間でObservabilityPipelineカスタム リソースを編集または変更します。 - ObservabilityPipeline 閲覧者(
observabilitypipeline-viewer): プロジェクトの名前空間内のObservabilityPipelineカスタム リソースを表示します。
通知チャンネルを構成する
プロジェクトの名前空間でアラートの通知チャンネルを構成します。
alertmanager.ymlという名前の YAML ファイルで、通知チャンネルのカスタム構成を定義します。Alertmanager の仕様と同じ構文を使用する必要があります。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: プロジェクトの名前空間。
構成したアラートと同じ 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定義ファイルに使用した名前。名前が完全に一致している必要があります。
ファイルを保存します。
構成したアラートと同じ名前空間内の Management API サーバーに、
ObservabilityPipelineカスタム リソースの変更を適用します。kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml次のように置き換えます。
KUBECONFIG_PATH: Management API サーバーの kubeconfig ファイルへのパス。OBSERVABILITY_PIPELINE_NAME:ObservabilityPipeline定義ファイルの名前。