欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

程序员文章站 2022-04-06 20:37:58
目录一、添加监控linux主机二、配置邮箱一、添加监控linux主机1、配置-主机-创建主机2、填写信息3、添加模板4、查看状态二、配置邮箱系统环境:[root@localhost ~]# cat /...

一、添加监控linux主机

1、配置-主机-创建主机

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

2、填写信息

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

3、添加模板

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

4、查看状态

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

二、配置邮箱

系统环境:

[root@localhost ~]# cat /etc/redhat-release 
centos linux release 7.2.1511 (core) 

1、安装邮件发送工具mailx

如果安装了其他邮件发送工具,先关闭

service sendmail stop ##关闭sendmail
systemctl disable sendmail.service ##禁止开机启动sendmail
service postfix stop ##关闭postfix
systemctl disable postfix.service ##禁止开机启动postfix
[root@localhost ~]# yum install mailx

2、配置zabbix服务端外部邮箱,打开文件vim /etc/mail.rc 如果mail.rc文件没有,就手动创建,然后添加如下内容:

[root@localhost ~]# vim /etc/mail.rc

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

set sendcharsets=iso-8859-1,utf-8
set from=xxx@163.com
set smtp=smtp.163.com #163邮箱要开启smtp授权
set smtp-auth-user=xxx@163.com #认证用户
set smtp-auth-password=xxx #认证密码

3、测试邮件发送

[root@localhost ~]# echo "zabbix test mail" | mail -s "zabbix" xxx@163.com

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

4、编写发送邮件脚本

1)安装dos2unix转换工具( 解决发出的邮件是xx.bin附件格式的问题 ),(7.5.1804这个目录名会更变动)如果这里的下载链接失效就到阿里官网查找对应文件

[root@localhost ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/packages/dos2unix-6.0.3-7.el7.x86_64.rpm

获取https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/packages/dos2unix-6.0.3-7.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

   1:dos2unix-6.0.3-7.el7             ################################# [100%]

如下接受邮件显示,无法显示文字

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

2)修改邮件发送脚本内容

为什么我们会在这个路径下面创建这个脚本呢,这是在我们的zabbix_serber.conf文件中配置的
alertscriptspath=/usr/lib/zabbix/alertscripts

所以你不想将这个脚本放在这个目录下面,需要修改服务端的配置文件中的alertscriptspath的值

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

[root@localhost ~]# vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash 

#export.utf-8 #解决发送的中文变成了乱码的问题 
file=/tmp/mailtmp.txt 
echo "$3" >$file 
dos2unix -k $file #解决了发送的邮件内容变成附件的问题。 

/bin/mail -s "$2" $1 < $file

3)创建临时文件并授权,这里确保你的用户存在zabbix

[root@localhost ~]# touch /tmp/mailtmp.txt
[root@localhost ~]# chown zabbix.zabbix /tmp/mailtmp.txt

4)上面的这三个参数是接收从web页面传递的信息:

$1:收件人邮箱地址;
$2:邮件标题;
$3:邮件内容

5)给脚本添加权限,要不发生告警的时候邮件无法正常发送出去

[root@localhost ~]# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh 

5、管理-报警媒介类型-创建媒体类型

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

6、填写内容

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

添加以下3个参数,分别对应sendmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

 {alert.sendto}
 {alert.subject}
 {alert.message}

如果在3.0中不添加这三个参数会报错,因为在3.0以后zabbix允许自定义参数了,所以不会默认传递参数,在2.0的时候会默认传递三个参数,所以在3.0如果不写这三个参数会报错。

7、给用户添加报警媒介

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

8、设置告警条件:配置-动作-创建动作

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

1)设置条件和名称

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

2)填写接收人,默认信息,用户是刚填写好的接收邮件人,myemail也是刚创建的

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

故障告警:{trigger.status}: {trigger.name} 
告警主机:{host.name} 
主机地址:{host.ip} 
告警时间:{event.date} {event.time} 
告警等级:{trigger.severity} 
告警信息:{trigger.name} 
问题详情:{item.name}:{item.value} 
事件代码:{event.id} 

解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendemail.sh脚本发生报警邮件给admin用户和zabbix administrator组。假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送 间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。

3)恢复操作

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

故障解除:{trigger.status}: {trigger.name} 
恢复主机:{host.name} 
主机地址:{host.ip} 
恢复时间:{event.date} {event.time} 
恢复等级:{trigger.severity} 
恢复信息:{trigger.name} 
问题详情:{item.name}:{item.value} 
事件代码:{event.id}


到这我们的邮件报警配置就完成了,这是只要我们设置的触发器触发,就会自动给我发送报警邮件。

9、测试邮件告警

1)打开触发器

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

2)可以将zabbix自带的模板中的对可用内存的监控中的触发器的临界值改为大于20,进入模板列表

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

改之后

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

3)修改更新时间,使其更快检测

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

4)查看告警

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

5)邮箱确认

Centos7 Zabbix3.4邮件告警配置(解决邮件内容为xx.bin附件问题)

如果发送邮件有问题就重启服务端和zabbix-server 和httpd服务,客户端重启zabbix-agent服务