Skip to content

Instantly share code, notes, and snippets.

@dwdraju
Last active October 30, 2019 12:21
Show Gist options
  • Save dwdraju/f8fe667ab22a49e688d2757963783d80 to your computer and use it in GitHub Desktop.
Save dwdraju/f8fe667ab22a49e688d2757963783d80 to your computer and use it in GitHub Desktop.
Docker Monitoring Stack

Monitoring Stack for Docker and Host System

Installation

  1. Docker
  2. Docker Compose

Folder Structure

.
├── docker-compose.yml
└── prometheus
    └── prometheus.yml

Initiate Monitoring

docker-compose up -d from root folder

Browse Grafana Dashboard

[HOST]:3000

Recommended Dashboards of Grafana

Docker and system monitoring: https://grafana.com/grafana/dashboards/893 Node Exporter Full: https://grafana.com/grafana/dashboards/1860

version: '3'
services:
prometheus:
container_name: prometheus
image: prom/prometheus
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- '9090:9090'
restart: always
node-exporter:
container_name: node-exporter
image: prom/node-exporter
ports:
- '9100:9100'
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
restart: always
grafana:
container_name: grafana
image: grafana/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=SuperSecret
depends_on:
- prometheus
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
restart: always
cadvisor:
container_name: cadvisor
image: google/cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- 8080:8080
restart: always
volumes:
prometheus_data: {}
grafana_data: {}
global:
scrape_interval: 5s
external_labels:
monitor: 'my-monitor'
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'node-exporter'
scrape_interval: 5s
static_configs:
- targets: ['node-exporter:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment