“Zabbix邮件报警”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
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 "mylove" [email protected]</pre>
+
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
  
#这样会少个$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
 
  
 
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" </pre>
+
/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
+
管理--> 用户-- 选择你的用户 然后   --> 报警媒介  -->添加 --> 类型 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}

Gbb.png

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

查看 报表--动作日志时 失败如下

Emailnotuser.png


填写页面的 smtp.126.com 不要写成smpt.126.com

see also

分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署


http://www.cnblogs.com/hanyifeng/p/5366855.html

zabbix3.2.0触发邮件告警流程

zabbix不发送邮件

添加自定义监控项目,配置邮件告警,测试告警,不发邮件的问题处理

添加自定义监控项目 配置邮件告警 测试告警 不发邮件的问题处理

自动化监控Zabbix之邮件报警

zabbix email报警

使用mailx发送邮件