Node Exporterは、設定可能なメトリクスコレクターを備えたサーバーレベルおよびOSレベルのメトリクス用のPrometheusエクスポーターだ。RAM、ディスク容量、CPU使用率などの様々なサーバーリソースの測定に役立つ。Node Exporterは、監視用のすべてのLinuxサーバー関連のメトリクスと統計を収集する優れたソリューションだ。

始める前に

  • Prometheusサーバー
    Node Exporterのインストール後、メトリクスをPrometheusサーバーに送信する必要がある。
  • Sudo権限
    SSHでrootとしてサーバーにアクセスするか、SSHログインユーザーがsudoでのroot権限を持っている必要がある。

Node Exporterのインストール手順

  1. ディレクトリを作成する

    インストール用に/opt/node-exporterパスを使用することを好む。これを使ってもよい。

  2. ユーザーを追加する

    シンプルなコマンドでユーザーを追加できる。:
    adduser -r -d /opt/node-exporter node-exporter -s /sbin/nologin

  3. バイナリをダウンロードする

    https://github.com/prometheus/node_exporter/releasesページからバイナリをダウンロードし、ファイルを直接/opt/node-exporterパスに展開する。

  4. 所有者とグループの権限を変更する

    node_exporterバイナリを実行するためのユーザー権限を設定する必要がある。
    chown -R node-exporter:node-exporter /opt/node-exporter

  5. systemdサービスファイルを作成する

    このサービスのステータスをsystemdで管理する必要がある。systemdサービスファイルを作成する時だ。ファイルパスは/etc/systemd/system/node-exporter.serviceにする。そこに以下のすべての設定を貼り付けることができる。

    [Unit]
    Description=Prometheus exporter for machine metrics
    Documentation=https://github.com/flightlesstux/node_exporter

    [Service]
    Restart=always
    User=node-exporter
    Group=node-exporter
    ExecStart=/opt/node-exporter/node_exporter
    ExecReload=/bin/kill -HUP $MAINPID
    TimeoutStopSec=20s
    SendSIGKILL=no

    [Install]
    WantedBy=multi-user.target


  6. node-exporterを起動する

    systemctl start node-exporterコマンドでnode-exporterサービスを起動する準備ができた。

これで、http://IP_ADDRESS:9100/metrics URL経由でサーバーのメトリクスを確認できる。ページにアクセスできない場合は、TCP 9100を許可するようにファイアウォールやセキュリティグループの設定を確認する必要がある。

ボーナス

Node Exporterのインストールに必要な手順がわかった。このインストールを自動化したので、自由に使ってほしい。sh <(curl https://raw.githubusercontent.com/flightlesstux/node_exporter/master/installer.sh)コマンドを実行するだけで、数秒でnode-exporterがインストールされる。

GitHubリポジトリ: https://github.com/flightlesstux/node_exporter