prometheus搭建
prometheus的系统结构是server+agent模式,prometheus自己是server,各种exporter就相当于agent,运行在各个被监控主机上,通过定时从server去pull各个exporter的metric,形成统计输出。
prometheus的docker-compose.yml
version: '3'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
restart: always
network_mode: 'host'
prometheus.yml添加对应的内容
- job_name: 'testwork'
static_configs:
- targets: ['ip:9100']
node-exporter
node-exporter的安装,官方推荐不要使用docker,个人还是给出docker-compose.yml
version: '3'
services:
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
command:
- '--path.rootfs=/host'
restart: always
network_mode: 'host'
pid: host
volumes:
- '/:/host:ro,rslave'
mysqld-exporter
version: '3'
services:
mysqld-exporter:
image: prom/mysqld-exporter:latest
container_name: mysqld-exporter
volumes:
- ./.my.cnf:/home/.my.cnf
ports:
- 9104:9104
network_mode: 'host'
.my.cnf文件
[client]
user = xxx
password = xxx
host = xxx
port = xxx
grafana
version: '3'
services:
grafana:
image: grafana/grafana:latest
container_name: grafana
network_mode: 'host'
访问hostname:3000,进入grafana,import dashboard即可。