alertmanager与exporters、cadvisor同样,都是独立于prometheus项目,这里咱们也使用docker方式部署alertmanager。node
一、下载镜像web
镜像地址:https://hub.docker.com/r/prom/alertmanager/tagsdocker
[root@prometheus-server ~]# docker pull prom/alertmanager
二、运行vim
## 建立容器映射目录,存放配置文件
[root@prometheus-server ~]# mkdir /etc/alertmanager
## 建立alertmanager默认配置文件
[root@prometheus-server ~]# vim /etc/alertmanager/alertmanager.yml
参数说明:alertmanager官方容器中配置文件为config.yml,这里咱们指定配置文件为alertmanager.yml,注意命令前后顺序。服务器
三、配置邮件报警ui
[root@prometheus-server ~]# vim /etc/alertmanager/alertmanager.yml global: smtp_smarthost: 'smtp.163.com:25' smtp_from: ******@163.com' smtp_auth_username: '******@163com' smtp_auth_password: '****' smtp_require_tls: false route: receiver: dev-mail ## 接收者 receivers: - name: 'dev-mail' ## 与route中的 receiver一致
email_configs: - to: '****@vanje.com.cn.com'
四、prometheus添加告警规则url
[root@prometheus-server ~]# mkdir /etc/prometheus/rules [root@prometheus-server ~]# vim /etc/prometheus/rules/node_alerts.yml groups:
- name: node_alerts
rules:
- alert: InstanceDown ## alert名称
expr: up{job='node'} == 0 ## 报警条件
for: 1m ## 超过1分钟,prometheus会把报警信息发送至alertmanger
labels:
severity: "warning"
annotations:
summary: Host {{ $labels.instance }} of {{ $labels.job }} is Down!
五、Prometheus开启alertmanager报警spa
[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml
### 开启alertmanager监控
alerting:
alertmanagers:
- static_configs:
- targets:
- 10.10.0.13:9093 ## alertmanager服务地址
## 添加prometheus对alertmanager服务的监控
- job_name: 'alertmanager'
static_configs:
- targets: ['10.10.0.13:9093']
重启prometheus及 alertmanager,能够看到prometheus已经加载刚定义的报警规则code
六、验证server
咱们随便停一个节点的node_exporter服务,而后查看prometheus上 报警信息(这里咱们停掉10.10.0.11服务器node_exporter服务)
一分钟后,查看alertmanager报警信息,此时邮件也会收到报警