前提:已经安装好了zabbix server和zabbix agent
下面的方式不适合诸如用qq邮箱作为mail服务器,毫无疑问,zabbix支持自定义的邮件发送脚本,今天时间有限,改天在写!
1、为用户配置media types,如下图
选择'Administration'->'Media types'->'Email'
SMTP server是邮件服务器的地址(可以是ip或者是域名或者是主机名,你的zabbix server必须能够跟他通信,如果是域名或者是主机名,必须能够解析);SMTP helo是一个域名,一般是admin@sh.99cloud.net当中的sh.99cloud.net;SMTP email是发送报警邮件的邮箱。
2、为用户设置自己的接收报警邮件的邮箱
选择->'Administration'->'Users'->'Users'->'Admin'->'Media'->'Add'
在Send to这里填上你想要接收报警发来的邮件,邮箱。其它保持默认,点击Add。
这里的When active代表着时间可以自行设定,比如说想周一到周5报警的时间为全天候,而周六到周日的时间为早上8:00到晚上8:00那么可以这样设置:1-5,00:00-24:00;6-7,8:00-20:00
3、监控一台Host:(如果已经完成那么跳过)
选择'Configuration'->'Host'->'Create host'如下图
这里需要注意的有两个地方第一个是Host name,第二个是Agent interfaces,Host name等于在zabbix_agentd.conf文件中的Hostname的值,Agent interfaces等于zabbix agent的ip,Groups In groups的作用是为了方便管理,将具有相同特点的主机或者服务集合在一起,在查看的时候更加的方便、快捷。
4、添加Items如下图
选择'Configuration'->'Hosts'->'Items'->'Create item'
出现如下界面:
这里需要填入Name,Key,Type of information选择Numeric(float)其它的保持默认就行,最后点击Add
5、定义Items的触发值Triggers
选择'Configuration'->'Hosts'->'Triggers'->'Create trigger'
Name代表Trigger的名字,随便填,Expression代表当compute002这台的cpu负载大于0的时候触发报警(将compute002的小数点换成冒号,{compute002:system.cpu.load.last()}>0),报警程度为High,点击Add;
6、定义Actions
定义了Items是为了收集数据,定义Triggers是为了报警条件,定义Actions是为了触发报警;选择'Configuration'->'Actions'->'Create action'
填上Name,随便定义,选择Conditions:
已Trigger name为例,后面填定义Items时的名字cpu load;选择Operations:
在Send to Users点击Add选择用户,最后点击Add,在点击Add。
重点:Default operation setp duration意味着发送多久执行operation details中Step的操作,operation details表示报警的步骤,这里可以定义发送邮件,执行命令,举个例子,设置From 1 To 8 时间为600,操作为发送邮件,表示间隔10分钟发送一次通知。
到这里便设置完成,可以进入Monitoring->Events进行查看,如若成功,则Actions自段是绿色的Ok,最后将会接收到一封系统默认信息的邮件:
这里的消息内容可以在Default message进行修改,支持内部自带的变量诸如{HOST.IP}等。