alertmanager与exporters、cadvisor一样,都是独立于prometheus项目,这里我们也使用docker方式部署alertmanager。

1、下载镜像

镜像地址:https://hub.docker.com/r/prom/alertmanager/tags

[root@prometheus-server ~]# docker pull prom/alertmanager

2、运行

## 创建容器映射目录,存放配置文件
[root@prometheus-server ~]# mkdir /etc/alertmanager
## 创建alertmanager默认配置文件
[root@prometheus-server ~]# vim /etc/alertmanager/alertmanager.yml
global:
  resolve_timeout: 5m
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://127.0.0.1:5001/'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']
 
[root@prometheus-server ~]# docker run -d -p 9093:9093 \
 -v /etc/alertmanager:/etc/alertmanager \
 -v /var/lib/alertmanager:/alertmanager \
 --name alertmanager prom/alertmanager \
 --config.file="/etc/alertmanager/alertmanager.yml" \
 --storage.path=/alertmanager

参数说明:alertmanager官方容器中配置文件为config.yml,这里我们指定配置文件为alertmanager.yml,注意命令先后顺序。

3、配置邮件报警

[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'

4、prometheus添加告警规则

[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!

5、Prometheus开启alertmanager报警

[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已经加载刚定义的报警规则

6、验证

我们随便停一个节点的node_exporter服务,然后查看prometheus上 报警信息(这里我们停掉10.10.0.11服务器node_exporter服务)

一分钟后,查看alertmanager报警信息,此时邮件也会收到报警

最新文章

  1. pthreads 2.0.10 test
  2. SQLSERVER中如何快速比较两张表的不一样
  3. Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
  4. Enumerators and Enumerable
  5. java基础 (java工程师入门应该了解的)
  6. cocos2d-x如何新建一个模板项目
  7. angular 实例笔记之嵌套指令间的传参
  8. mysql 安装截图
  9. 【LeetCode】419. Battleships in a Board
  10. ROS(indigo)ROSPlan框架
  11. Springboot读取Jar文件中的resource
  12. 编写高质量的Python代码系列(八)之部署
  13. JavaScript 基础结构
  14. 发现了一个比较有意思的url参数
  15. 使用Actuator监控
  16. The Tower of Babylon(UVa 437)
  17. 2019.4.11 一题 XSY 1551 ——广义后缀数组(trie上后缀数组)
  18. 下载 VM 模板
  19. 四则运算 Java 实现 刘丰璨,王翠鸾
  20. Idea上配置btm

热门文章

  1. Python微信操控(itchat)
  2. S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置
  3. 从TEB到PEB再到SEH(二)
  4. fio 文件系统io 性能测试安装使用
  5. bootstrap导航条组件
  6. 73: luogu 2014 树形dp
  7. Cocos Creator打包发布
  8. 我的Android前生今世之缘-学习经验-安卓入门教程(六)
  9. Interesting Vertices
  10. java学习笔记(5) 控制语句、键盘输入