本記事は、細かいところを抜きにして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.yml
のuser
をroot
にする必要があります
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はとても便利なツールだと思います