“Zabbix邮件报警”的版本间的差异
跳到导航
跳到搜索
docker>Evan |
|||
(未显示同一用户的12个中间版本) | |||
第1行: | 第1行: | ||
== 安装mailx == | == 安装mailx == | ||
− | <pre>yum -y remove mailx | + | <pre> |
+ | #现在是12.5 应该不用操作了 我试一下先 | ||
+ | # mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件 | ||
+ | yum -y remove mailx | ||
yum -y install patch dos2unix | yum -y install patch dos2unix | ||
wget -c http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2 | wget -c http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2 | ||
第15行: | 第18行: | ||
ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接 | ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接 | ||
</pre> | </pre> | ||
+ | |||
== 配置 == | == 配置 == | ||
第24行: | 第28行: | ||
set [email protected] smtp=mail.cc | set [email protected] smtp=mail.cc | ||
set smtp-auth-user=zabbix smtp-auth-password=zabbix | set smtp-auth-user=zabbix smtp-auth-password=zabbix | ||
− | set smtp-auth=login ' >>/etc/mail.rc</pre> | + | set smtp-auth=login ' >>/etc/mail.rc |
+ | |||
+ | |||
+ | |||
+ | |||
+ | #by evan2019 | ||
+ | set [email protected] smtp=smtp.126.com | ||
+ | set smtp-auth-user=linux smtp-auth-password=1234 | ||
+ | set smtp-auth=login | ||
+ | |||
+ | |||
+ | </pre> | ||
===发送示列=== | ===发送示列=== | ||
<pre> | <pre> | ||
# body |mail -s "title" | # body |mail -s "title" | ||
− | echo " test mail" |mail -s " | + | echo " test mail" |mail -s "mylove201910" [email protected]</pre> |
− | |||
===修改zabbix_server.conf指定脚本路径=== | ===修改zabbix_server.conf指定脚本路径=== | ||
第50行: | 第64行: | ||
/bin/mail -s "$2" $1 | /bin/mail -s "$2" $1 | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
touch /tmp/mailtmp.txt | touch /tmp/mailtmp.txt | ||
第76行: | 第81行: | ||
./sendmail.sh emailadd "标题" "内容" | ./sendmail.sh emailadd "标题" "内容" | ||
− | /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh [email protected] "title " "love evan" | + | /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh [email protected] "title " "love evan" |
+ | |||
+ | |||
+ | |||
+ | trouble | ||
+ | #这样会少个$3 | ||
+ | cat >> /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh << EOF | ||
+ | #!/bin/sh | ||
+ | #export.UTF-8 | ||
+ | export LANG=zh_CN.UTF-8 #(解决标题乱码) | ||
+ | FILE=/tmp/mailtmp.txt | ||
+ | echo "$3" >$FILE | ||
+ | dos2unix -k $FILE #(解决内容乱码) | ||
+ | /bin/mail -s "$2" $1 < $FILE | ||
+ | EOF | ||
+ | |||
+ | |||
+ | 会不会影响 | ||
+ | su -l zabbix -c "/usr/lib/zabbix/alertscripts/sendmail.sh" [email protected] "title" "love evan " | ||
+ | This account is currently not available. | ||
+ | |||
+ | |||
+ | |||
+ | </pre> | ||
==zabbix web 添加脚本== | ==zabbix web 添加脚本== | ||
第90行: | 第118行: | ||
{ALERT.MESSAGE} | {ALERT.MESSAGE} | ||
</pre> | </pre> | ||
+ | [[File:gbb.png|frameless|50px]] | ||
===2修改用户警告类型=== | ===2修改用户警告类型=== | ||
− | 管理--> 用户-- 选择你的用户 然后 | + | 管理--> 用户-- 选择你的用户 然后 --> 报警媒介 -->添加 --> 类型 sendmail 收件人 你要填写的email |
===3=== | ===3=== | ||
<pre>配置-->动作--> create -->动作 | <pre>配置-->动作--> create -->动作 | ||
名称 actionemail | 名称 actionemail | ||
+ | |||
+ | |||
+ | 条件 A 触发器示警度 大于等于 警告 | ||
+ | |||
+ | |||
默认接收人 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! | 默认接收人 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! | ||
第129行: | 第163行: | ||
记得要 两次更新 | 记得要 两次更新 | ||
+ | |||
+ | =trouble= | ||
+ | == no media defined user== | ||
+ | 查看 报表--动作日志时 失败如下 | ||
+ | |||
+ | [[File:Emailnotuser.png|frameless|50px]] | ||
+ | |||
+ | |||
+ | 填写页面的 smtp.126.com 不要写成smpt.126.com | ||
=see also= | =see also= | ||
+ | |||
+ | [https://www.cnblogs.com/kevingrace/p/5961861.html 分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署] | ||
+ | |||
http://www.cnblogs.com/hanyifeng/p/5366855.html | http://www.cnblogs.com/hanyifeng/p/5366855.html | ||
第145行: | 第191行: | ||
[http://www.ywnds.com/?p=6574 zabbix email报警] | [http://www.ywnds.com/?p=6574 zabbix email报警] | ||
+ | |||
+ | [https://www.cnblogs.com/softwaretesting/archive/2011/11/23/2260520.html 使用mailx发送邮件] | ||
[[category:zabbix]] | [[category:zabbix]] |
2020年2月12日 (三) 02:54的最新版本
目录
安装mailx
#现在是12.5 应该不用操作了 我试一下先 # mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件 yum -y remove mailx yum -y install patch dos2unix wget -c http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2 tar xvf mailx-12.4.tar.bz2 cd mailx-12.4 wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch make -j4 make install UCBINSTALL=/usr/bin/install ln -s /usr/local/bin/mailx /bin/mail #创建 mailx到mail的软连接 ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接
配置
修改配置文件
vi /etc/mail.rc echo '# Only include selected header fields when forwarding messages. fwdretain subject date from to set [email protected] smtp=mail.cc set smtp-auth-user=zabbix smtp-auth-password=zabbix set smtp-auth=login ' >>/etc/mail.rc #by evan2019 set [email protected] smtp=smtp.126.com set smtp-auth-user=linux smtp-auth-password=1234 set smtp-auth=login
发送示列
# body |mail -s "title" echo " test mail" |mail -s "mylove201910" [email protected]
修改zabbix_server.conf指定脚本路径
#AlertScriptsPath=/etc/zabbix/zabbix_server.conf.d/alertscripts/ AlertScriptsPath=/data/apps/zabbix/zabbix-server/share/zabbix/alertscripts/ service zabbix_server restart mkdir -p /etc/zabbix/zabbix_server.conf.d/alertscripts/ #[root@test ~]# cat /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh
配置脚本
vi /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh #!/bin/sh #export.UTF-8 export LANG=zh_CN.UTF-8 #(解决标题乱码) FILE=/tmp/mailtmp.txt echo "$3" >$FILE dos2unix -k $FILE #(解决内容乱码) /bin/mail -s "$2" $1 touch /tmp/mailtmp.txt #注意:给mailtmp.txt权限,否则收件内容为空,因为zabbix没有权限写入。 chown zabbix:zabbix /tmp/mailtmp.txt 给脚本设置zabbix运行权限 chown zabbix:zabbix /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh chmod +x /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh 测试发送最好使用zabbix用户测试,因为使用root会改变mailtmp.txt文件权限,导致发送邮件内容还是空或是测试写入的内容。 ./sendmail.sh emailadd "标题" "内容" /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh [email protected] "title " "love evan" trouble #这样会少个$3 cat >> /etc/zabbix/zabbix_server.conf.d/alertscripts/sendmail.sh << EOF #!/bin/sh #export.UTF-8 export LANG=zh_CN.UTF-8 #(解决标题乱码) FILE=/tmp/mailtmp.txt echo "$3" >$FILE dos2unix -k $FILE #(解决内容乱码) /bin/mail -s "$2" $1 < $FILE EOF 会不会影响 su -l zabbix -c "/usr/lib/zabbix/alertscripts/sendmail.sh" [email protected] "title" "love evan " This account is currently not available.
zabbix web 添加脚本
1
管理-->报警媒介类型 --> creat --> ##内容 名称 sendmail 类型 脚本 脚本参数 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
2修改用户警告类型
管理--> 用户-- 选择你的用户 然后 --> 报警媒介 -->添加 --> 类型 sendmail 收件人 你要填写的email
3
配置-->动作--> create -->动作 名称 actionemail 条件 A 触发器示警度 大于等于 警告 默认接收人 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} 还有恢复信息 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复! 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
4
配置-->动作--> create -->操作
操作类型 发送到用户 仅送到 默认信息等等
记得要 两次更新
trouble
no media defined user
查看 报表--动作日志时 失败如下
填写页面的 smtp.126.com 不要写成smpt.126.com
see also
分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署
http://www.cnblogs.com/hanyifeng/p/5366855.html
添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理