概要

前回、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を使うかを判断する必要があります。