Zabbix监控Windows用户登录是通过对Windows日志的监控来实现。在登录审核失败或者登录成功时发出告警。
告警邮件示例:
下面给出监控思路和步骤:
一、分析登录日志
打开事件查看器,依次选择"Windows日志"->"安全"。
1、登录成功的日志
通常一个登录成功的日志有四条:
其中事件ID为4624的日志里包含登录账户名、登录源IP和端口等。
2、账户登录失败的日志
账户登录失败会产生一条事件ID为4625的日志,日志里也包含登录账户名、登录源IP和端口:
所以,对于"登录成功"我们只监控事件ID为4624的日志就可以了,对于"登录失败"监控事件ID为4625的日志。
二、创建监控项
1、登录成功的监控项
监控项Name:账户登录成功
监控项Key填写如下:
eventlog[Security,,"Success Audit",,^4624$,,skip]
需要注意:监控项类型选择Zabbix agent(active);数据类型选择Log;监控间隔60秒。
其中,监控项Key的参数用大括号包裹、用逗号分隔,下面解释下各参数的含义:
参数一 Security:事件的日志名称。
参数三 "Success Audit":事件的severity。
参数五 ^$:这是一个正则表达式,匹配事件ID等于4624的日志。
参数七 skip:含义是不监控已产生的历史日志,如果省略skip,会监控出符合以上条件的历史日志信息。
2、账户登录失败的监控项
监控项Name:登录审核失败
监控项Key填写如下:
eventlog[Security,,"Failure Audit",,^4625$,,skip]
三、创建触发器
1、登录成功的触发器
触发器的表达式如下:
{Template Windows Event Log:eventlog[Security,,"Success Audit",,^4624$,,skip].nodata(60)}=0 & {Template Windows Event Log:eventlog[Security,,"Success Audit",,^4624$,,skip].str(Advapi)}=0
表达式的含义为:如果在60秒内有监控到数据,并且监控内容不包含字符串"Advapi"则触发告警,如果60秒内没有新的数据了,则触发器恢复OK。简单点说就是,用户登录后触发器触发至少会持续60秒,如果用户不断的登录成功,间隔小于60秒,则触发器一直是problem状态。
2、账户登录失败的触发器
触发器的表达式如下:
{Template Windows Event Log:eventlog[Security,,"Failure Audit",,^4625$,,skip].nodata(60)}=0 & {Template Windows Event Log:eventlog[Security,,"Failure Audit",,^4625$,,skip].str(Advapi)}=0
表达式的含义为:如果在60秒内有监控到数据,并且监控内容不包含字符串"Advapi"则触发告警。如果60秒后没有新的数据了,则触发器恢复OK。
如果有人不断的恶意破解登录密码,你会发现触发器problem状态会一直存在。
监控项和触发器的介绍就这些了,模板在附件里,下载后改文件名Template Windows Event Log.xml。
Zabbix监控Windows日志之监控磁盘坏块:http://qicheng0211.blog.51cto.com/3958621/1436344
Zabbix监控Linux日志之异常登录告警:http://qicheng0211.blog.51cto.com/3958621/1624155
本文出自 "启程的Linux博客" 博客,请务必保留此出处http://qicheng0211.blog.51cto.com/3958621/1694583
MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据。
为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系型数据库和文档型NoSQL数据库集于一身。
使用说明:
###表结构
create table assets ( item_name varchar(32) primary key, -- A common attribute for all items dynamic_cols blob -- Dynamic columns will be stored here );
###插入JSON格式数据
mysql> INSERT INTO assets VALUES -> ('MariaDB T-shirt', COLUMN_CREATE('color', 'blue', 'size', 'XL')); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO assets VALUES -> ('Thinkpad Laptop', COLUMN_CREATE('color', 'black', 'price', 500)); Query OK, 1 row affected (0.01 sec)
###获取Key(键)color的Value(值):
mysql> SELECT item_name, COLUMN_GET(dynamic_cols, 'color' as char) AS color FROM assets; +-----------------+-------+ | item_name | color | +-----------------+-------+ | MariaDB T-shirt | blue | | Thinkpad Laptop | black | +-----------------+-------+ 2 rows in set (0.00 sec)
###获取全部Key(键)
mysql> SELECT item_name, column_list(dynamic_cols) FROM assets; +-----------------+---------------------------+ | item_name | column_list(dynamic_cols) | +-----------------+---------------------------+ | MariaDB T-shirt | `size`,`color` | | Thinkpad Laptop | `color`,`price` | +-----------------+---------------------------+ 2 rows in set (0.00 sec)
###获取全部Key-Value
mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets; +-----------------+-------------------------------+ | item_name | COLUMN_JSON(dynamic_cols) | +-----------------+-------------------------------+ | MariaDB T-shirt | {"size":"XL","color":"blue"} | | Thinkpad Laptop | {"color":"black","price":500} | +-----------------+-------------------------------+ 2 rows in set (0.01 sec)
###删除一个Key-Value:
mysql> UPDATE assets SET dynamic_cols=COLUMN_DELETE(dynamic_cols, "price") -> WHERE COLUMN_GET(dynamic_cols, 'color' as char)='black'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets; +-----------------+------------------------------+ | item_name | COLUMN_JSON(dynamic_cols) | +-----------------+------------------------------+ | MariaDB T-shirt | {"size":"XL","color":"blue"} | | Thinkpad Laptop | {"color":"black"} | +-----------------+------------------------------+ 2 rows in set (0.00 sec)
###增加一个Key-Value:
mysql> UPDATE assets SET dynamic_cols=COLUMN_ADD(dynamic_cols, 'warranty', '3 years') -> WHERE item_name='Thinkpad Laptop'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets; +-----------------+----------------------------------------+ | item_name | COLUMN_JSON(dynamic_cols) | +-----------------+----------------------------------------+ | MariaDB T-shirt | {"size":"XL","color":"blue"} | | Thinkpad Laptop | {"color":"black","warranty":"3 years"} | +-----------------+----------------------------------------+ 2 rows in set (0.00 sec)
###更改一个Key-Value:
mysql> UPDATE assets SET dynamic_cols=COLUMN_ADD(dynamic_cols,'color', 'white') WHERE COLUMN_GET(dynamic_cols, 'color' as char)='black'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT item_name, COLUMN_JSON(dynamic_cols) FROM assets; +-----------------+----------------------------------------+ item_name COLUMN_JSON(dynamic_cols) +-----------------+----------------------------------------+ MariaDB T-shirt {"size":"XL","color":"blue"} Thinkpad Laptop {"color":"white","warranty":"3 years"} +-----------------+----------------------------------------+ 2 rows in set (0.00 sec)
本文出自 "贺春的技术专栏" 博客,请务必保留此出处http://hcymysql.blog.51cto.com/5223301/1694181
没有评论:
发表评论