概要
Prometheusでサーバの監視をする際に、node_exporterを使っているという人は、多いのではないでしょうか。
Prometheusの特性上、Kubernetesなどを使い、Dockerのコンテナとして使うため、直接サーバにインストールするということは少ないかもしれません。
しかし、Dockerを使うのではなく、直接サーバにインストールして使いたいということもあると思います。
ここでは、直接サーバにインストールする方法を紹介します。
環境
- Ubuntu 16.04
- node_exporter 0.15.2
OSとして、Ubuntuを使いますが、CentOSなどのRedHat系のOSでも同じような方法でできます。
インストール
バイナリが用意されているのでそのバイナリを使います。
次のGitHubのリリースページから必要なバイナリをインストールしてきましょう。
github.com/prometheus/node_exporter/releases
通常は「node_exporter-バージョン-linux-amd64.tar.gz」という名前のバイナリをダウンロードしてくれば大丈夫です。
wget node_exporter-バージョン-linux-amd64.tar.gz
ダウンロードが終わったら、次のコマンドで解凍します。
tar -zxvf node_exporter-バージョン-linux-amd64.tar.gz
解凍して出てきたディレクトリの中に移動します。
cd node_exporter-バージョン-linux-amd64
次に解凍されたディレクトリに含まれているnode_exporterというバイナリファイルを適切な場所に移動します。
mv node_exporter /usr/local/bin
あとは、systemdにnode_expoterを登録して起動します。
登録のために/usr/lib/systemd/system/node_exporter.serviceというファイルを作成し、次の内容を書きます。
[Unit]
Description=Node Exporter
[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter
PrivateTmp=false
[Install]
WantedBy=multi-user.target
Ubuntuの場合、systemというディレクトリはない場合があるので、その時は次のコマンドでsystemディレクトリを作成してください。
mkdir /usr/lib/systemd/system
ファイルの作成が終わったら、次のコマンドでファイルを読み込みます。
systemctl daemon-reload
node_exporterをsystemdから起動するための設定が終わったので起動します。
systemctl start node_exporter.service
サーバの9100番ポートにアクセスすれば、メトリクスの取得ができます。
最後に、お好みでサーバの起動時に自動で起動するように設定しましょう。
systemctl enable node_exporter.service
さいごに
正直、結構面倒だと思いました。