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.端口号和路径.涉及到的知识点有以下几个部分: 构造函数与析构函数 内存的分配与释放( ...
随机推荐
- python中使用cookie进行模拟登录
背景:使用cookie模拟登录豆瓣->我的豆瓣网页 [准备工作] 1.通过Fiddler抓取“我的豆瓣”url: 2.通过Fiddler抓取“我的豆瓣”cookie值. import urlli ...
- k8s service对象
k8s service对象 概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解 ...
- 基于Prometheus网关的监控完整实现参考
prometheus 是一个非常好的监控组件,尤其是其与grafana配合之后,更是如虎添翼.而prometheus的监控有两种实现方式.1. server端主动拉取应用监控数据:2. 主动推送监控数 ...
- Java Web学习(一)Web基础
文章更新时间:2020/07/24 一.基本概念 web资源 Internet上供外界访问的Web资源分为两种: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态w ...
- 深夜,我偷听到程序员要对session下手……
我是一个web服务器 我是一个web服务器,我的工作是给人类提供上网服务,我每天要为数以万计的人提供网页浏览服务. 已经是深夜了,我还在和手下几个兄弟为了一件事紧张讨论着. "老大,现在咱们 ...
- Kubernetes客户端和管理界面大集合
今天给大家介绍目前市面上常用的kubernetes管理工具,总有一款适合您~~~ 简介 Kubectl K9s Kubernetes-Dashboard Rancher Kuboard Lens Oc ...
- LINQ中的OrderBy实现按照两个字段升序、降序排序操作
在公司或许有这种需求,先根据第一个某个字段按照升序排序,然后如果相同,在按照第二个某个字降序排序,我们该怎么去实现呢? 现在来教教大家分别使用Labmda和LINQ进行这种操作. 1.先按照第一个字段 ...
- 记一次GDB调试
目标文件: ciscn_2019_ne_5. 来源 :https://buuoj.cn/challenges 保护情况:保护是没有保护的 主要伪代码: int __cdecl main(int arg ...
- sping cloud入门
可以参考原文 https://www.cnblogs.com/sam-uncle/archive/2018/04/25/8943471.html 注册服务 https://www.cnblogs.co ...
- 【宝塔面板】centOS部署前后端分离所有遇到的坑,Django
1:刚刚买完服务器,在宝塔面板安装完一切工具,Django顺利运行后(不能运行一般是起了中文名) # 问题:想迁移数据库,结果发现-bash: python3: command not found# ...