アラート ポリシーの作成

このページでは、Anthos clusters on VMware(GKE On-Prem)のアラート ポリシーを作成する方法について説明します。

始める前に

アラート ポリシーを作成するには、次の権限が必要です。

  • monitoring.alertPolicies.create
  • monitoring.alertPolicies.delete
  • monitoring.alertPolicies.update

次のいずれかのロールがある場合、これらの権限が付与されます。

  • monitoring.alertPolicyEditor
  • monitoring.editor
  • プロジェクト編集者
  • プロジェクト オーナー

ロールを確認するには、Google Cloud Console の [IAM] ページに移動します。

ポリシーの作成: 管理クラスタ API サーバーの停止

この演習では、管理クラスタの Kubernetes API サーバー用のアラート ポリシーを作成します。このポリシーを設定すると、管理クラスタの API サーバーが停止するたびに通知を受け取るように調整できます。

  1. ポリシー構成ファイル admin-cluster-apiserver-down.json をダウンロードします。

  2. ポリシーを作成するには:

    gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
    

    POLICY_CONFIG は、ダウンロードした構成ファイルのパスに置き換えます。

  3. アラート ポリシーを表示するには:

    Console

    1. Google Cloud Console で、[モニタリング] ページに移動します。

      [モニタリング] に移動

    2. 左側にある [アラート] を選択します。

    3. [Policies] に、アラート ポリシーのリストが表示されます。

      リストで、[GKE on-prem admin cluster API server down (critical)] を選択して、新しいポリシーの詳細を確認します。[Conditions] に、ポリシーの説明が表示されます。例:

      Policy violates when ANY condition is met
      Anthos On-Prem Admin Cluster API Server is up
      Violates when: Any kubernetes.io/anthos/up stream is absent for greater
      than 5 minutes
      

    gcloud

    gcloud alpha monitoring policies list

    出力に、ポリシーの詳細情報が表示されます。例:

    combiner: OR
    conditions:
    – conditionAbsent:
        aggregations:
        - alignmentPeriod: 60s
          crossSeriesReducer: REDUCE_SUM
          groupByFields:
          - resource.label.project_id
          - resource.label.location
          - resource.label.cluster_name
          perSeriesAligner: ALIGN_MEAN
        duration: 300s
        filter: resource.type="k8s_container" AND metric.type="kubernetes.io/anthos/up"
          AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver")
        trigger:
          count: 1
      ...
    displayName: GKE on-prem admin cluster API server down (critical)
    enabled: true
    ...
    name: projects/xxxxxx/alertPolicies/12331540576820203183

アラート ポリシーの追加作成

このセクションでは、推奨される一連のアラート ポリシーの説明と構成ファイルについて説明します。

ポリシーを作成するには、上の演習と同じ手順を行います。

  1. 右側の列のリンクをクリックして、構成ファイルをダウンロードします。

  2. gcloud alpha monitoring policies create を実行してポリシーを作成します。

管理クラスタ コントロール プレーン コンポーネントの可用性

アラート名 説明 Cloud Monitoring でのアラート ポリシーの定義
GKE on-prem admin cluster API server down (critical) 管理クラスタ API サーバーが指標のターゲット検出に表示されなくなりました admin-cluster-apiserver-down.json
GKE on-prem admin cluster scheduler down (critical) 管理クラスタ スケジューラが指標のターゲット検出に表示されなくなりました admin-cluster-scheduler-down.json
GKE on-prem admin cluster controller manager down (critical) 管理クラスタ コントローラ マネージャーが指標のターゲット検出に表示されなくなりました admin-cluster-controller-manager-down.json
GKE on-prem admin cluster etcd down (critical) 管理クラスタ etcd が、指標のターゲット検出に表示されなくなりました admin-cluster-etcd-down.json

ユーザー クラスタ コントロール プレーン コンポーネントの可用性

ユーザー クラスタのコントロール プレーンのアラートは、指標に基づいて作成されます。クラスタ指標のほとんどで、cluster_name フィールドは、クラスタの名前になります。ただし、ユーザー クラスタ コントロール プレーンの指標では、cluster_name フィールドは管理クラスタの名前で、namespace_name フィールドがユーザー クラスタの名前になります。

これは、コントロール プレーンのステータス ダッシュボードを作成するのスクリーンショットで確認できます。

アラート名 説明 Cloud Monitoring でのアラート ポリシーの定義
GKE on-prem user cluster API server down (critical) ユーザー クラスタ API サーバーが指標のターゲット検出に表示されなくなりました user-cluster-apiserver-down.json
GKE on-prem user cluster scheduler down (critical) ユーザー クラスタ スケジューラが指標のターゲット検出に表示されなくなりました user-cluster-scheduler-down.json
GKE on-prem user cluster controller manager down (critical) ユーザー クラスタ コントローラ マネージャーが指標のターゲット検出に表示されなくなりました user-cluster-controller-manager-down.json
GKE on-prem user cluster etcd down (critical) ユーザー クラスタ etcd が、指標のターゲット検出に表示されなくなりました user-cluster-etcd-down.json

Kubernetes システム

アラート名 説明 Cloud Monitoring でのアラート ポリシーの定義
GKE on-prem pod crash looping (critical) Pod がクラッシュ ループ状態です pod-crash-looping.json
GKE on-prem pod not ready for more than one hour (critical) Pod の準備ができていない状態が 1 時間以上続いています pod-not-ready-1h.json
GKE on-prem persistent volume high usage (critical) 指定された永続ボリュームはあと少しでいっぱいになります persistent-volume-usage-high.json
GKE on-prem node not ready for more than one hour (critical) ノードの準備ができていない状態が 1 時間以上続いています node-not-ready-1h.json

Kubernetes パフォーマンス

アラート名 説明 Cloud Monitoring でのアラート ポリシーの定義
GKE on-prem admin cluster API server error count ratio exceeds 10 percent (critical) 管理クラスタ API サーバーが、リクエストの 10% 超にエラーを返しています admin-cluster-apiserver-error-ratio-10-percent.json
GKE on-prem admin cluster API server error count ratio exceeds 5 percent (warning) 管理クラスタ API サーバーが、リクエストの 5% 超にエラーを返しています admin-cluster-apiserver-error-ratio-5-percent.json
GKE on-prem user cluster API server error count ratio exceeds 10 percent (critical) ユーザー クラスタ API サーバーが、リクエストの 10% 超にエラーを返しています user-cluster-apiserver-error-ratio-10-percent.json
GKE on-prem user cluster API server error count ratio exceeds 5 percent (warning) ユーザー クラスタ API サーバーが、リクエストの 5% 超にエラーを返しています user-cluster-apiserver-error-ratio-5-percent.json

通知の取得

アラート ポリシーを作成すると、ポリシーに 1 つ以上の通知チャンネルを定義できます。通知チャンネルには、複数の種類があります。たとえば、メール、Slack チャンネル、モバイルアプリから通知を受け取れます。チャンネルは、ニーズに合わせて選択できます。

通知チャンネルを構成する方法については、通知チャンネルの管理をご覧ください。