如何将告警推送至邮箱集成

本文介绍如何将告警信息推送至邮箱集成。

场景

在服务器上产生异常推送至邮箱通知是常见场景,本文介绍将以一段包含关键指标/异常信息的日志推送至邮箱集成为例,在运维事件中心里以邮箱集成的方式在触发告警时推送至运维事件中心。

获取异常信息

本文档以推送某段日志为例。

示例日志内容如下,并将日志保存为test.log。

{"summary":"acCpu_util at 85.16% on mhine X.X.X.X","application":"xxx/yyy","name":"Cpu 使用超额预警","details":{"freeSpace":"1%","pingTime":"1500ms","loadAvg":"0.75"},"source":"X.X.X.X","priority":"P4","region":"shanghai","class":"Load","timestamp":"2021-07-17 T08:42:58.315+0000","group":"线上","tags":"{}"}
重要

注:为了便于说明,上述日志内容的字段已按照邮箱集成中MessageBody字段格式样式进行打印。

配置告警异常时发送邮箱

前提:已开通25端口。

1.安装mailx。

yum install mailx

2.邮箱配置。

修改/etc/mail.rc文件。

set from=邮箱
set smtp=smtps://邮箱smpt地址
set smtp-auth-user=邮箱用户名
set smtp-auth-password=密码
set smtp-auth=login

添加集成并进行告警推送

1. 在运维事件中心控制台获取邮箱集成的密钥。image

2.将地址复制到Shell脚本中。

#!/bin/bash
mail=$(tail -n1 test.log)
echo "$mail" | mailx -v -s "邮件主题" 邮件地址
注:邮件主题、邮件地址进行替换,例:
echo "$mail" | mailx -v -s "Problem Service Alert:Server1/HTTP is CRITICAL" ff5f5b5282fe4a299d155b5cd5241c0b@email.aioscloud.com

3.执行脚本或将脚本加入crontab中进行定期执行。脚本执行时将会把test.log的日志推送到邮件集成。

查看邮件集成告警记录

image