Prometheus入门到放弃(5)之AlertManager部署
2024-10-19 07:47:03
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
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']
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
-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报警信息,此时邮件也会收到报警
最新文章
- pthreads 2.0.10 test
- SQLSERVER中如何快速比较两张表的不一样
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
- Enumerators and Enumerable
- java基础 (java工程师入门应该了解的)
- cocos2d-x如何新建一个模板项目
- angular 实例笔记之嵌套指令间的传参
- mysql 安装截图
- 【LeetCode】419. Battleships in a Board
- ROS(indigo)ROSPlan框架
- Springboot读取Jar文件中的resource
- 编写高质量的Python代码系列(八)之部署
- JavaScript 基础结构
- 发现了一个比较有意思的url参数
- 使用Actuator监控
- The Tower of Babylon(UVa 437)
- 2019.4.11 一题 XSY 1551 ——广义后缀数组(trie上后缀数组)
- 下载 VM 模板
- 四则运算 Java 实现 刘丰璨,王翠鸾
- Idea上配置btm