Prometheus+αでDockerホストとコンテナを監視してみたい(node-expoter編)

Prometheus+αでDockerホストとコンテナを監視してみたい(node-expoter編)

概要/構成 計2台

Dockerコンテナの稼働状態を監視する検証として以下のステップでやってみます。

今回のはホスト監視用のエージェント的な機能を持つ、node-expoter。

環境はVMware Workstation Player上にて。

  • 監視側  VM RHEL7.5

    • マシン作成,OSインストール(済)

    • Dockerインストール(済)

    • node-expoterインストール ←今回の対象

    • cAdvisorインストール

    • Prometheusインストール

    • Alertmanagerインストール

    • Grafanaインストール

  • 監視対象 VM RHEL7.5

    • マシン作成,OSインストール(済)

    • Dockerインストール(済)

    • node-expoterインストール ←今回の対象

    • cAdvisorインストール

    • 適当なコンテナを立ち上げる

      RHEL7.5にnode-expoterをインストールする

Download | Prometheus から

node_exporter-0.16.0.linux-amd64.tar.gzをダウンロードしwinscp等で任意の場所に配置。(本手順では/tmpに) wgetでもおk

以下rootユーザーにて作業

## tmpに移動し、/usr/localに展開
# cd /tmp/
# tar -C /usr/local -xvf node_exporter-0.16.0.linux-amd64.tar.gz
node_exporter-0.16.0.linux-amd64/
node_exporter-0.16.0.linux-amd64/LICENSE
node_exporter-0.16.0.linux-amd64/node_exporter
node_exporter-0.16.0.linux-amd64/NOTICE

## ファイルの展開を確認
# cd /usr/local
# ls
bin  etc  games  include  lib  lib64  libexec  node_exporter-0.16.0.linux-amd64  sbin  share  src

## シンボリックリンク作成
# ln -s /usr/local/node_exporter/node_exporter /bin/node-exporter

##(リンク作成)バージョン確認
# node-exporter --version
node_exporter, version 0.16.0 (branch: HEAD, revision: d42bd70f4363dced6b77d8fc311ea57b63387e4f)
build user:       root@xxxxxxxxxxxx
build date:       20180515-15:52:42
go version:       go1.9.6

## サービス登録(任意)
# vi /usr/lib/systemd/system/node-exporter.service
====================================================

[Unit]
Description=Node Exporter

[Service]
Type=simple
ExecStart=/bin/node-exporter
PrivateTmp=false

[Install]
WantedBy=multi-user.target

====================================================
:wq!

#デーモンリロード、自動起動有効化
# systemctl daemon-reload
# systemctl enable node-exporter.service
Created symlink from /etc/systemd/system/multi-user.target.wants/node-exporter.service to /usr/lib/systemd/system/node-exporter.service.

node-expoter起動、起動確認
# systemctl start node_exporter.service
# systemctl status node-exporter.service -l
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - stat" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - textfile" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - time" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - timex" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - uname" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - vmstat" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - wifi" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - xfs" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg=" - zfs" source="node_exporter.go:97"
node-exporter[23206]: time="2018-08-09T03:38:17+09:00" level=info msg="Listening on :9100" source="node_exporter.go:111"

ブラウザで [VMIPアドレス]:9100 にアクセスし、node-expoterのウェブ画面→Metricsをクリック→メトリクスが表示されることを確認。

以上になります。