ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux(centos8):zabbix配置邮件报警(zabbix5.0)

2020-06-28 19:53:18  阅读:1603  来源: 互联网

标签:发邮件 zabbix5.0 data server blog zabbix linux root


一,zabbix5.0发邮件报警的准备工作:

      zabbix5.0在linux平台上的安装:参见这一篇:

https://www.cnblogs.com/architectforest/p/12912560.html

      阿里云主机linux平台配置mailx使用smtps发邮件,参见这一篇:

https://www.cnblogs.com/architectforest/p/12924395.html

 

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,使zabbix可以通过bash脚本发邮件:

备注:在添加发邮件脚本前应已完成mailx的配置

[root@blog ~]# more /etc/mail.rc
#其他配置...
#by lhd set from=cbnlaoliuhb@163.com set smtp=smtps://smtp.163.com:465 set smtp-auth-user=cbnlaoliuhb@163.com set smtp-auth-password=TVPPDSCLUUIVULOL set smtp-auth=login ##set smtp-use-starttls set ssl-verify=ignore set nss-config-dir=/root/.163certs

 

1,创建发邮件发警的脚本所在目录:

[root@blog zabbx-5.0.0]# mkdir -p /data/zabbix_server/data/alertscripts

 

2,修改zabbix_server的配置

修改配置文件:

[root@blog zabbx-5.0.0]# vi /usr/local/soft/zabbx-5.0.0/etc/zabbix_server.conf 

设置配置项:

AlertScriptsPath=/data/zabbix_server/data/alertscripts

重启服务

[root@blog zabbx-5.0.0]# systemctl restart zabbix-server.service

 

3,编写发邮件的脚本

[root@blog zabbx-5.0.0]# vi /data/zabbix_server/data/alertscripts/mailx.sh 

内容:

#!/bin/bash
echo "$3" | mail -s "$2" "$1"

 

4,为脚本增加可执行权限和修改owner

[root@blog zabbx-5.0.0]# chmod +x /data/zabbix_server/data/alertscripts/mailx.sh
[root@blog zabbx-5.0.0]# chown zabbix:zabbix /data/zabbix_server/data/alertscripts/mailx.sh

 

5,测试发一封邮件:

[root@blog ~]# sudo -u zabbix /data/zabbix_server/data/alertscripts/mailx.sh 371125307@qq.com "zabbix alert" "/etc/passwd is changed"

能收到表示发邮件成功

查看邮箱: 

 

三,配置zabbix监控到问题时触发动作发邮件报警

我们添加一个例子:当php的错误日志中出现error字样时,发送邮件报警

1,配置报警媒介:

  

说明:注意脚本名称:不要写绝对路径,因为在配置文件中已经做了配置

在这里我把Email改名成了email脚本,大家可以新建一个媒介类型

 

2,测试 Email脚本 这个媒介类型是否能正常发送邮件?

  

看到 “Media type test successful.”,并收到邮件,
表示报警媒介工作正常

 

3,新建一个用户组和用户,用来接收邮件

说明:不能只创建用户而不创建用户组,因为要使用用户组来配置权限

说明:邮件用户组要对监控的主机群组有读写权限

创建用户:

配置用户的报警媒介:

 

4,给web2这台主机增加对日志/data/logs/phplogs/error.log的监控触发器:
监控的字串是:ERROR

 

5,配置动作:当触发动作时会发邮件到指定用户报警

 新建一个动作:

注意选中我们新建的触发器

还要增加发邮件报警的操作

 

6,测试效果

登录到web2,在error.log中新加一行:

[root@web2 phplogs]# vi error.log 

新加一行:

ERROR fatal 3009

回到zabbix查看仪表板(注意有可能有几秒钟时间的延时):

已经报告了问题

此时邮箱也收到了邮件.

 

7,mailx通过脚本发送邮件有一个问题:邮件内容会作为附件发送,邮件本身的内容为空,如何解决?

查看是否存在dos2unix命令?

[root@blog ~]# whereis dos2unix
dos2unix: /usr/bin/dos2unix /usr/share/man/man1/dos2unix.1.gz

如果不存在,用dnf安装

[root@blog ~]# dnf install dos2unix

修改发邮件的脚本:

[root@blog phplogs]# vi /data/zabbix_server/data/alertscripts/mailx.sh

内容:

#!/bin/bash
#echo "$3" | mail -s "$2" "$1"
FILE=/tmp/mailtmp${RANDOM}.txt
touch $FILE
echo "$3" >$FILE
dos2unix -k $FILE
mailx -v -s "$2" "$1" < $FILE
rm -rf $FILE

之后邮件发送正常,内容可以正常显示

如图:

四,查看zabbix的版本:

[root@blog zabbix-5.0.0]# /usr/local/soft/zabbx-5.0.0/sbin/zabbix_server --version
zabbix_server (Zabbix) 5.0.0
Revision 9665d62db0 11 May 2020, compilation time: May 17 2020 09:37:03

Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

 

标签:发邮件,zabbix5.0,data,server,blog,zabbix,linux,root
来源: https://www.cnblogs.com/architectforest/p/13204184.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有