手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 node_exporter の基本設定 – Prometheus でホストメトリクスを収集する

関連する記事

Ubuntu 26.04 のホスト状態を Prometheus で収集する場合、各サーバーに node_exporter を導入すると、CPU、メモリ、ディスク、ネットワーク、systemd 周辺の基本メトリクスを取得できます。

この記事では、Ubuntu パッケージの prometheus-node-exporter を使い、/etc/default/prometheus-node-exporterARGSprometheus-node-exporter.service/metrics の確認ポイントをまとめます。

この記事で扱うこと
  • prometheus-node-exporter の導入
  • /etc/default/prometheus-node-exporterARGS
  • prometheus-node-exporter.service の状態確認
  • 9100 番ポートと /metrics の確認
  • Prometheus から scrape する前に見る項目
対象 OSUbuntu 26.04 Server
パッケージprometheus-node-exporter
サービスprometheus-node-exporter.service
設定ファイル/etc/default/prometheus-node-exporter
既定ポート9100/tcp
参考書籍
参考書籍
Prometheus: Up & Running
Prometheus と exporter によるメトリクス収集の考え方を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見る
このリンクは Amazon アソシエイトリンクです。

node_exporter の役割を確認する

node_exporter は、Linux ホストの状態を Prometheus 形式のメトリクスとして公開する exporter です。アプリケーションのメトリクスではなく、OS やホストリソースの状態を見るための入口になります。

  • CPU、メモリ、ディスク、ファイルシステム、ネットワークの状態を公開する
  • Prometheus が HTTP で /metrics を scrape する
  • 既定では TCP 9100 番で待ち受ける
  • 公開範囲はファイアウォールや待ち受けアドレスで制御する
  • 収集できることと監視設計は分けて考える

node_exporter をインストールする

Ubuntu のパッケージとして prometheus-node-exporter を導入します。導入後は systemd サービスとして管理します。

コマンド
sudo apt update
sudo apt install -y prometheus-node-exporter
systemctl status prometheus-node-exporter.service --no-pager
prometheus-node-exporter --version

ARGS を確認する

Ubuntu パッケージでは、追加引数を /etc/default/prometheus-node-exporterARGS で指定できます。まずは空のまま起動し、必要になった時点で collector や除外設定を追加します。

/etc/default/prometheus-node-exporter
ARGS=

待ち受けポートを確認する

node_exporter は HTTP でメトリクスを公開します。既定では 9100 番ポートを使うため、待ち受け状態とローカルアクセスを確認します。

コマンド
ss -lntp | grep 9100
curl -s http://127.0.0.1:9100/metrics | head
curl -s http://127.0.0.1:9100/metrics | grep '^node_uname_info'

サービスとログを確認する

起動しない場合やメトリクスが取得できない場合は、systemd の状態と journal を確認します。

コマンド
systemctl is-enabled prometheus-node-exporter.service
systemctl status prometheus-node-exporter.service --no-pager
journalctl -u prometheus-node-exporter.service --no-pager -n 100

外部からの到達性を確認する

Prometheus から scrape するには、Prometheus 側から node_exporter の 9100 番へ到達できる必要があります。複数 NIC のサーバーでは、どのインターフェイスで公開するかを先に決めます。

コマンド
ip address
ip route
curl -s http://192.0.2.10:9100/metrics | head
sudo nft list ruleset

Prometheus 側の scrape 設定例

Prometheus 側では、node_exporter の対象ホストを scrape target として登録します。実際の Prometheus 設定は環境により異なりますが、最低限、対象ホスト名、IP アドレス、ポート、ラベルを管理します。

prometheus.yml の一部
scrape_configs:
  - job_name: "node"
  static_configs:
  - targets:
  - "server01.example.com:9100"
  - "server02.example.com:9100"
  labels:
  role: "ubuntu-server"

公開範囲を制限する

/metrics にはホスト名、デバイス名、マウントポイントなど運用上の情報が含まれます。インターネットへ公開せず、監視ネットワークや Prometheus サーバーからだけ到達できるようにします。

コマンド
sudo nft list ruleset
ss -lntp | grep 9100
curl -s http://127.0.0.1:9100/metrics | grep '^node_filesystem_size_bytes'

確認ポイント

  • prometheus-node-exporter が導入されている
  • prometheus-node-exporter.service が active になっている
  • /etc/default/prometheus-node-exporterARGS を把握している
  • TCP 9100 番で待ち受けている
  • /metrics から node_uname_info などを取得できる
  • Prometheus サーバーから対象ホストへ到達できる
  • nftables やネットワーク境界で公開範囲を制限している

まとめ

Ubuntu 26.04 の node_exporter 基本設定では、prometheus-node-exporter を導入し、prometheus-node-exporter.service/etc/default/prometheus-node-exporter、TCP 9100 番、/metrics を確認します。

node_exporter はホスト監視の入口です。収集できる状態を作るだけでなく、Prometheus からの到達性、公開範囲、ラベル設計、アラート設計まで分けて考えると、運用で使いやすい監視基盤になります。

関連する記事
Ubuntu 26.04 node_exporter の基本設定 – Prometheus でホストメトリクスを収集する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る