天天看点

zabbix报警发送邮件配置

先创建组和用户,这个组内的用户只是用来监控的,所以权限只给读权限,报警媒介输入邮箱地址。

<a href="https://s1.51cto.com/wyfs02/M02/95/70/wKioL1kVM6SgRpLJAAFJ1hGVb0s209.jpg" target="_blank"></a>

2.在 配置-动作 选择创建动作。

<a href="https://s5.51cto.com/wyfs02/M00/95/70/wKiom1kVNOrgLKq5AAGqtLMNCkQ911.jpg" target="_blank"></a>

3.填写动作名称,触发条件。

<a href="https://s2.51cto.com/wyfs02/M02/95/70/wKiom1kVNc2h08pzAAGGgiJqngQ048.jpg" target="_blank"></a>

4.操作填写触发后执行的动作,远程执行命令或发送邮件:

<code>#默认信息,这里是宏变量,可以设置成中文,这里我常用的是下面这个。</code>

<code>告警主机:{HOST.NAME}</code>

<code>主机IP: {HOST.IP}</code>

<code>告警时间:{EVENT.DATE}  {EVENT.TIME} </code>

<code>告警等级:{TRIGGER.SEVERITY} </code>

<code>告警信息:{TRIGGER.NAME}</code>

<code>问题详情:{ITEM.NAME}:{ITEM.VALUE}</code>

<code>事件ID: {EVENT.ID}</code>

<a href="https://s5.51cto.com/wyfs02/M02/95/71/wKioL1kVSPqQeA9pAAI9s1G1gRw973.jpg" target="_blank"></a>

5.在管理-报警媒介处选择报警类型(注意以下三处)。

<a href="https://s5.51cto.com/wyfs02/M02/95/70/wKiom1kVNDrRyH6hAAGrhmRFap4542.jpg" target="_blank"></a>

1)这里脚本名称是Email.sh,所以要在zabbix的安装目录中创建一个脚本:

我这里的zabbix3.2是编译安装的,所以脚本目录应放在/usr/local/zabbix/etc/alertscripts/下,yum安装的应放在/etc/zabbix/alertscripts/下。

<code>mkdir</code> <code>-p </code><code>/usr/local/zabbix/etc/alertscripts/</code>

<code>cd</code> <code>/usr/local/zabbix/etc/alertscripts/</code>

2)编写发送邮件的脚本

$1:邮件地址。

$2:邮件主题。

$3:邮件内容

vi Email.sh

<code>#!/bin/sh</code>

<code>#export.UTF-8</code>

<code>FILE=</code><code>/tmp/mailtmp</code><code>.txt</code>

<code>echo</code> <code>"$3"</code> <code>&gt;$FILE</code>

<code>dos2unix -k $FILE</code>

<code>/bin/mail</code> <code>-s </code><code>"$2"</code> <code>$1 &lt; $FILE</code>

注意:这里的Email.sh脚本一定要有可执行权限,mailtmp.txt同样需要可执行权限,否则发送的邮件会有问题。

<code>chmod</code> <code>+x Email.sh</code>

<code>touch</code> <code>/tmp/mailtmp</code><code>.txt</code>

<code>chmod</code> <code>777 </code><code>/tmp/mailtmp</code><code>.txt</code>

3)安装发送邮件的工具postfix或者申请一个163邮箱的smtp,这里用第二种方式,用163邮箱作为发送邮件的工具。

首先卸载linux自带的邮件发送工具。

<code>yum remove sendmail postfix -y</code>

申请一个163邮箱,然后设置smtp:

<a href="https://s4.51cto.com/wyfs02/M00/95/72/wKiom1kVTlTyB1LlAAGFtzoAI1o562.jpg" target="_blank"></a>

点击客户端授权密码,开启以后会得到一个密码,这个密码下面就要用到。

<a href="https://s5.51cto.com/wyfs02/M01/95/72/wKiom1kVTu-BmyptAAEMUfZp-Fk608.png" target="_blank"></a>

4)在服务器上编辑邮件mailx,没有的话需要安装:

<code>yum </code><code>install</code> <code>-y mailx</code>

<code>vi</code> <code>/etc/mail</code><code>.rc </code>

<code>#在配置文件最后添加如下内容:</code>

<code>set</code> <code>bsdcompat</code>

<code>set</code> <code>[email protected]   </code>

<code>set</code> <code>smtp=smtp.163.com</code>

<code>set</code> <code>[email protected]</code>

<code>set</code> <code>smtp-auth-password=123456   </code><code>#这个密码就是刚才开启的163客户端授权密码</code>

<code>set</code> <code>smtp-auth=login</code>

5)测试Email.sh脚本发送邮件是否能成功:

<code>/usr/local/zabbix/etc/alertscripts/Email</code><code>.sh </code><code>test</code><code>@qq.com </code><code>"test"</code> <code>"test email"</code>

6)如果脚本测试成功,那说明linux系统发送邮件是没有问题的,如果zabbix触发了事件,结果没收到邮件,就要检查zabbix的设置了。

本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1924995

继续阅读