Zabbix搭建笔记[9]--报警设置示例

来源:互联网 发布:淘宝接口进销存软件 编辑:程序博客网 时间:2024/05/21 09:44

这一节我们继续配置报警,首先我们针对WindowsHost的机器重启配置一个邮件通知。

 

我们添加一个Trigger,利用SystemUptime来检测重启:


 

添加一个Action


定义好Operation


 

都配置好之后,我们重启了一下这台Windows虚拟机,发现并没有发送邮件。排查之后发现,用户组没有对监控的主机配置正确的权限,默认对All groups权限是None,我们需要对WindowsHosts主机配置权限:


 

配置成功后,我们再次重启机器,检查发现已经能够收到邮件:


 

如果还收不到邮件,可以检查几个方面:

Trigger的状态是否是Enabled

Email的配置是否正确

Trigger是否确实被出发

是否在维护时期

Action中的条件是否满足

 

我们可以在Reports->Actionlog中查看所有Action的触发情况:


 

邮件的格式比较low,需要的话大家根据自己的需要重新编排一下message即可。

 

我们再来做一个远程命令调用的Operation

简单起见,我们直接利用之前配置过的Linux主机的聚合监控项LinuxHost.cpu.avg.overloaded来配置:


 

创建一个Action


 

添加Operation


我们需要为两台Linux主机修改zabbixagent的配置文件,修改下面一项:

EnableRemoteCommands=1

修改完需要重启zabbix agent

 

接着我们在两台Linux主机里面下载一些文件或者做一些其它的调用,让两台主机的CPU升上来。如果没有触发的话,我们可以稍微调低一点Trigger的阈值,例如:


 

确认触发器规则生效:


 

进入两台Linux虚拟机内却并没有发现/var/log下生成了tmp.log日志。

 

经过了一番折腾发现需要在两台Linux主机中设置下面这些内容:

  1. 关闭selinux
  2. /etc/sudoers文件最后添加“zabbix ALL=NOPASSWD: ALL”这一行,以允许zabbix用户不需要密码直接切换到root执行操作
  3. 修改/var/log的权限为757,命令为chmod 757 /var/log,原因是zabbix这个用户对于/var/log默认没有w权限
  4. 执行usermod -s /bin/bash zabbix,保证用户可以作为登陆用户

 

修改完成后,我们使用“suzabbix -c "sudo date >> /var/log/tmp.log"”测试一下zabbix用户是否可以正常执行命令。成功之后,我们再次尝试触发Trigger的条件,然后就可以看到日志被正确写入了。查看Action log也能够看到命令成功执行的日志:


 

上面只是举了两个简单的例子,具体使用方法还需要实践多摸索~~

原创粉丝点击