このドキュメントでは、Google Cloud Managed Service for Prometheus を使用して etcd エクスポータから指標を収集できるように、Google Kubernetes Engine の Deployment を構成する方法について説明します。このドキュメントでは、次の方法について説明します。
- etcd エクスポータを設定して指標を報告します。
- エクスポートされた指標を収集するために、Managed Service for Prometheus の PodMonitoring リソースを構成する。
- Cloud Monitoring のダッシュボードにアクセスして指標を表示する。
- 指標をモニタリングするようにアラートルールを構成する。
以下の手順は、Managed Service for Prometheus でマネージド コレクションを使用している場合にのみ適用されます。セルフデプロイ コレクションを使用している場合は、etcd のドキュメントでインストール情報をご覧ください。
以下の手順は一例であり、ほとんどの Kubernetes 環境で機能します。セキュリティ ポリシーや組織のポリシーの制限により、アプリケーションやエクスポータのインストールに問題がある場合は、オープンソース ドキュメントでサポート情報を確認することをおすすめします。
etcd の詳細については、etcd をご覧ください。
前提条件
Managed Service for Prometheus とマネージド コレクションを使用して etcd エクスポータから指標を収集するには、Deployment が次の要件を満たしている必要があります。
- クラスタで Google Kubernetes Engine バージョン 1.21.4-gke.300 以降を実行している必要があります。
- マネージド コレクションを有効にして、Managed Service for Prometheus を実行する必要があります。詳細については、マネージド コレクションを使ってみるをご覧ください。
次のコマンドを使用してポート転送を設定します。
kubectl -n NAMESPACE_NAME port-forward POD_NAME 2379
別のターミナル セッションでブラウザまたは
curl
ユーティリティを使用して、localhost:2379/metrics
エンドポイントにアクセスします。
PodMonitoring リソースを定義する
ターゲット ディスカバリの場合、Managed Service for Prometheus Operator には、同じ Namespace 内の etcd エクスポータに対応する PodMonitoring リソースが必要です。
次の PodMonitoring 構成を使用できます。
port
フィールドと matchLabels
フィールドの値がモニタリング対象の etcd Pod の値と一致することを確認します。この helm チャートを使用して etcd をデプロイすると、ラベル app.kubernetes.io/name: etcd
と client
ポートが含まれます。構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform を使用して構成を管理することもできます。
ルールとアラートを定義する
次の Rules
構成を使用して、etcd 指標に関するアラートを定義できます。
構成の変更内容をローカル ファイルから適用するには、次のコマンドを実行します。
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Terraform を使用して構成を管理することもできます。
ルールをクラスタに適用する方法については、マネージド ルールの評価とアラートをご覧ください。
アラートのしきい値は、アプリケーションに合わせて調整できます。構成を確認する
Metrics Explorer を使用すると、etcd エクスポータが正しく構成されていることを確認できます。Cloud Monitoring が指標を取り込むまでに 1~2 分かかる場合があります。
指標が取り込まれていることを確認します。
-
Google Cloud コンソールで、[leaderboardMetrics Explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- クエリビルダー ペインのツールバーで、[codeMQL] または [codePROMQL] という名前のボタンを選択します。
- [言語] で [PromQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定と同じツールバーにあります。
- 次のクエリを入力して実行します。
up{job="etcd", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
ダッシュボードを表示する
Cloud Monitoring インテグレーションには、etcd Prometheus の概要ダッシュボードが含まれています。ダッシュボードは、インテグレーションを構成すると自動的にインストールされます。インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。
インストールされているダッシュボードを表示する手順は次のとおりです。
-
Google Cloud コンソールで [ダッシュボード] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [ダッシュボード リスト] タブを選択します。
- [統合] カテゴリを選択します。
- ダッシュボードの名前(etcd Prometheus Overview など)をクリックします。
ダッシュボードの静的プレビューを表示する手順は次のとおりです。
-
Google Cloud コンソールで [インテグレーション] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [デプロイメント プラットフォーム] フィルタの [Kubernetes Engine] をクリックします。
- etcd インテグレーションを見つけ、[詳細を表示] をクリックします。
- [ダッシュボード] タブを選択します。
トラブルシューティング
指標の取り込みに関する問題のトラブルシューティングについては、取り込み側の問題のトラブルシューティングのエクスポータからの収集に関する問題をご覧ください。