Docker 部署 Prometheus 和 Grafana
这份文档主要介绍了如何使用 Docker 部署 Prometheus 和 Grafana,并进行相关配置。以下是具体的步骤:
步骤概述
- 部署 Node Exporter 和 cAdvisor
- 初次运行 Prometheus 并复制配置文件
- 持久化配置文件后再次运行 Prometheus
- Prometheus 配置文件内容
- 部署 Grafana
步骤详解
1. 部署 Node Exporter 和 cAdvisor
docker run -d --restart=always -p 59100:9100 -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" -v "/etc/localtime:/etc/localtime" --name=node-exporter prom/node-exporter
docker run -d --restart=always --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=58080:8080 --detach=true --name=cadvisor google/cadvisor:latest
2. 初次运行 Prometheus 并复制配置文件
docker run -d \
--name=prometheus \
-p 59090:9090 \
prom/prometheus
docker cp prometheus:/etc/prometheus/prometheus.yml /data/docker_data/monitor-docker
docker stop prometheus
docker rm prometheus
3. 持久化配置文件后再次运行 Prometheus
docker run -d --restart=always \
--name=prometheus \
-p 59090:9090 \
-u root \
-v /data/docker_data/monitor-docker/:/etc/prometheus/ \
prom/prometheus
4. Prometheus 配置文件内容
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['10.0.0.173:59090','10.0.0.173:59100']
- job_name: 'Docker-Monitor'
static_configs:
- targets: ['10.0.0.173:58080','10.0.0.173:59100']
5. 部署 Grafana
docker run -d --restart=always -i -p 53000:3000 \
--name=grafana \
-v "/etc/localtime:/etc/localtime" \
-e "GF_SERVER_ROOT_URL=http://grafana.xxxx.com" \
-e "GF_SECURITY_ADMIN_PASSWORD=xxxx" \
grafana/grafana