Linux中zabbix监控服务设置邮箱通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中zabbix监控服务设置邮箱通知相关的知识,希望对你有一定的参考价值。

环境说明:

环境 IP
服务器端 192.168.209.12
客户端 192.168.209.13

实验条件:
zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,zabbix监控运行正常。

实现目的:
zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。

在服务端操作
1.安装邮件发送工具mailx
[[email protected] ~]#  yum -y install mailx 
2.配置mail
[[email protected] ~]# vim /etc/mail.rc
set [email protected]   //用于zabbi服务端转发邮件到指定邮箱
set smtp=smtp.163.com //发送邮箱服务器地址smtp
set [email protected]   //邮箱用户
set smtp-auth-password=LZY999999      //授权码 密码
set smtp-auth=login    //登录

//启动邮件mail服务
[[email protected] ~]# systemctl restart postfix

3.测试邮件能否发送
[[email protected] ~]# echo "主机" | mail -s ‘主 ‘ [email protected]   
zabbix服务器设置邮箱报警

4.编写邮件发送脚本(在服务器端)
[[email protected] ~]#  cd /usr/local/share/zabbix/alertscripts/  
[[email protected] alertscripts]# vim mail.sh
    #!/bin/bash
messages=`echo $3 | tr ‘
‘ ‘
‘`
subject=`echo $2 | tr ‘
‘ ‘
‘`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

//修改脚本目录的属主属组
[[email protected] alertscripts]# chown zabbix.zabbix /usr/local/share/zabbix/alertscripts/
//给予脚本执行权限
[[email protected] alertscripts]# chmod +x /usr/local/share/zabbix/alertscripts/mail.sh
[[email protected] alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/
-rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 mail.sh

[[email protected] alertscripts]# ll zabbix.zabbix /usr/local/share/zabbix/alertscripts/mail.sh
-rwxr-xr-x 1 zabbix zabbix 153 Aug 23 15:02 /usr/local/share/zabbix/alertscripts/mail.sh

//创建脚本存放日志的目录并修改属主属组
[[email protected] ~]# touch /tmp/sendmail.log 
[[email protected] ~]# chown zabbix.zabbix /tmp/sendmail.log
[[email protected] ~]# ll  /tmp/sendmail.log
-rw-r--r-- 1 zabbix zabbix 2082 Aug 23 15:14 /tmp/sendmail.log

5.编辑zabbix_server.conf配置文件
[[email protected] ~]#vim /usr/local/etc/zabbix_server.conf   
###Option: AlertScriptsPath
#Full path to location of custom alert scripts.
#Default depends on compilation options.

#Mandatory: no
#Default:
#AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/share/zabbix/alertscripts  //改成mail.sh脚本存放路径

6.使用脚本执行邮件发送测试
[[email protected] alertscripts]# ./mail.sh [email protected] "这是" "ll" 

7.Zabbix后台web界面配置
1.管理 ---- 报警媒介类型 ----- 创建媒介类型。

2.名称可以随便自己定义 ----- 类型选择脚本 ----- 脚本名称输入上一步编写的发送邮件的脚本名称 ----
再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

3.管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以)
zabbix服务器设置邮箱报警
技术分享图片

4.报警媒介 ---- 添加。
类型输入刚刚创建的报警媒介类型sendmail脚本 --- 输入个人邮箱用于接收报警邮件 --- 启动打勾 ---- 添加。
zabbix服务器设置邮箱报警

5.配置 ---- 动作 ---- 创建动作。
动作 ---- 名称自定义 --- 启用 ---- 添加。(触发条件需要根据实际情况设置,相当于正则表达式,一般不设置,相当于监控所有监控项)

6.定义操作。

技术分享图片

7.Zabbix后台web界面配置

1.管理 ---- 报警媒介类型 ----- 创建媒介类型。

技术分享图片

2.名称可以随便自己定义 ----- 类型选择脚本 ----- 脚本名称输入上一步编写的发送邮件的脚本名称 ----
再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

技术分享图片

3.管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以)

技术分享图片

4.报警媒介 ---- 添加。

类型输入刚刚创建的报警媒介类型sendmail脚本 --- 输入个人邮箱用于接收报警邮件 --- 启动打勾 ---- 添加。

技术分享图片

5.配置 ---- 动作 ---- 创建动作。
动作 ---- 名称自定义 --- 启用 ---- 添加。(触发条件需要根据实际情况设置,相当于正则表达式,一般不设置,相当于监控所有监控项)

技术分享图片

6.定义操作。

技术分享图片

测试

在客户端操作
在客户端修改监控项查看是否会触发报警邮件发送给收件方。

我在这里编辑 /etc/linfan

[[email protected] ~]# zabbix_agentd
[[email protected] ~]# echo "doudou" >> /etc/linfan

技术分享图片

技术分享图片

实验小结
如上图所示:当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。

以上是关于Linux中zabbix监控服务设置邮箱通知的主要内容,如果未能解决你的问题,请参考以下文章

运维监控Zabbix监控Linux主机设置

zabbix实现邮件报警

zabbix验证微信

zabbix自定义监控脚本配置

linux 除了zabbix还有啥监控软件

Linux企业级监控---zabbix安装及监控Linux服务器