第9章 ブローカーの監視
デプロイメント内のブローカーのランタイムデータを監視するには、次のいずれかの方法を使用します。
一般的にに、Prometheus を使用することが推奨されるアプローチです。ただし、監視する必要があるメトリックが Prometheus プラグインによってエクスポートされない場合は、Jolokia REST インターフェイスを JMX に使用することを選択できます。Prometheus プラグインがエクスポートするブローカーランタイムメトリックの詳細については 「ブローカーメトリックの概要」 を参照してください。
9.1. Prometheus を使用したブローカーのランタイムメトリックの監視
以下のセクションでは、OpenShift Container Platform で AMQ Broker の Prometheus メトリクスプラグインを設定する方法について説明します。プラグインを使用して、ブローカーのランタイムメトリックを監視および保存できます。Grafana などのグラフィカルツールを使用して、Prometheus プラグインが収集するデータをさらに詳細にわたり視覚化する設定や、ダッシュボードの設定も行うことができます。
Prometheus メトリクスプラグインを使用すると、ブローカーメトリクスを Prometheus形式で収集およびエクスポートできます。ただし、Red Hat では、Prometheus 自体のインストールや設定、または Grafana などの視覚化ツールは、サポートしていません。Prometheus または Grafana のインストール、設定、または実行に関するサポートが必要な場合は、製品の Web サイトにアクセスして、コミュニティーのサポートやドキュメントなどのリソースを入手してください。
9.1.1. ブローカーメトリックの概要
AMQ Broker の Prometheus プラグインを使用し、ブローカーのランタイムメトリックを監視および保存して、ブローカーインスタンスの正常性とパフォーマンスを監視できます。AMQ Broker Prometheus プラグインは、ブローカーのランタイムメトリックを Prometheus 形式にエクスポートし、Prometheus 自体を使用してデータのクエリーを視覚化および実行できるようにします。
Grafana などのグラフィカルツールを使用して、Prometheus プラグインが収集するメトリクスをさらに詳細にわたり視覚化する設定や、ダッシュボードの設定も行うことができます。
プラグインが Prometheus 形式にエクスポートするメトリクスを以下に説明します。各メトリックの説明は、メトリック自体と合わせてエクスポートされます。
ブローカーメトリクス
-
address.memory.usage
-
connection.count
-
total.connection.count
アドレスメトリクス
-
routed.message.count
-
unrouted.message.count
キューメトリクス
-
consumer.count
-
delivering.durable.message.count
-
delivering.durable.persistent.size
-
delivering.message.count
-
delivering.persistent.size
-
durable.message.count
-
durable.persistent.size
-
messages.acknowledged
-
messages.added
-
message.count
-
messages.killed
-
messages.expired
-
persistent.size
-
scheduled.durable.message.count
-
scheduled.durable.persistent.size
-
scheduled.message.count
-
scheduled.persistent.size
上記にリストされていない上位レベルのブローカーメトリクスについては、下位レベルのメトリクスを集計することで算出できます。たとえば、メッセージの合計数を算出するには、ブローカーデプロイメントのすべてのキューから message.count
メトリクスを集約できます。
Java 仮想マシン (JVM) メトリックも Prometheus 形式にエクスポートされます。
9.1.2. 実行中のブローカーデプロイメントの Prometheus プラグインの有効化
この手順では、指定のデプロイメントでブローカー Pod の Prometheus プラグインを有効にする方法を説明します。
前提条件
- アプリケーションテンプレートまたは AMQ Broker Operator で作成されたブローカー Pod の Prometheus プラグインを有効にしてください。ただし、デプロイされたブローカーは、AMQ Broker 7.5 以降のブローカーコンテナーイメージを使用する必要があります。ブローカーのデプロイメントで最新のブローカーコンテナーイメージが使用されることを確認する方法は、8章テンプレートベースのブローカーデプロイメントのアップロード を参照してください。
手順
- ブローカーのデプロイメントなどのプロジェクトに対する管理者権限で、OpenShift Container Platform Web コンソールにログインします。
- Web コンソールで、Home → Projects (OpenShift Container Platform 4.1 以降) または左上隅 (OpenShift Container Platform 3.11) のドロップダウンリストをクリックします。ブローカーのデプロイメントが含まれるプロジェクトを選択します。
プロジェクトで StatefulSets または DeploymentConfigs を表示するには、以下を実行します。
- Workloads → StatefulSets または Workloads → DeploymentConfigs (OpenShift Container Platform 4.1 以降)。
- Applications → StatefulSets または Applications → Deployments (OpenShift Container Platform 3.11).
- ブローカーのデプロイメントに対応する StatefulSet または DeploymentConfig をクリックします。
- ブローカーデプロイメントの環境変数にアクセスするには、環境 タブをクリックします。
新しい環境変数
AMQ_ENABLE_METRICS_PLUGIN
を追加します。変数の値をtrue
に設定します。AMQ_ENABLE_METRICS_PLUGIN
環境変数を設定すると、OpenShift は StatefulSet または DeploymentConfig で各ブローカー Pod を再起動します。デプロイメントに複数の Pod がある場合、OpenShift は各 Pod を順番に再起動します。各ブローカー Pod が再起動すると、そのブローカーの Prometheus プラグインがブローカーのランタイムメトリックの収集を開始します。
AMQ_ENABLE_METRICS_PLUGIN
環境変数はデフォルトで AMQ Broker 7.5 以降のアプリケーションテンプレートに含まれています。新しい テンプレートベースのデプロイメントで各ブローカーのプラグインを有効にするには、アプリケーションテンプレートのデプロイ時に AMQ_ENABLE_METRICS_PLUGIN
の値が true
に設定されていることを確認します。
関連情報
- 最新のアプリケーションテンプレートのインストールに関する詳細は、「イメージストリームおよびアプリケーションテンプレートのインストール」 を参照してください。
9.1.3. 実行中のブローカー Pod の Prometheus メトリクスへのアクセス
以下の手順では、実行中のブローカー Pod の Prometheus メトリクスにアクセスする方法を説明します。
前提条件
- ブローカー Pod の Prometheus プラグインを有効にしておく必要があります。「実行中のブローカーデプロイメントの Prometheus プラグインの有効化」 を参照してください。
手順
メトリクスのアクセス先のブローカー Pod では、以前に Pod への接続用に作成したルートを特定して、AMQ Broker 管理コンソールに接続する必要があります。メトリクスへのアクセスに必要な URL の一部に、ルート名が含まれます。
- Networking → Routes (OpenShift Container Platform 4.1 以降) または Applications → Routes (OpenShift Container Platform 3.11) をクリックします。
選択したブローカー Pod で、AMQ Broker 管理コンソールへの Pod の接続用に作成されたルートを特定します。ホスト名に表示される完全な URL をメモします。以下に例を示します。
http://rte-console-access-pod1.openshiftdomain
Prometheus メトリクスにアクセスするには、Web ブラウザーで、先程メモをしたルート名に
/ metrics
が付けて入力します。以下に例を示します。http://rte-console-access-pod1.openshiftdomain/metrics
コンソール設定で SSL を使用しない場合は、URL に http
を指定してください。この場合、ホスト名の DNS が解決されて、トラフィックは OpenShift ルーターのポート 80 に転送されます。コンソール設定で SSL を使用する場合は、URL に https
を指定します。この場合、ブラウザーはデフォルトで OpenShift ルーターのポート 443 になります。この設定により、OpenShift ルーターが SSL トラフィックにポート 443 も使用する場合には、コンソールに正常に接続できます (これは、ルーターのデフォルト設定)。