zabbix+mailx邮件警报
自定义zabbix媒体介质类型,创建监控项(item)和创建动作(actions)触发触发器,通过自定义脚本利用mailx工具发送邮件
mailx
mailx工具提供了信息的接收和发送功能
mailx拥有两种模式,分别为接收模式和发送模式
发送模式:应用程序或用户可以使用“发送模式”从标准输入中的文本发送消息
接收模式:接收模式更面向交互式用户,可以在此交互模式下阅读和发送邮件
在此把mailx当作一个小型的邮件发送程序
邮件发送测试流程
1、准备工作
注册邮箱
在相关邮箱界面,开启SMTP服务
获取授权码
163邮箱的授权码仅显示一次,需把授权码记录下来
2、安装工具
yum install mailx
3、编辑配置文件
vim /etc/mail.rc
#写入下列内容
set from=123123@163.com #定义邮件发件人
set smtp=smtp.163.com #指定第三方发邮件的smtp服务器地址
set smtp-auth-user=123123@163.com #第三方发邮件的用户名
set smtp-auth-password= #填入授权码
set smtp-auth=login #SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式
4、测试发送
在命令行中输入
mail -s “test” 123213@163.com < /test/1.txt
#mail或者mailx命令都可以,格式为[mail -s “标题” 目标邮箱 < 文本文件]
或者
echo “test”|mail -s “test” 123123@163.com
#格式为[echo “邮件内容”|mail -s “标题” 目标邮箱]
以上两种方式都可以测试mailx工具是否可以发送邮件,区别是第一种需要文本文件,第二种则可以直接echo
测试完成
配置zabbix媒体介质及监控项+动作
1、准备工作
zabbix服务器启动,并启动相关服务(http,mysql,php-fpm,zabbix-server,zabbix-agent)
zabbix完成主机的添加和其余配置
在相关位置创建脚本,且赋予执行权限
vim /usr/lib/zabbix/alertscripts/my-scripts.sh
#!/bin/bash
#export.UTF-8 #使用UTF-8
to=$1 #定义目标邮箱,对应zabbix自带参{ALERT.SENDTO}
subject=$2 #定义邮件标题,对应zabbix自带参{ALERT.SUBJECT}
context=$3 #定义邮件内容,对应zabbix自带参{ALERT.MESSAGE} # 这条感觉是多余的
FILE=/tmp/mailtmp.txt #临时存放二进制信息
echo "$3" > $FILE
dos2unix -k $FILE #zabbix发送的邮件内容是二进制的,dos2unix可以把二进制翻译为文本
/bin/mail -s "$subject" $to < $FILE
chmod +x /usr/lib/zabbix/alertscripts/my-scripts.sh #赋予执行权限
2、进入zabbix前端并登录
3、创建媒体介质类型
展开管理选项卡并进入媒体介质类型
点击右上角创建媒体介质类型
填入信息
进入邮件模板,添加邮件模板,定义邮件内容,此步定义邮件发送的内容格式
点击更新,媒体介质类型创建完成
4、为用户选择媒体介质
进入用户界面
点击媒体介质选项,添加媒体介质
点击更新,用户选择媒体介质完成
5、创建监控项
6、创建触发器
7、创建动作
点击创建动作,添加相应的触发器或其他
点击操作选项卡,添加操作
点击添加,创建完成
8、观察结果
触发器报警
显示邮件发送完成
检查邮箱
警报完成
————————————————
本文链接:linuxR7) 比较靠谱,就是作者装逼用英文">https://www.kinber.cn/post/3042.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: