prometheus监控预警之AlertManager邮箱报警
Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,例如邮件、微信、钉钉、Slack 等常用沟通工具,而且很容易做到告警信息进行去重,降噪,分组等,是一款很好用的告警通知系统。
一、安装alertmanager并配置邮箱报警
1、配置邮箱报警之模拟node节点down掉之后报警,恢复之后报警
cd /usr/local
wget https://github.com/prometheus/alertmanager/releases/download/v0.22.1/alertmanager-0.22.1.linux-amd64.tar.gz
tar xf alertmanager-0.22.1.linux-amd64.tar.gz
ln -s alertmanager-0.22.1.linux-amd64 alertmanager
修改alertmanager的配置文件:
vim /ur/local/alertmanager/alertmanager.yml
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.qq.com:25'
smtp_from: '*********@qq.com' #发件人邮箱
smtp_auth_username: '********@qq.com' #发件人用户名
smtp_auth_password: '*********' #邮箱授权码(这个码要登录你的邮箱在设置里可以获取)
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: '*********@163.com' #收件人邮箱
headers: {Subject: "WARNING-告警邮件"}
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
添加alertmanager系统服务:
vim /lib/systemd/system/alertmanager.service[Unit]
Description=Prometheus Alertmanager Service daemon
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/alertmanager/alertmanager --config.file="/usr/local/alertmanager/alertmanager.yml" --storage.path="/usr/local/alertmanager
/data/" --data.retention=120h --web.external-url="http://xxx.xxx.xxx.133:9093" --web.listen-address=":9093"Restart=on-failure[Install]
WantedBy=multi-user.targetsystemctl daemon-reload #重新加载配置
修改prometheus配置文件:
vim /usr/local/prometheus/prometheus.yml
......
alerting:
alertmanagers:
- static_configs:
- targets:
- xxx.xxx.xxx.133:9093 #主机ip,默认端口号9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- rules/*.yaml #报警规则文件路径
......
创建rules目录,并编写报警规则:
mkdir /usr/local/prometheus/rulescd /usr/local/prometheus/rules
vim node_rule.yaml
groups:
- name: UP
rules:
- alert: nodes
expr: up{job="node_exporter_discovery"} == 0
for: 30s
labels:
severity: critical
annotations:
description: "{{ $labels.instance }} of job of {{ $labels.job }} has been down for more than 5 minutes."
summary: "{{ $labels.instance }} down,up=={{ $value }}"
注意:expr规则可以浏览9090端口Graph下搜索各种规则用于匹配报警,一旦达到预想的值就会进行报警
重启prometheus和启动alertmanager:
systemctl restart prometheus
systemctl start alertmanager
可以尝试将监控的node主机down掉或关机,然后查看是否收到邮件报警,恢复之后是否收到恢复的邮件通知
prometheus监控预警之AlertManager邮箱报警的更多相关文章
- 监控利器-Prometheus安装与部署+实现邮箱报警
Prometheus(普罗米修斯)监控 环境准备: 三台docker主机(centos7):docker01:172.16.1.30部署服务:Prometheus server,Grafana,Nod ...
- Prometheus 监控报警系统 AlertManager 之邮件告警
转载自:https://cloud.tencent.com/developer/article/1486483 文章目录1.Prometheus & AlertManager 介绍2.环境.软 ...
- 远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_181 我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能 ...
- 图文详解Prometheus监控+Grafana+Alertmanager告警安装使用
一:前言 一个服务上线了后,你想知道这个服务是否可用,需要监控.假如线上出故障了,你要先于顾客感知错误,你需要监控.还有对数据库,服务器的监控,等等各层面的监控. 近年来,微服务架构的流行,服务数越来 ...
- Prometheus监控神器-Alertmanager篇(1)
本章节主要涵盖了Alertmanager的工作机制与配置文件的比较详细的知识内容,由浅入深的给大家讲解. 警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的.警 ...
- prometheus(docker)安装和报警 -- nginx域名监控
软件组件:prometheusalertmanagerprometheus-webhook-dingtalk nginx-vts-exporternginx (###--add-module=../n ...
- Prometheus监控神器-Alertmanager篇(4)
本章节主要讲解Alertmanager高可用的搭建与配置的详细的知识内容. 为了提升Prometheus的服务可靠性,我们会部署两个或多个的Prometheus服务,两个Prometheus具有相同的 ...
- Prometheus监控学习记录
官方文档 Prometheus基础文档 从零开始:Prometheus 进阶之路:Prometheus —— 技巧篇 进阶之路:Prometheus —— 理解篇 prometheus的数据类型介绍 ...
- Prometheus监控(二)
Prometheus监控(二) 数据类型 Counter(计数器类型) Counter类型的指标的工作方式和计数器一样,只增不减(除非系统发生了重置),Counter一般用于累计值. Gauges(仪 ...
随机推荐
- JavaScript day04 函数
函数 函数讲解 函数是什么? 函数其实就抽取写好的js代码 作为一个通用的代码块 (封装) 作用: 减少代码冗余 (过多) 方便调用 (提供效率 提高代码的可读性) 便于维护 (二次修改) js有哪些 ...
- 去掉一个Vector集合中重复的元素 ?
Vector newVector = new Vector(); For (int i=0;i<vector.size();i++) { Object obj = vector.get(i); ...
- 你将如何使用 thread dump?你将如何分析 Thread dump?
新建状态(New) 用 new 语句创建的线程处于新建状态,此时它和其他 Java 对象一样,仅仅在堆区 中被分配了内存. 就绪状态(Runnable) 当一个线程对象创建后,其他线程调用它的 sta ...
- Spring 切面可以应用五种类型的通知?
Spring 切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用. after: 在方法执行之后调用的通知,无论方法执行是否成功. after-returning: 仅当方法 ...
- 用maven建立一个工程3
在文件夹里面创建一个新文件夹把工程建立在里面
- springboot gateway 动态路由-01
SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发 ...
- 遇到的问题之"项目启动加载不出页面"
已找到解决方案1 需要启动这两个微服务(注意:这个属于个人,你们也可以看看是否关联到相关微服务未启动)
- python中dtype,type,astype的区别
python中dtype,type,astype的区别 type() dtype() astype() 函数名称 用法 type 返回参数的数据类型 dtype 返回数组中元素的数据类型 astype ...
- ES6-11学习笔记--字符串的扩展
字符的Unicode表示法 字符串的遍历器接口 ****重点****模板字符串 String.fromCodePoint() String.prototype.includes() String.pr ...
- 2022DASCTF X SU 三月春季挑战赛 ezpop
复现一道dactf的ezpop <?php class crow { public $v1; public $v2; function eval() { echo new $this->v ...