Prometheus+Grafana监控docker
1. cAdvisor(Container Advisor):用于收集正在运行容器资源使用和性能信息,安装在被监控端
1.1 cAdvisor介绍:
https://github.com/google/cadvisor
1.2 docker安装
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
2. Prometheus:容器监控系统,监控端
2.1 Prometheus介绍
https://prometheus.io
https://github.com/prometheus
2.2 docker安装
docker run -d \
--name=prometheus \
-p 9090:9090 \
-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
注:需要提前配置/tmp/prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['127.0.0.1:8080']
3. Grafana:开源度量分析和可视化工具
3.1 Grafana介绍
https://grafana.com/grafana/download
https://grafana.com/dashboards/193 (监控docker主机模板)
3.2 安装
docker run -d \
--name=grafana \
-p 3000:3000 \
grafana/grafana
4. 页面配置
地址栏输入 http://127.0.0.1:3000/ 进入Grafana页面,默认账号密码:admin/admin