美文网首页运维驿站自动化监控Zabbix
zabbix邮件告警及执行远程命令(一)

zabbix邮件告警及执行远程命令(一)

作者: Murray66 | 来源:发表于2018-11-29 19:29 被阅读7次

    概述

    在zabbix中,创建带参数监控项(item),创建触发器(trigger),创建脚本形式的报警媒介(Media Type),当触发器被触发时执行动作(action),创建动作(action),包括发送邮件和执行远程命令,最后,触发报警,验证是否收到邮件及执行了远程命令。

    Step1 创建带参数监控项

    参考 zabbix从放弃到入门(5)在zabbix中添加带有参数的监控项

    点击 Configuration - Hosts - compute1Items:

    item1.png

    进入如下界面,点击Create Item

    item2.png

    创建监控项RootPartitionUsed,填写如图中配置,表示监控192.168.0.177主机下根磁盘使用率,点击update

    item3.png

    查看数据,点击Monitoring - Latest data,看到了监控项RootPartitionUsed

    item4.png

    点击最右边的graph查看图表:

    item5.png

    此时,已成功创建了一个带参数监控项。

    忽略左边一块凸起,是之前做实验留下的痕迹。

    Step2 创建触发器

    参考 zabbix从放弃到入门(7):触发器详解之一,创建触发器

    点击Configuration - Hosts - compute1Triggers

    trigger1.png

    进入如下界面,选好GroupHost,点击Create Item

    trigger2.png

    创建触发器RootPartitionUsedTrigger,设定等级为High,设定触发条件为compute1的根目录磁盘使用率超过5.46%,点击update

    trigger3.png

    其中,触发条件由上图Expression设定,点击add可进入编辑页,这里就不详述,可参考本步骤开头链接。

    再次查看数据,点击Monitoring - Latest data,找到监控项RootPartitionUsed

    点击最右边的graph查看图表,注意这里的Trigger

    trigger4.png

    此时,已成功创建了一个触发器。

    Step3 创建脚本形式的报警媒介

    参考 zabbix从放弃到入门(9):定义报警媒介

    点击Administration - Media types,点击最右边Create media type

    media1.png

    创建一个名为sendEmail,类型为Script的脚本作为报警媒介。

    media2.png

    脚本名为sendEmail.sh,将该脚本放置与zabbix server的/usr/lib/zabbix/alertscripts目录下:

    cloudtest@controller:/usr/lib/zabbix/alertscripts$ ls
    sendEmail.sh
    

    添加脚本三个参数,意为

    • {ALERT.SENDTO} - 邮件接收方
    • {ALERT.SUBJECT} - 邮件标题
    • {ALERT.MESSAGE} - 邮件内容

    则执行脚本时会依次传入这三个参数,脚本内容如下:

    #!/bin/bash
    to=$1
    title=$2
    context=$3
    /usr/local/bin/sendEmail -f 13957348548@163.com -t "$to" -s smtp.163.com -u "$title" -o message-content-type=html -o messag    e-charset=utf-8 -xu 13957348548@163.com -xp cloudtest123 -m "$context" -o tls=no
    

    该脚本利用sendEmail发送邮件,如何用sendEmail发送邮件,请见https://www.jianshu.com/p/d8c1fd480b21

    另外,注意授予脚本执行权限:

    sudo chmod a+x sendEmail.sh
    

    点击update,看到报警媒介已添加:

    media3.png

    这时,还需要定义一个用户,让其具备接收报警媒介的能力,点击Administration - Users - Admin

    media4.png

    进入Users界面,点击Media - Add

    media5.png

    添加媒介,Send to里填上收件人的邮箱,对应之前创建脚本时的{ALERT.SENDTO}参数,点击update

    media6.png

    回到Users,别忘了再update一下:

    media7.png

    此时,已成功创建了一个脚本形式的报警媒介。

    未完待续。

    相关文章

      网友评论

        本文标题:zabbix邮件告警及执行远程命令(一)

        本文链接:https://www.haomeiwen.com/subject/awxqcqtx.html