node_exporterのインストール
node_exporterのインストール
node_exporterってなんや
node_exporter は、システムのハードウェアおよびオペレーティングシステムのメトリクスを収集し、Prometheus によって監視されるようにするためのエクスポーターです。Prometheus は、オープンソースのシステムモニタリングおよびアラートツールキットで、時間ベースのデータを収集し、クエリおよび可視化するために使用されます。
node_exporter の役割と機能
node_exporter は、以下のようなさまざまなシステムメトリクスを収集します。
これらのメトリクスを Prometheus によって収集し、長期間のトレンド分析やアラート設定に利用します。たとえば、サーバーの CPU 使用率が異常に高くなった場合や、ディスクの空き容量が少なくなった場合にアラートを送ることができます。
典型的な使用例
動作の仕組み
メトリクスの例
以下は、node_exporter が提供するメトリクスの一部の例です。
plaintextコードをコピーする
# HELP node_cpu_seconds_total Seconds the CPUs spent in each mode.
# TYPE node_cpu_seconds_total counter
node_cpu_seconds_total{cpu="0",mode="idle"} 1.8267178e+07
node_cpu_seconds_total{cpu="0",mode="system"} 7462.62
node_cpu_seconds_total{cpu="0",mode="user"} 5417.4
# HELP node_memory_MemAvailable_bytes Memory information field MemAvailable_bytes.
# TYPE node_memory_MemAvailable_bytes gauge
node_memory_MemAvailable_bytes 3.034669e+09
# HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os.
# TYPE node_disk_io_time_seconds_total counter
node_disk_io_time_seconds_total{device="sda"} 31207.72
# HELP node_network_receive_bytes_total Network device statistic receive_bytes.
# TYPE node_network_receive_bytes_total counter
node_network_receive_bytes_total{device="eth0"} 1.8575856e+07
これらのメトリクスを使用して、システムの状態を詳細に監視することができます。
インストールしてみる
超簡単var(dockerを使用する)
このコマンドを実行するだけ
一旦使ってみたい時に
docker run -d --name=node_exporter -p 9100:9100 prom/node-exporter
インストール手順
1. node_exporter のバイナリをダウンロード
最新バージョンの node_exporter バイナリを Prometheus の公式 GitHub リリースページからダウンロードします。
# 最新のバージョンをダウンロード
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz
# ダウンロードしたファイルを展開
tar xvfz node_exporter-*.linux-amd64.tar.gz
# 展開したディレクトリに移動
cd node_exporter-*.linux-amd6
2. node_exporter バイナリを移動
node_exporter バイナリを適切な場所に移動します。通常は /usr/local/bin などに配置します。
sudo cp node_exporter /usr/local/bin/
3. node_exporter ユーザーを作成
セキュリティ上の理由から、専用のユーザーを作成して node_exporter を実行するのが一般的らしいです
sudo useradd -rs /bin/false node_exporter
4. システムサービスファイルを作成
node_exporter をシステムサービスとして登録するためのファイルを作成します。
sudo tee /etc/systemd/system/node_exporter.service << EOF
[Unit]
Description=Prometheus Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
5. node_exporter サービスの起動と有効化
作成したサービスファイルを使って node_exporter を起動し、自動起動を有効にします。
# デーモンをリロード
sudo systemctl daemon-reload
# node_exporter を起動
sudo systemctl start node_exporter
# 自動起動を有効化
sudo systemctl enable node_exporter
6. 動作確認
node_exporter が正しく動作しているかを確認します。
# サービスのステータスを確認
sudo systemctl status node_exporter
# メトリクスが収集されているかを確認(デフォルトではポート9100で提供されます)
curl http://localhost:9100/metrics
インストールと実行は完了です。
Prometheus サーバーに node_exporter のエンドポイントを追加することで、システムメトリクスを収集できるようになります。
← Go home