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报警信息,此时邮件也会收到报警

Prometheus入门到放弃(5)之AlertManager部署的更多相关文章

  1. Prometheus入门到放弃(6)之AlertManager进阶

    前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...

  2. Prometheus入门到放弃(7)之redis_exporter部署

    redis监控,prometheus需要使用redis_exporter客户端. 这里我们采用docker方式部署,既可以部署在redis所在服务器,也可以部署在其他机器: docker镜像地址:ht ...

  3. Prometheus入门到放弃(2)之Node_export安装部署

    1.下载安装 node_exporter服务需要在三台机器都安装,这里我们以一台机器为例: 地址:https://prometheus.io/download/ ### 另外两个节点部署时,需要先创建 ...

  4. Prometheus入门到放弃(1)之Prometheus安装部署

    规划: IP 角色 版本 10.10.0.13 prometheus-server 2.10 10.10.0.11 node_exporter 0.18.1 10.10.0.12 node_expor ...

  5. Prometheus入门到放弃(3)之Grafana展示监控数据

    grafana我们这里采用docker方式部署 1.下载镜像 镜像官网地址:https://hub.docker.com/r/grafana/grafana/tags [root@prometheus ...

  6. Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行. 1.下载镜像 [root@prometheus-server ...

  7. saltstack入门至放弃之salt安装部署

    学习了一段时间的saltstack,是时候记录下了.友提:学习环境是两台centos_7.2_x64机器 系统初始化: 两台机器执行以下脚本即可(友提:两台服务器的主机名配置在/etc/hosts中, ...

  8. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...

  9. OpenStack从入门到放弃

    OpenStack从入门到放弃 目录: 为何选择云计算/云计算之前遇到的问题 什么是云计算 云服务模式 云应用形式 传统应用与云感知应用 openstack及其相关组件介绍 flat/vlan/gre ...

随机推荐

  1. learning armbian steps(11) ----- armbian 源码分析(六)

    接下来我们来分析一下uboot的编写过程: 从 lib/compilation.sh  89开始阅读: compile_uboot() { # not optimal, but extra clean ...

  2. Windbg命令的语法规则系列(二)

    二.字符串通配符语法 一些调试器命令具有接受各种通配符的字符串参数.这些类型的参数支持以下语法功能: 星号(*)表示零个或多个字符. 问号(?)表示任何单个字符. 包含字符列表的括号([])表示列表中 ...

  3. urql 高度可自定义&&多功能的react graphql client

    urql 是一个很不错的graphql client,使用简单,功能强大,通过exchanges 实现了完整的自定义特性 通过urql 的exchanges 我们可以实现灵活的cache策略 参考资料 ...

  4. 使用gitstats分析git 仓库代码

    gitstats 是一个很不错的git 代码提交分析工具,可以帮助我们生成图表统计结果 工具文档信息 gitstats http://gitstats.sourceforge.net/ 安装 使用ce ...

  5. 2019qbxt游记

    Day 1 2019.8.6 来到qbxt的第一天,虽然早就对宾馆的等级做好了准备,但是还是十分的失望,外观是真的很简陋,不过里面还好的,,可以凑合. 我竟然和lbh一个宿舍!!!这次外出学习必将不安 ...

  6. mysql in和not in

    mysql> select * from table1; +----------+------------+-----+---------------------+-------+ | name ...

  7. JS filter的使用

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...

  8. kubernetes监控终极方案-kube-promethues

    kube-promethues简介 前面我们学习了Heapster+cAdvisor方式监控,这是Prometheus Operator出现之前的k8s监控方案.后来出现了Prometheus Ope ...

  9. 刷题记录:[SUCTF 2019]CheckIn

    目录 刷题记录:[SUCTF 2019]CheckIn 一.涉及知识点 1.利用.user.ini上传\隐藏后门 2.绕过exif_imagetype()的奇技淫巧 二.解题方法 刷题记录:[SUCT ...

  10. 安装关系型数据库MySQL和大数据处理框架Hadoop

    1. 简述Hadoop平台的起源.发展历史与应用现状.列举发展过程中重要的事件.主要版本.主要厂商:国内外Hadoop应用的典型案例. (1)Hadoop的介绍: Hadoop最早起源于Nutch,N ...