アラートを収集して配信するために、管理クラスタに Alertmanager がインストールされています。定義済みのアラートルールについては、事前定義されたアラート ポリシーをご覧ください。
通知チャンネルを構成する
kube-system
名前空間でlogmon: system_metrics
ラベルを使用してアラート マネージャー構成で configmap を作成します。アラート マネージャーの構成は、アラート マネージャーの構成ルールと同じ構文であり、data
フィールドの下のalertmanager.yml
に追加する必要があります。サンプル構成ファイルをご覧ください。Alertmanager 構成でAlertmanager の構成に従って、通知チャンネルを定義します。
(省略可)Slack Webhook を使用する場合は、Slack Webhook で Webhook の有効化について確認してください。
apiVersion: v1 kind: ConfigMap metadata: # The name should match the configmap name specified in step 3. name: <customized-alertmanager-configmap-name> # Don't change the namespace namespace: kube-system labels: # This label is required. logmon: system_metrics data: # The file name must be alertmanager.yml alertmanager.yml: | # Add the customized alertmanager configuration here
次のコマンドを実行し、コマンドライン エディタで
LogMon
カスタム リソースを開きます。kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
カスタム リソースで、spec/system_metrics/outputs/default_prometheus/deployment/alertmanager
フィールドの下にalertmanagerConfigurationConfigmaps
フィールドを追加します。apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_metrics: outputs: default_prometheus: deployment: components: alertmanager: alertmanagerConfigurationConfigmaps: # The name should match the configmap name created in step 1. - "<customized-alertmanager-configmap-name>"
LogMon
カスタム リソースに対する変更を保存するには、保存してコマンドライン エディタを終了します。
(省略可)アラート ポリシーのカスタマイズ
logmon: system_metrics label
を使用して、kube-system
名前空間で Prometheus ルールを使用して configmap を作成します。Prometheus のルール定義の構文は、Prometheus のアラートルールと Prometheus 記録ルールと同じです。configmap には、複数の Prometheus ルールファイルを含めることができます。サンプル構成ファイルをご覧ください。apiVersion: v1 kind: ConfigMap metadata: # The name should match the configmap name specified in step 3. name: <customized-prometheus-rules-configmap-name> # Don't change the namespace namespace: kube-system labels: # This label is required. logmon: system_metrics data: # The file name must be unique across all customized prometheus rule files. <a-unique-file-name>: | # Add customized recording rules here … # The file name must be unique across all customized prometheus rule files. <a-unique-file-name>: | # Add customized alerting rules here …
次のコマンドを実行し、コマンドライン エディタで
LogMon
カスタム リソースを開きます。kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
LogMon
カスタム リソースで、spec/system_metrics/outputs/default_prometheus/deployment/prometheus
フィールドの下にprometheusRulesConfigmaps
フィールドを追加します。apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_metrics: outputs: default_prometheus: deployment: components: prometheus: prometheusRulesConfigmaps: # The name should match the configmap name created in step 1. - "<customized-prometheus-rules-configmap-name>"
LogMon
カスタム リソースに対する変更を保存するには、保存してコマンドライン エディタを終了します。
アラートの概要ダッシュボード
アラートの概要ダッシュボードは、Monitoring Dashboard で使用できます。
事前定義されたアラート ポリシー
Prometheus にプリインストールされているアラートルールは次のとおりです。
名前 | 説明 |
---|---|
KubeAPIDown(重大) | KubeAPI は Prometheus ターゲットの検出から 15 分間、表示されなくなりました。 |
KubeClientErrors(警告) | Kubernetes API サーバー クライアント エラー率が 0.01 を 15 分間超えました。 |
KubeClientErrors(重大) | Kubernetes API サーバー クライアント エラー率が 0.1 を 15 分間超えました。 |
KubePodCrashLooping(警告) | ポッドがクラッシュ ループ状態のまま 15 分以上経過しています。 |
KubePodNotReady(警告) | ポッドが 15 分以上準備されていない状態です。 |
KubePersistentVolumeFillingUp(重大) | 要求された PersistentVolume のフリーバイトが 0.03 未満です。 |
KubePersistentVolumeFillingUp(警告) | 要求された PersistentVolume のフリーバイトが 0.15 未満です。 |
KubePersistentVolumeError(重大) | 永続ボリュームが 5 分間、失敗または保留フェーズにあります。 |
KubeNodeNotReady(警告) | ノードが 15 分以上準備できていません。 |
KubeNodeCPUUsageHigh(重大) | ノードの CPU 使用率が 80% を超えています。 |
KubeNodeMemoryUsageHigh(重大) | ノードのメモリ使用量が 80% を超えています。 |
NodeFilesystemSpaceFillingUp(警告) | ノードファイル システムの使用量が 60% を超えています。 |
NodeFilesystemSpaceFillingUp(重大) | ノードファイル システムの使用量が 85% を超えています。 |
CertManagerAbsent(重大) | Cert-manager が Prometheus に 10 分間、表示されなくなりました。証明書が適切に作成または更新されていない可能性があります。 |
CertManagerCertExpirySoon(警告) | 証明書の有効期限が 21 日後に切れます。 |
CertManagerCertNotReady(重大) | 10 分後にトラフィックを処理するための証明書が準備ができていません。 |
CertManagerHittingRateLimits(重大) | 5 分間にわたり、証明書の作成 / 更新のレート制限に達しました。 |