zabbix监控用户登录失败多次告警

zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项,这里介绍一种自定义监控项的方式。
设置日志文件的权限
/var/log/secure的权限一般是600,zabbix agent对此文件没有权限。zabbix用户是agent的启动用户,所以我们要设置zabbix用户对/var/log/secure有可读权限,这样agent才能监控。
执行下面的命令,追加zabbix的可读权限:

setfacl -m u:zabbix:r-- /var/log/secure
修改logrotate配置
sed -i '/kill/a\/usr\/bin\/setfacl -m u:zabbix:r-- \/var\/log\/secure' /etc/logrotate.d/syslog

1,首先编写自定义监控脚本,按分钟统计当前出现登录失败的次数

[root@iZwz98h11awz4grlqcg6goZ etc]# pwd
/usr/local/zabbix_agent/etc
[root@iZwz98h11awz4grlqcg6goZ etc]# cat check_failed.sh
#!/bin/bash

LOG_PATH="/var/log/secure"
mon=$(date +%B)
h=$(date +%d)
ms=$(date +%H:%M)
#表示字符开头为0就替换为空
h=${h/#0/""}
k=" "
count=`grep "$h$k$ms" /var/log/secure | grep -c Failed `

echo $count

2,修改zabbix_agentd.conf配置文件。
  说明:红色部分为需要我们修改的
  第一个:默认为0,此处我们将它改为1,改为1以后,表示用户自定义的脚本中可以包含特殊字符。
  第二个:为我们自定义监控项,格式为:UserParameter=<键值>,<命令>。这里我们自定义键值为:check_failed,要执行的命令为执行check_failed.sh这个脚本。
zabbix监控用户登录失败多次告警_第1张图片

UnsafeUserParameters=1
UserParameter=check_failed,sh /usr/local/zabbix_agent/etc/check_failed.sh
添加完成以后,重启zabbix_agentd才会生效
3、测试键值是否生效
在zabbix-server端
[root@localhost bin]# ./zabbix_get -s xxxxxxxxx -p10050 -k “check_failed”
0
zabbix监控用户登录失败多次告警_第2张图片
4、创建监控项
进入模板添加监控项
zabbix监控用户登录失败多次告警_第3张图片

5、创建对应的触发器
zabbix监控用户登录失败多次告警_第4张图片
6、最后对应主机重新加载模板(记住,要监控的的每台机器都要加入监控脚本和更改配置,不然不识别)可以观察数据,自己故意多输错几次密码,然后在对应最新数据可以看到图形和报警

zabbix监控用户登录失败多次告警_第5张图片

你可能感兴趣的:(zabbix)