Docker compose ファイル#
git clone https://github.com/Sayyiku/DataEye.git
mkdir -p promgrafnode/prometheus
mkdir -p promgrafnode/grafana/provisioning
touch promgrafnode/docker-compose.yml
touch promgrafnode/prometheus/prometheus.yml
docker-compose up -d
Node Exporter 被控端部署#
docker run -d -p 9100:9100 \
-v "/root/docker/node-exporter/proc:/host/proc:ro" \
-v "/root/docker/node-exporter/sys:/host/sys:ro" \
-v "/root/docker/node-exporter/:/rootfs:ro" \
--net="host" \
--name node-exporter \
prom/node-exporter
prometheus.yml#
global:
scrape_interval: 1m
scrape_configs:
- job_name: "prometheus"
scrape_interval: 1m
static_configs:
- targets: ["localhost:9090"]
- job_name: "node"
static_configs:
- targets: ["node-exporter:9100"]
- job_name: "cadvisor"
scrape_interval: 5s
static_configs:
- targets: ["your ip:8081"]
- job_name: "AWS-SG"
scrape_interval: 5s
static_configs:
- targets: ["your ip:9100"]
- job_name: "Spaceberg-20T"
scrape_interval: 5s
static_configs:
- targets: ["your ip:9100"]
Prometheus 和 Node Exporter アーキテクチャ#
Prometheus と Node Exporter は協調して動作します。Prometheus と Node Exporter を同じマシンで実行することもできますが、おそらく Node Exporter を多くの他のリモート Linux ホストで実行したいと思うでしょう。
Node Exporter をインストールした後、Prometheus の設定ファイルで Node Exporter インスタンスと監視するすべてのノードを参照することができます。これらは、環境で実行されている Linux 仮想マシンかもしれません。
Prometheus は、リモートの Prometheus インスタンスにある Node Exporter の HTTP エンドポイントからデータを収集します。必要なメトリックを収集するために、他のコレクタを有効にし、Prometheus でこれらのメトリックにアクセスすることができます。
Prometheus UI を使用すると、サービスの検出と、Prometheus の設定に追加されたターゲットのテストができます。Prometheus の設定ファイルでは、Prometheus サーバーを設定した Node Exporter インスタンスへのエンドポイントとポートを定義します。同様に、接続を確認するために Prometheus のユーザーインターフェースを使用できます。
Prometheus Server を使用して Grafana で URL を監視する#
コンテナが起動して実行された後、Grafana に Prometheus データソースを追加する必要があります。Grafana を開き、左下の歯車をクリックします。次に、Prometheus をクリックし、Grafana で Prometheus サーバーの URL を設定します。
データソースを追加
Prometheus サーバーの URL の IP とポートを追加し、Prometheus 形式でメトリックを抽出します。
Prometheus Node Exporter のメトリックを Grafana ダッシュボードで可視化する#
Grafana.comから、ID または JSON テンプレートをダウンロードして、手動でダッシュボードを作成する手間を省くことができます。