Docker搭建Prometheus+node-exporter+alertmanager实现钉钉报警
#下载所需镜像
docker pull prom/prometheus
docker pull grafana/grafana
docker pull prom/node-exporter
docker pull prom/alertmanager
docker pull timonwong/prometheus-webhook-dingtalk
创建目录
mkdir -p /data/prometheus/server
#prometheus数据存放目录
mkdir /data/prometheus/prometheusdata
#grafana数据存放目录
mkdir /data/grafana-storage
#配置报警规则需要
touch /data/prometheus/server/rules.yml
目录权限
chmod 777 /data/prometheus/server/rules.yml
chmod 777 -R /data/prometheus/prometheusdata
chmod 777 -R /data/grafana-storage
#提前创建Prometheus.yml配置文件 data/prometheus/server/prometheus.yml
global:
scrape_interval: 15s # 默认抓取周期,可用单位ms,smhdwy 设置每15s采集数据一次,默认一分钟
evaluation_interval: 15s # 估算规则的默认周期 # 每15秒计算一次规则。默认1分钟
external_labels:
monitor: 'cadelab-monitor'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
启动Prometheus容器
docker run -d --restart always --name prometheus -p 9090:9090 -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /data/prometheus/server/rules.yml:/etc/prometheus/rules.yml -v /data/prometheus/prometheusdata:/prometheus prom/prometheus --config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle
启动时加上--web.enable-lifecycle启用远程热加载配置文件 调用指令是curl -X POST http://localhost:9090/-/reload
在浏览器中访问 访问http://192.168.20.95:9090/
--web.enable-lifecycle
--config.file=/etc/prometheus.yml
启动node-exporter 负责监控主机的基本信息
docker run -it -d --name exporter --restart always -p 9100:9100 prom/node-exporter
启动cadvisor,负责监