概要
前回、Ubuntuにnode_exporterをインストールする方法という記事でOSにインストールする形でnode_exporterのインストールをしました。
今回は、Dockerを使ってもっと簡単にnode_exporterをインストールする方法を紹介します。
環境
- Ubuntu 16.04
- Docker 17.12.0-ce
起動
Docker Hubには、node_exporternのイメージが公式で配布されています。
そのため、そのイメージを使えば簡単にnode_exporterを動かすことができます。
しかし、ただイメージを元にコンテナを作成して動かしただけでは、サーバの再起動などの時に、毎回コンテナを動かす作業をしなくてはなりません。
そこで、Dockerの--restart
オプションを使います。
--restart
オプションを使って、node_exporterを起動する場合、次のコマンドを実行します。
docker run -d --restart=unless-stopped -p 9100:9100 prom/node-exporter
これで、サーバの再起動時にもnode_exporterの起動ができます。
--restart
オプションにunless-stopped
を指定していますが、これはDockerデーモンの停止時に、一緒にコンテナが停止した際に、Dockerデーモンの起動と一緒に起動するということを示しています。
もし、異常終了しようが、どんな時でも起動しておいて欲しいという場合は、unless-stopped
の代わりに、always
を指定します。always
を指定した場合にコンテナを止めたい場合は、docker stop
コマンドを使います。
これで、node_exporterのインストールは終わりです。
node_exporterで生成されるメトリクスにアクセスしたい場合は、9100番ポートにアクセスしましょう。
さいごに
Dockerを使う場合は、簡単にnode_exporterのインストールが終わります。
しかし、サーバにDockerをインストールしたくないということもあるかと思うので、状況を見て直接バイナリをインストールするか、Dockerを使うかを判断する必要があります。