このページはPrometheus公式ドキュメント和訳+αの一部です。
Node Exporterは、ハードウェアとカーネル関係の幅広いメトリクスをexposeする。
このガイドでは、
- ローカルホストでNode Exporterを起動する
- そのNode Exporterからメトリクスをscrapeするように設定したPrometheusインスタンスをローカルホストで起動する
注意: Node Exporterが*nixのためにあるのに対して、Windowsに対してWMI exporterが同じような目的で使われる
Node Exporterのインストールと実行
Node Exporterは、tarballからインストールできる単一のスタティックなバイナリである。 Prometheusのダウンロードページからtarballをダウンロード、展開し、実行する。
wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz tar xvfz node_exporter-*.*-amd64.tar.gz cd node_exporter-*.*-amd64 ./node_exporter
以下のように、Node Exporterが動いていて9100ポートでメトリクスをexposeしていることを示す出力が見られるはずである。
INFO[0000] Starting node_exporter (version=0.16.0, branch=HEAD, revision=d42bd70f4363dced6b77d8fc311ea57b63387e4f) source="node_exporter.go:82" INFO[0000] Build context (go=go1.9.6, user=root@a67a9bc13a69, date=20180515-15:53:28) source="node_exporter.go:83" INFO[0000] Enabled collectors: source="node_exporter.go:90" INFO[0000] - boottime source="node_exporter.go:97" ... INFO[0000] Listening on :9100 source="node_exporter.go:111"
Node Exporterのメトリクス
Node Exporterがインストール、実行されると、curlでエンドポイント/metricsにアクセスすることで、メトリクスがexposeされていることを確認できる。
curl http://localhost:9100/metrics
以下のような出力が見られるはずである。
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 3.8996e-05
go_gc_duration_seconds{quantile="0.25"} 4.5926e-05
go_gc_duration_seconds{quantile="0.5"} 5.846e-05
# etc.
これでPrometheusがscrapeできるメトリクスをNode Exporterがexposeしており、出力のかなり下の方にnode_で始まるシステムの様々なメトリクスが含まれている。
これらのシステムメトリクスを(ヘルプおよび型情報と共に)見るためには以下のコマンドを実行する
curl http://localhost:9100/metrics | grep "node_"
Prometheusの設定
Node Exporterのメトリクスにアクセスするために、ローカルで実行しているPrometheusインスタンスが適切に設定されている必要がある。
設定ファイルprometheus.ymlにある以下のscrape_configは、localhost:9100を通してNode Exporterからメトリクスを取得するように指定している。
scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100']
Prometheusをインストールするには、自分のプラットフォームの最新リリースをダウンロードし、tarを展開する。
wget https://github.com/prometheus/prometheus/releases/download/v*/prometheus-*.*-amd64.tar.gz tar xvf prometheus-*.*-amd64.tar.gz cd prometheus-*.*
インストールが終わったら、上で作成した設定ファイルを--config.fileフラグで指定することでPrometheusを起動することが出来る。
./prometheus --config.file=./prometheus.yml
expression browserによるNode Exporterメトリクスの調査
これでPrometheusがNode Exporterインスタンスからメトリクスを取得しているので、Prometheus UI(expression browser)を使ってそれらのメトリクスを調べることが出来る。
ブラウザでlocalhost:9090/graphを開いて、ページ上部のmain expression barを使って、expressionを入力する。
expression barは、このように見える。

Node Exporter特有のメトリクスは、node_cpu_seconds_totalやnode_exporter_build_infoのようにnode_というプリフィックスが付いている。
下記のリンクをクリックすると、いくつかのメトリクスの例を見ることが出来る。
- rate(node_cpu_seconds_total{mode="system"}[1m])
- 新1分間のシステムモードの秒間CPU消費時間の平均
- node_filesystem_avail_bytes
- rootユーザー以外に利用可能なファイルシステムの空き
- rate(node_network_receive_bytes_total[1m])
- 最新1分間の秒間ネットワークトラフィック平均(byte)
node exporterについてさらに丁寧な解説はこちらを参照。


