Google Distributed Cloud(GDC)エアギャップ アプライアンスを使用すると、カスタム通知チャンネルを構成して、トリガーされたアラートを特定の個人、チーム、またはオンコール ローテーションにルーティングできます。PagerDuty、SMS、Webhook、カスタム統合などのチャネルを介してアラートを配信すると、アラート疲れを軽減し、タイムリーなインシデント対応をサポートできます。
Slack やメールなどの事前定義された通知チャンネルは GDC では使用できないため、アラートを受信するには、少なくとも 1 つのカスタム チャンネルを構成する必要があります。チャンネル タイプ、宛先エンドポイント、認証情報は、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オブジェクトを作成し、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定義ファイルの名前。