Docker
grafana
cAdvisor
prometheus

Prometheus、Grafana、cAdvisorによる監視をコマンド一つで行える「dockprom」

本記事は、細かいところを抜きにしてPrometheusやGrafanaが動く様子を見たい人向けです。


監視、可視化ツール

近年、PrometheusやGrafanaなどの監視、可視化ツールが話題です

これらのツールは様々な企業に採用されており、導入を考えている方も多いと思います

しかし、様々なツールを連携させる必要があるので構築は難しいです

例えばPrometheusは起動自体は簡単ですがGrafanaやcAdvisorと連携させる場合、設定項目が多く煩雑です

試しに使ってみたい人にとっては、学習コストが高すぎます

そこで今回紹介するのがdockpromです


dockprom(https://github.com/stefanprodan/dockprom)

dockpromはPrometheusやGrafanaの連携などの煩雑な作業をdocker-composeコマンド一つで行うことができます。

ドキュメントにあるように基本的には、下記コマンドだけで全てが連携されたコンテナ群が生成されます

git clone https://github.com/stefanprodan/dockprom

cd dockprom

ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d

ただし、masterブランチをそのまま利用する場合docker-compose.ymluserrootにする必要があります

  grafana:

image: grafana/grafana:5.2.2
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/datasources:/etc/grafana/datasources
- ./grafana/dashboards:/etc/grafana/dashboards
- ./grafana/setup.sh:/setup.sh
entrypoint: /setup.sh
// 下の一行を追加
user: root
environment:
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
restart: unless-stopped
expose:
- 3000
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"

また起動後のコンテナに入り、パーミッションを変える必要があります

docker exec -it --user root grafana bash

# in the container you just started:
chown -R root:root /etc/grafana && \
chmod -R a+r /etc/grafana && \
chown -R grafana:grafana /var/lib/grafana && \
chown -R grafana:grafana /usr/share/grafana


構築後

いくつかのプリセットが用意されており、Docker Containerの情報などが一目で確認できるようになっています

以下画像は実際に動かしている様子です。CPUやメモリの使用状況、プロセスの数などを簡単に可視化することができました

ここまでで大体10分程度で構築が完了したので、試しに使ってみたい人にとってはdockpromはとても便利なツールだと思います

dockprom.png