3.16. Prometheus メトリックの有効化
Prometheus は、スタンドアロン Apache Karaf コンテナーにデプロイされたサービスの監視に使用できる、システムおよびサービスを対象としたオープンソースの監視および警告ツールキットです。Prometheus は、設定されたサービスから一定の間隔でメトリクスを収集および保存します。さらに、ルール式の評価や結果の表示を行い、指定の条件が true になるとアラートをトリガーできます。
Prometheus に対する Red Hat のサポートは、Red Hat 製品ドキュメントに記載されているセットアップと推奨設定に限定されます。
Prometheus は、クライアントにインストールおよび設定された "エクスポーター" を使用して、エンドポイントを Prometheus 形式で公開します。このエンドポイントは、メトリックのリストとメトリックの現在の値を提供する HTTP インターフェイスです。Prometheus は定期的にターゲット定義の各エンドポイントをスクレイピングし、収集したデータをそのデータベースに書き込みます。Prometheus は、現在実行中のセッションだけでなく、長期間にわたってデータを収集します。Prometheus は、データをグラフィカルに可視化してクエリーを実行できるようにデータを格納します。
3.16.1. スタンドアロン Apache Karaf コンテナーからのメトリクスのエクスポートを有効にする
Prometheus は、Camel によって公開されるメトリックが含まれる設定ファイル (https://raw.githubusercontent.com/jboss-fuse/application-templates/master/prometheus/prometheus-config.yml
) を使用します。
識別できるメトリックは、JMX で提供されるメトリックに限定されます。
Apache Camel メトリックを生成するには、Fuse アプリケーションをデプロイする必要があります。
手順
コマンドラインを使用して、スタンドアロン Apache Karaf コンテナーから Prometheus メトリックのエクスポートを有効にするには、以下を実行します。
-
コマンドプロンプトを開き、現在の場所が Apache Karaf インストールの
etc/
ディレクトリーであることを確認します。 以下のコマンドを入力して、
etc/
ディレクトリーのサンプルファイルから Prometheus 設定ファイルを作成します。cp prometheus-config.yml-example prometheus-config.yml
-
エクスポーターは、
fuse
またはfuse.bat
コマンドを使用して Fuse を起動する場合のみ使用できます。Linux または Unix の場合はbin/fuse
、Windows の場合はbin\fuse.bat
を実行します。 -
Fuse の再起動後、
http://localhost:9779
で Web ブラウザーを開くと、公開されたメトリックを表示できます。
必要に応じて、コマンドラインから KARAF_PROMETHEUS_PORT
および KARAF_PROMETHEUS_CONFIG
設定変数のデフォルト値を変更できます。
3.16.2. Apache Karaf コンテナーから公開済みメトリクスをスクレイピングするように Prometheus サーバーを設定する
Prometheus サーバーが Apache Karaf コンテナーからメトリクスをスクレイピングできるようにするには、メトリクスを公開するエンドポイントを Prometheus 設定ファイルの targets
プロパティーに追加する必要があります。
手順
-
Prometheus インストールディレクトリーの
/prometheus.yml
設定ファイルに移動します。 スクレイピングする Apache Karaf エンドポイントを追加します。
scrape_configs: - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9779']