查询表明细:
ELK的KQL样例,显示时间请选择最近15天:
样例1:查询ol_lc 表增删改查,不是jy2_rw的账号明细
KQL:(ol_lc or oc.ol_lc) and (select or update or delete or insert or replace) and not User.keyword=jy2_rw
样例2:查询ol_lc表,不是ems_rw账号只读的SQL执行时间在2月24号的明细
KQL: (ol_lc or oc.ol_lc) and select and not User.keyword=ems_rw and Timestamp.keyword <="2021-02-24 23:59:59" and Timestamp.keyword >="2021-02-24 00:00:00"
样例3,查询ol_lc表,oc写主库d8t的edu_rw账号明细
KQL: (ol_lc or oc.ol_lc) and edu_rw and d8t
KQL建议:
只读: (表 or oc.表) and select (可以过滤 show columns from 表)
写: (表 or oc.表) and (update or delete or replace or insert)
读写: (表 or oc.表) and (update or delete or select or replace or insert)
说明: 如不加上 oc.表, 如查ol_lc: SQL中有oc.ol_lc是查不出来的,切记。
KQL官网帮助文档: https://www.elastic.co/guide/en/kibana/current/kuery-query.html#kuery-query
汇总表
表在各实例的账号调用情况,方法如下:
ELK--Visualize–创建可视化–选择"数据表",如下图:
选择"数据源": logstash-myaudit*,跳动聚合分析页面。
在右边选择下列,对聚合的字段汇总计数:
其中:
数据Tab:
1,指标,选择"计数"
2,存储桶,
子聚合:选择“词” 字段:选择“user.keyword” 排序依据:选择“计数”,降序:大小改成:10000(或更大),定制标签:填写:用户
子聚合:选择“词” 字段:选择“Name.keyword” 排序依据:选择“计数”,降序:大小改成:10000(或更大),定制标签:填写:名称
选项Tab:
每页最大行数改成: 10000(或更大)
百分比列改成:计数 (如需做百分比分析)
输入KQL如:ttachment and select,显示日期:选择最近15天, 表在各实例账号调用情况,能快速出来:
KQL可以根据实际情况灵活使用,如果不想查以前,在KQL里加上时间限制。
该结果,能通过点击“原始”或者"格式化"导出csv,根据列表提供的实例名找到对应具体数据库实例。