Zabbix 监控服务器登录事件

使用zabbix提供的’log[file,,,,,]’来监控Linux的/var/log/secure文件。先介绍下这个log监控项:

1)监控项类型是Zabbix agent (active),返回数据类型是Log。
2)Zabbix agent要对监控的日志文件有可读权限,否则会返回unsupported。
3)参数介绍:
file - 日志文件的全路径。
regexp - 过滤日志的正则表达式。
encoding - 字符编码,默认为英文单字节SBCS(Single-Byte Character Set)。
maxlines - agent每秒发送给server(或proxy)的数据的最大行数,这个参数会覆盖掉zabbix_agentd.conf配置文件里的'MaxLinesPerSecond'参数。
mode - 可填参数:all(默认),skip(跳过旧数据)。
output - 自定义格式化输出,默认输出regexp匹配的整行数据。转义字符'\0'表示regexp匹配的数据,转义字符'\N'(N=1..9)表示regexp里第N个分组匹配到的数据。如果填其他字符串就会覆盖掉regexp匹配的数据。

Name – 填"Login attempt"
Type – 选择Zabbix agent (active)
Type of information – 数据类型选择Log
Update interval (in sec) – 监控间隔60秒

设置日志文件的权限

/var/log/secure的权限一般是600,zabbix agent对此文件没有权限。zabbix用户是agent的启动用户,所以要设置zabbix用户对/var/log/secure有可读权限,这样agent才能监控。
执行下面的命令,追加zabbix的可读权限:
chmod 755 /var/log/secure
注意: 如果/var/log/secure 不记录日志,则重启 rsyslog 服务 systemctl restart rsyslog

思路:
通过捕捉日志安全事件,提取关键词 publickey 、password 、Accepted 、Failed 等

1、建立监控项

log[/var/log/secure,"(Accepted) password",,,skip,,]

log[/var/log/secure,"(Accepted) publickey",,,skip,,]

2、建立触发器

{Log:log[/var/log/secure,"(Accepted) password",,,skip,,].str(Accepted)}=1 and
{Log:log[/var/log/secure,"(Accepted) password",,,skip,,].nodata(60)}=0

{Log:log[/var/log/secure,"(Accepted) publickey",,,skip,,].str(Accepted)}=1 and
{Log:log[/var/log/secure,"(Accepted) publickey",,,skip,,].nodata(60)}=0

3、效果预览

上一篇
下一篇