Zabbix监控Windows用户登录是通过对Windows事件日志的监控来实现。所以我们通过该事件日志实现在用户登录失败或者登录成功时发出告警。
下面给出监控思路和步骤:
一、分析登录日志
打开事件查看器,依次选择“Windows日志”->“安全”。
登录成功的日志
其中事件ID为4624的日志里包含登录账户名、登录源IP和端口等。
账户登录失败的日志
账户登录失败也会产生一条事件ID为4625的日志:
所以,对于“登录成功”我们只监控事件ID为4624的日志就可以了,对于“登录失败”监控事件ID为4625的日志。
二、zabbix创建监控项
账户登录成功的监控项
监控项Key填写如下:
eventlog[Security,,"Success Audit",,^4624$,,skip]
需要注意:监控项类型选择Zabbix agent(active);数据类型选择Log;监控间隔60秒。
其中,监控项Key的参数用大括号包裹、用逗号分隔,下面解释下各参数的含义:
参数一 Security:事件的日志名称。
参数三 "Success Audit":事件的severity。
参数五 ^4624$:这是一个正则表达式,匹配事件ID等于4624的日志。
参数七 skip:含义是不监控已产生的历史日志,如果省略skip,会监控出符合以上条件的历史日志信息。
账户登录失败的监控项
监控项Key填写如下:
eventlog[Security,,"Failure Audit",,^4625$,,skip]
三、zabbix创建触发器
账户登录成功的触发器
触发器的表达式如下:
{192.168.1.1\:eventlog[Security,,"Success Audit",,^^4624$,,skip].nodata(90)}=0 and {192.168.1.1\:eventlog[Security,,"Success Audit",,^^4624$,,skip].str(Advapi)}=0
注:这里IP需替换成主机名称
表达式的含义为:如果在60秒内有监控到数据,并且监控内容不包含字符串"Advapi"则触发告警,如果60秒内没有新的数据了,则触发器恢复OK。简单点说就是,用户登录后触发器触发至少会持续60秒,如果用户不断的登录成功,间隔小于60秒,则触发器一直是problem状态。
#Zabbix 6.0.22 脚本如下find(/ChengGongDengLu/eventlog[Security,,"Success Audit",,^4624$,,skip],,,"Advapi")=0
账户登录失败的触发器
触发器的表达式如下:
{192.168.1.1\:eventlog[Security,,"Failure Audit",,^^4625$,,skip].nodata(90)}=0 and {192.168.1.1\:eventlog[Security,,"Failure Audit",,^^4625$,,skip].str(Advapi)}=0
注:这里IP需替换成主机名称
表达式的含义为:如果在60秒内有监控到数据,并且监控内容不包含字符串"Advapi"则触发告警。如果60秒后没有新的数据了,则触发器恢复OK。
#Zabbix 6.0.22 脚本如下find(/DengLuShiBai/eventlog[Security,,"Failure Audit",,^4625$,,skip],,,"帐户登录失败")=1
摘自: