prometheus & grafanaをdockerで起動させる

スポンサーリンク

はじめに

dockerが少し使えるようになったので、調子に乗ってprometheusとgrafanaをdockerで起動させてみます。

prometheusは監視ツールです。結構使いやすくzabbixよりは使いやすいと思います。

grafanaはダッシュボードです。直接監視ツールとは関係なくprometheusで取得したデータをより見やすくするためだけのツールです。要は監視画面を作るためだけの存在です。カスタマイズがしやすく、かっこいい画面が作れます。

参考サイト

公式より参考になったサイト様

prometheusのinstall Docker版

prometheusのDocker Hub tag

grafanaのinstall Docker版

grafanaのDocker Hub tag

使用した環境について

各versionはこちら

Ubuntu 16.04.4 LTS

docker:17.03.2-ce

prometheus:2.2.0

grafana:5.1.2

docker-compose.ymlの設定例

さっそくdocker-compose.ymlです。prometheusのインストールもgrafanaのインストールも結局このdocker-compose.ymlを準備すれば自動でやってくれるので便利ですね。

正確にはインストールというよりもprometheus、grafanaのコンテナをDocker-Hubから持ってきてそれを使うだけです。

こちらのファイルを「docker-compose.yml」として適当なディレクトリに保存します。

imageがDocker Hubからもってくるimgaeです。prometheusの:v2.2.0やgrafanaの:5.1.2のバージョン指定箇所はimageによって変わるので注意。grafanaはv付かないです。

Docker Hubのサイトで検索すれば何を使ってるかわかります。

- ./prometheus.yml:/etc/prometheus/prometheus.ymlは設定ファイルを読み込むところなので必須です。ただ以下の2つは無くても動きます。

- ./prometheus-data:/prometheus

- ./grafana-data:/var/lib/grafana

この2つの設定は取得したデータや作成したダッシュボードを保持するための設定・・・のつもりです。私が試したときはこれでデータを保持できたのですが、あんまり自信がないので参考程度にお願いします。

- ./prometheus.yml:/etc/prometheus/prometheus.ymlにあるとおり、カレントディレクトリにprometheus.ymlが必要になります。

- ./prometheus-data:/prometheusにあるとおり、カレントディレクトリにprometheus-dataディレクトリが必要になります。chmodで777にしておきます。

- ./grafana-data:/var/lib/grafanaにあるとおり、カレントディレクトリにgrafana-dataディレクトリが必要になります。chmodで777にしておきます。

prometheus.ymlの設定例

prometheusの設定に必要なprometheus.ymlはこちらの公式から設定例を拝借します。

とりあえずはじめてなのでそのまま使います。

動かしてみる

docker-compose -f docker-compose.yml up -dで実行します。

うまくいけばこんな感じになります。

prometheusの管理画面にアクセスしてみる

本来ならhttp://localhost:9090/graphにアクセスすればOKです。

私の場合はVMware Workstation 12 Playerの上でESXiを動かし、ESXiにubuntu16.04を載せて動かしているため、VMware Workstation 12 PlayerのネットワークアダプタをNATからブリッジに変更し、ubuntu16.04のインターフェースに付与されたIPアドレスにアクセスする必要があります。今回私の環境ではhttp://192.168.0.16:9090/graphにアクセスしました。

アクセスした後の画面がこちら。

-insert metric at cursor-から見たい項目を選ぶとExpression(press Shift+Enter for newlines)に表示されます。ここでは「http_requests_total」を選択しています。この項目が取得するデータになるので、prometheus.ymlの設定やsnmp-exporterの追加などで増やします。

Expressionにカスタマイズしたクエリなど打ち込むのですが、今回はそのままGraphをクリックしてグラフを表示させました。それがこちら。

こんな感じで簡単にグラフ表示が出来ます。

grafanaの管理画面にアクセスしてみる

grafanaは私の環境ではhttp://192.168.0.16:3000にアクセスすればログインページに飛べます。初期ユーザ名/パスワードはadmin/adminです。

grafanaの初期設定は参考サイト様を参考にしました。

Data Sources設定はこんな感じ。docker-compose.ymlでservicesをprometheusとしているところだけ注意。そのためURLはhttp://prometheus:9090となります。

その後適当に新しいダッシュボードでグラフを作成したあとがこんな感じです。

1分ぐらいで作ったのでgrafanaの凄さがまったくわからない画像ですが、こんな感じでprometheusと同じようなグラフが作れます。

最後に

grafanaの凄さがわかりにくいですが、カスタマイズされたgrafanaの画面は今までの監視ツールとは一線を画すほどです。※ネットで探してみると色々出てきます。

prometheusもgrafanaも簡単に構築することが出来るので試してみてはいかがでしょうか?

でも設定は奥が深くて大変なのよね。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする