linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)
一,alertmanager的用途
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,下载alertmanager
https://prometheus.io/download/
[root@blog prometheus]# pwd
/usr/local/source/prometheus
[root@blog prometheus]# wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0/alertmanager-0.20.0.linux-amd64.tar.gz
三,安装alertmanager
[root@blog prometheus]# tar -zxvf alertmanager-0.20.0.linux-amd64.tar.gz
[root@blog prometheus]# mv alertmanager-0.20.0.linux-amd64 /usr/local/soft/
[root@blog prometheus]# /usr/local/soft/alertmanager-0.20.0.linux-amd64/alertmanager --version
alertmanager, version 0.20.0 (branch: HEAD, revision: f74be0400a6243d10bb53812d6fa408ad71ff32d)
build user: root@00c3106655f8
build date: 20191211-14:13:14
go version: go1.13.5
四,配置alertmanager
[root@blog alertmanager-0.20.0.linux-amd64]# pwd
/usr/local/soft/alertmanager-0.20.0.linux-amd64
[root@blog alertmanager-0.20.0.linux-amd64]# vi alertmanager.yml
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:465'
smtp_from: 'chinalinuxzend@163.com'
smtp_auth_username: 'chinalinuxzend@163.com'
smtp_auth_password: 'yourauthcode'
smtp_require_tls: false
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'mail'
receivers:
- name: 'mail'
email_configs:
- to: '371125307@qq.com'
说明:
如果是在阿里云上,需要配置465端口发送邮件,因为25端口被封禁了,参考这一篇:
https://www.cnblogs.com/architectforest/p/12924395.html
smtp_auth_password:它不是邮箱的登录密码,而是邮件服务商提供的一个授权码
[root@blog alertmanager-0.20.0.linux-amd64]# ./amtool check-config alertmanager.yml
五,使systemd支持alertmanager服务
[root@blog alertmanager-0.20.0.linux-amd64]# vi /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=Alertmanager
After=network.target [Service]
Type=simple
ExecStart=/usr/local/soft/alertmanager-0.20.0.linux-amd64/alertmanager --config.file=/usr/local/soft/alertmanager-0.20.0.linux-amd64/alertmanager.yml
Restart=on-failure [Install]
WantedBy=multi-user.target
[root@blog alertmanager-0.20.0.linux-amd64]# systemctl daemon-reload
[root@blog alertmanager-0.20.0.linux-amd64]# systemctl start alertmanager.service
[root@blog alertmanager-0.20.0.linux-amd64]# systemctl status alertmanager.service
[root@blog alertmanager-0.20.0.linux-amd64]# ss -lntp | grep alertmanager
LISTEN 0 1024 *:9093 *:* users:(("alertmanager",pid=29807,fd=6))
LISTEN 0 1024 *:9094 *:* users:(("alertmanager",pid=29807,fd=3))
http://121.122.123.47:9093/
六,配置prometheus使用alertmanager报警
[root@blog ~]# mkdir -p /data/prometheus/rules
[root@blog ~]# cd /data/prometheus/rules/
[root@blog rules]# vi rule.yml
groups:
- name: alert-rules.yml
rules:
- alert: InstanceStatus # alert 名字
expr: up{job="118node"} == 0 # 判断条件
for: 10s # 条件保持 10s 才会发出 alter
labels: # 设置 alert 的标签
severity: "critical"
annotations: # alert 的其他标签,但不用于标识 alert
description: 服务器 已当机超过 20s
summary: 服务器 运行状态
[root@blog ~]# vi /usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus.yml
alerting:
alertmanagers:
- static_configs:
- targets:
- localhost:9093
rule_files:
- "/data/prometheus/rules/rule.yml"
说明:指定了报警服务的地址/规则文件的地址
七,重启prometheus和alertmanager,使配置生效
[root@blog ~]# systemctl restart prometheus.service
[root@blog ~]# systemctl restart alertmanager.service
八,测试发送邮件效果:
http://121.122.123.47:9090/alerts
[root@cacheServer ~]# ps auxfww | grep node
root 6440 0.3 0.0 718788 16520 ? Sl Jun05 14:13 /usr/local/soft/node_exporter-1.0.0.linux-amd64/node_exporter
[root@cacheServer ~]# kill 6440
[root@cacheServer ~]# ps auxfww | grep node
九,查看prometheus的版本
[root@blog ~]# /usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus --version
prometheus, version 2.18.1 (branch: HEAD, revision: ecee9c8abfd118f139014cb1b174b08db3f342cf)
build user: root@2117a9e64a7e
build date: 20200507-16:51:47
go version: go1.14.2
十,查看linux的版本
[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)的更多相关文章
- zabbix配置发送报警邮件
配置邮件分为两种情况: 第一种:使用远端邮件服务器发送报警邮件 Linux系统版本:CentOS6.5-64 下载mailx: http://nchc.dl.sourceforge.net/proje ...
- 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录
邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...
- 使用python脚本配置zabbix发送报警邮件
#前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...
- shell:实现linux服务器资源监控并发送告警邮件
1.安装方式 wget http://10.8.225.126/wsmonitor/install.sh;sh install.sh test@test.com 2.install.sh #!/bin ...
- linux下发送报警邮件(mailx)
本文章主要解决 linux下监控到系统状况后怎么发邮件报警的问题. 如果你是最小化安装的centos/redhat 系统,是没有自带mailx的,也就是没有mail 命令. 解决办法 yum -y i ...
- 小白的linux笔记8:linux自动运行爬虫并发送提醒邮件
有了成功运行的爬虫后,希望能每天定时运行,且遇到错误时能及时发出提醒. 发出提醒 可以用mailx发出邮件做提醒.没有的话先安装Yum install mailx. 以qq邮箱为例,需要设置/etc/ ...
- 监控服务器ssh登录,并发送报警邮件
最近想监控下云主机的ssh登录情况,所以开始写ssh登录报警监控.实现方式并不难. 一:邮箱申请开启SMTP 在邮箱中选择“设置”----->“账户” 在如下图处开启POP3/SMTP服务,并生 ...
- 监控CPU使用率并发送报警邮件
#!/bin/bash DATE=$(date +%F" "%H:%M) #只支持centos6 IP=$(ifconfig eth0 | awk -F '[ :]+' '/ine ...
- C++实现的服务不可用发送报警邮件
正在看C++,我主业是Java开发,但是最近服务不太稳定,自己用C++造了个小轮子. 配置好要监控的访问路径,IP.端口号和路径.涉及到的知识点有以下几个部分: 构造函数与析构函数 内存的分配与释放( ...
随机推荐
- [剑指Offer]66-构建乘积数组
题目 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1].不能使用除法. 题 ...
- TDengine常见问题解答(FAQ)
1. TDengine2.0之前的版本升级到2.0及以上的版本应该注意什么?☆☆☆ 2.0版本在之前版本的基础上,进行了完全的重构,配置文件和数据文件是不兼容的.在升级之前务必进行如下操作: 删除配置 ...
- ⏰ Moment.js 宣布停止开发,现在该用什么?
本文整理自 Monent.js 官方英文公告 https://momentjs.com/docs/#/-project-status/ Moment.js 宣布停止开发,进入维护状态. 这是一个大而全 ...
- Vue iview可编辑表格的实现
创建table实例页 views/table.vue <template> <h1>table page</h1> </template> <sc ...
- 每日一道 LeetCode (48):最长回文子串
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- 学习使用PSTools工具中的psping
目录 初识PsTools psping 1.使用ICMP ping 2.使用TCP ping 3.延迟测试 4.带宽测试 5.同功能的tcping工具 总结 初识PsTools 在工作中我们都 ...
- zookeeper服务端
服务端启动时,就启动线程通过NIO监听网络端口.每个连接都会有一个上下文环境对象,当接收到请求后,会在上下文环境对象中进行处理. 服务端启动线程,监听网络端口,(NIOServerCnxn.Facto ...
- Spring Boot 项目打成 war 包部署
Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...
- Spring AOP系列(五)—反射
前言 前面我们进行了代理模式.静态代理.动态代理的学习.而动态代理就是利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称"动态代理类&qu ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...