九爷带你了解 zabbix 报警机制

简介: 虽然网上有很多关于zabbix报警配置的文章,但是大多都是转载,并且内容并不详尽。本人根据zabbix的现网部署经验,做了如下总结整理,并尽量做到内容细致全面,能让新手快速配置成功。首先web端的配置顺序如下:创建用户媒介-->创建用户组和用户-->针对trigger(触发器)添加报警动作,设置邮件发送用户及媒介1.

虽然网上有很多关于zabbix报警配置的文章,但是大多都是转载,并且内容并不详尽。本人根据zabbix的现网部署经验,做了如下总结整理,并尽量做到内容细致全面,能让新手快速配置成功。


首先web端的配置顺序如下:
创建用户媒介-->创建用户组和用户-->针对trigger(触发器)添加报警动作,设置邮件发送用户及媒介

1. 创建用户媒介

    创建用户媒介-->创建用户组和用户-->Media types-->Createmedia type

163950zj5vkvj1x49yauiu.png

    Mediatype设置如下, Name项自定义(创建用户时会用到这个名字),我们使用脚本来发邮件,所以Type项请选择Script,Script项则是你zabbix server上的发送邮件的脚本名字(注:如脚本名字是snedmail.sh,那此项就填sendmail,后缀不要)。

163949vqjzo7jvnah7ohha.png

2.创建用户组

    在菜单栏选择Administration-->User-->Createusaer group

163948rybxmhhqimyljxhc.png

    在User groups标签下填入用户组名字,勾选Enabled。

163948usveml4sqjlevqzj.png

    需要注意的是:在Permissions标签下,需要把用户组可以访问的主机添加进Read-write或Read only下(如不添加对应主机,那么报警邮件将无法正确发送出去)。另外,用户的权限是随着所属用户组的。

163947zui44l9ee5usipil.png

3.创建用户

    在Administration-->User下,点击第二列Users选项,进入用户组所在用户列表,然后再点击页面右上角Create user选项来创建用户。

163946bnbmm77npfx1nfzi.png

    在User标签下,填入别名,用户名,密码,所属组选择,Auto-login勾选上,其它默认即可。

163946mupgjarjrnfeet0z.png

    再到Media标签下,点击Add添加用户及该用户的报警方式,然后Type项选择你所创建的邮件报警名字(Media Type),在Send to后填入用户的报警邮箱,其他默认即可。

163945nypvnvvr7bw1piwp.png


163945tqf7hfy2r1hhnwq3.png



4.针对触发器添加报警动作

    以下以根目录磁盘剩余空间报警为例:(下图为说明,无需操作)

下面这台主机的根目录磁盘剩余空间的trigger名为:Free disk space is less than 10%on volume /,主机名为:CMCC-OTT-01 172.16.15.166


163944ywid95zzwvjp8axq.png


163943bol7zed0eii9frl7.png

下面是针对上面这个trigger设置邮件报警的action,在菜单栏选择Configuration-->Action-->Createaction

163942a8301juudodsp33o.png

    在Action标签下,Name项填入自定义名字,其他项用默认的即可。

163942ck1ccp8v6kd6cis1.png

    在conditions标签下的New Condition项下选择Trigger name,like,把要添加报警的trigger名填入后面的文本框中(如下图):

163941as5gd9lrv2lkrll9.png

接下来添加另一个NewCondition,选择Host,=,把主机名填入(如下图):

163941s1elyrdhej41jdhp.png

    在Operations标签下,点击New创建邮件报警和报警延迟。

163940xc9gv0c1ov69v29v.png

    在打开的detail下,下图标箭头的地方需要注意修改:

1.To后面改成0表示,trigger出发后且一直未恢复,则会一直报警。

    2.Operationtype处选择Send message。

    3.Sendto Users处选择刚创建的用户。

    4.Sendonly to选择刚创建的Media type。


    配置完成后即可测试邮件报警功能是否成功。当然如果大家感觉配置麻烦可以试试OneAlert一键集成zabbix,轻松实现微信、电话、邮件、短信、APP的告警通知。地址是:http://www.onealert.com/activity/zabbix.html


附:

zabbix可以配合msmtp+mutt来发邮件(此方法可以指定外部发件邮箱来发送邮件),当然也可以使用其他方式发邮件,比如直接写Python脚本或php脚本来发送邮件。


1.Msmtp的安装及配置

    (1)下载源码包并解压安装,步骤如下:

1
2
3
4
# yum –y install mutt             #yum安装mutt
# wget http://garr.dl.sourceforge.net/p ... smtp-1.4.31.tar.bz2
# tar xf msmtp-1.4.31.tar.bz2# cd msmtp-1.4.31
# ./configure --prefix=/usr/local/msmtp# make && make install




(2)创建配置文件

1
2
3
4
5
6
7
8
9
10
11
# mkdir -p /usr/local/msmtp/etc
# vim /usr/local/msmtp/etc/msmtprc               #添加如下邮箱账户信息
   defaults
        logfile /usr/local/msmtp/msmtp.log         #日志文件需手动创建
        account sihuazabbix
        host smtp.iyunv.com
        from  iyunv@iyunv.com
        auth login
        user iyunv@iyunv.com
        password ******
        account default:sihuazabbix




1
2
3
4
5
6
7
8
9
10
# vim /root/.msmtprc
   defaults
        logfile /usr/local/msmtp/msmtp.log
        account sihuazabbix
        host smtp.139.com
        from  iyunv@iyunv.com
        auth login
        user  iyunv@iyunv.com
        password ******
        account default:sihuazabbix




1
2
3
4
5
6
7
# vim /etc/Muttrc                                               #在文件末尾添加如下配置
        setfrom="iyunv@iyunv.com"
        setsendmail="/usr/local/msmtp/bin/msmtp"
        setuse_from=yes
        setrealname="iyunv@iyunv.com"
        seteditor="vi"
        setcopy=no      #设置是否将邮件消息复制到/root/sent,若设置为可写权限,则需要将/root/sent文件设置为zabbix用户可写!




1
2
3
4
5
6
7
# vim /root/.muttrc
        setfrom="iyunv@iyunv.com"
        setsendmail="/usr/local/msmtp/bin/msmtp"
        setuse_from=yes
        setrealname="iyunv@iyunv.com"
        seteditor="vi"
        setcopy=no




    (3)手动发送测试邮件检验是否配置成功

1
# echo "Email" |mutt -s"test" iyunv@iyunv.com





2.配置zabbix邮件发送脚本

将AlertScriptsPath=${datadir}/zabbix/alertscripts行的注释取消或改成其他路径,编写发送Email的脚本,邮件发送脚本内容如下即可:

163939apw3a3j2jqqyaqjj.png

注释:脚本中有三个变量,$1,$2,$3,其中$1是收件地址,$2是邮件主题,$3是邮件内容。


最后对脚本添加执行权限:

1
# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh


相关文章
|
6月前
|
监控
zabbix设置邮件报警
zabbix设置邮件报警
|
监控
zabbix关于Utilization of trapper processes over报警的处理及优化
zabbix关于Utilization of trapper processes over报警的处理及优化
1229 0
zabbix关于Utilization of trapper processes over报警的处理及优化
|
10天前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
129 0
|
8月前
|
运维 监控 小程序
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(三)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(三)
52 0
|
8月前
|
运维 监控 测试技术
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(二)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(二)
81 0
|
8月前
|
运维 监控 网络协议
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(一)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)
118 0
|
9月前
|
监控 机器人 Python
Zabbix-实现钉钉群报警
Zabbix-实现钉钉群报警
151 0
|
9月前
|
运维 监控 机器人
zabbix实现多个钉钉群报警
zabbix实现多个钉钉群报警
|
10月前
|
监控 机器人 Shell
zabbix邮件报警
zabbix邮件报警
124 0
|
10月前
|
监控 安全 前端开发
zabbix数据库分离和邮件报警
zabbix数据库分离和邮件报警
80 0

推荐镜像

更多