PrometheusとDockerを使用したメトリクスのエクスポートと視覚化
DataStaxが提供する事前構成済みのDockerイメージを使用して、DSEクラスターのメトリクスのエクスポートと視覚化をすばやく開始します。
DSE Metrics Collectorの使用をすばやく開始するには、Dockerをダウンロードしてインストールします。これにより、DataStaxの事前構成済みダッシュボードを使用できるようになります。既に監視と視覚化のソリューションがある場合は、「Prometheusを使用したメトリクスの手動のエクスポートと視覚化」を参照してください。
警告: メトリクス・データの損失を防ぐには、このリポジトリで提供されているDockerの例を使用する前に、Prometheusのデフォルトのデータ保持期間とその調整方法を理解していることを確認してください。デフォルトでは、Prometheusは15日分のみのデータを保持するように構成されます。メトリクス・データの履歴をより長く保持する場合は、
docker-compose.yml
を変更してPrometheusのランタイム・コマンド・ラインに--storage.tsdb.retention
フラグを追加します。環境に適した値を指定します。始める前に
- 必要に応じて、DataStax Enterprise(DSE)6.7以降をダウンロードしてインストールします。
- Dockerをダウンロードしてインストールします。
- Docker Composeをダウンロードしてインストールします。
- GitHubからDSE Metrics Collectorダッシュボード・リポジトリを複製します。
注: DSEがインストールされていないノードには、Docker、Docker Compose、およびDSE Metrics Collectorダッシュボード・リポジトリをインストールする必要があります。
手順
-
DSEクラスターでDSE Metrics Collectorの構成を確認します。
dsetool insights_config --show_config
{ "mode" : "DISABLED", "config_refresh_interval_in_seconds" : 30, "metric_sampling_interval_in_seconds" : 30, "data_dir_max_size_in_mb" : 1024, "node_system_info_report_period" : "PT1H" }
-
Prometheusサーバーを有効にするには、DSE Metrics Collectorが読み取るDataStax Enterprise(DSE)クラスターで構成ファイルを作成します。
-
ノードが通常のポートだけでなくポート9103でリッスンしていることを確認します。
netstat -lnt
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 10.200.176.166:9042 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 10.200.176.166:7000 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:7199 0.0.0.0:* LISTEN tcp 0 0 10.200.176.166:8609 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:39940 0.0.0.0:* LISTEN tcp6 0 0 :::9103 :::* LISTEN tcp6 0 0 10.200.176.166:61621 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN
注: Prometheusを構成したが、ポート9103はリッスンしていない場合は、「libaioがインストールされていない場合のエラー・メッセージ(DSE 6.0および6.7)」を読み、libaioがインストールされていてEpollが機能していることを確認します。Epollが機能していない場合は、collectdデーモンは起動されません。 -
DSE Metrics Collectorダッシュボード・リポジトリを複製したノードで/prometheusディレクトリーに移動し、tg_dse.jsonファイルを変更して、クラスター内の各ノードの IP アドレスを
“targets”
の下に含めます。IPアドレスのリストは、コンマ区切りであり、各IPアドレスは二重引用符で囲む必要があります。vi tg_dse.json
[ { "targets": [ "10.100.110.96:9103", "10.100.100.95:9103", "10.100.100.97:9103" ] } ]
-
DSE Metrics Collectorを含む複製ディレクトリーから、Dockerコンテナーを起動し、関連付けます。さらにこのコマンドは、含まれているPrometheusサーバーとGrafanaサーバーも起動します。
docker-compose up
-
DSE Metrics CollectorがメトリクスをレポートするPrometheusダッシュボードとGrafanaダッシュボードを表示します。
- ターゲットとして各DSEノードを表示するPrometheusダッシュボードを表示するには、ブラウザーを開き、http://localhost:9090/targetsに移動します。
- ローカルPrometheusデータ・ソースにリンクされている Grafanaダッシュボードを表示するには、ブラウザーを開き、http://localhost:3000/dashboardsに移動します。
-
PrometheusとGrafanaのイメージのコンテナーIDを取得するために、すべてのDockerコンテナーの名前をリストします。
docker ps -a
CONTAINER ID IMAGE COMMAND 78d3324982ba grafana/grafana "/run.sh" aadc3d4ad1d1 prom/prometheus "/bin/prometheus --c…"