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