暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在白求恩上实现主机日志监控

原创 Kevin 2020-01-16
2963

Bethune X 支持 SQL 自定义监控,通过添加一个SQL采集任务,配置告警策略来实现数据库内数据的监控。对于日志,Bethune X 已经预设了Oracle alert 日志监控:

alert日志.png

除了Oracle的alert 日志,其他日志可以通过添加Oracle 外部表的方式实现监控,以下例子就是实现了Linux 上secure 日志监控的配置过程。


第一步:必要的赋权

在root 用户下将/var/log/secure 的读权限给到Oracle 用户

chmod 744 /var/log/secure

第二步:创建外部表

登陆到 Oracle 数据库创建 directory,确保 数据库能够读取该路径下的日志:/var/log/

create or replace directory var_log as '/var/log’;

如果外部表不在sys底下创建,则需要对该目录进行赋权,例如在BP_QUERY下创建外部表,则需要将该目录读写权限赋权给BP_QUERY用户:

grant read,write on directory var_log to BP_QUERY;

以/var/log/secure 日志文件创建外部表,这个外部表只有一个字段,每行日志一行数据:

CREATE TABLE secure_log ( text varchar2(4000) ) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY var_log ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE nobadfile nodiscardfile nologfile ) LOCATION ('secure') ) reject limit unlimited ;

创建好之后可以测试一下改外部表是否创建成功.

select * from secure_log where rownum<10

将该读权限赋给Bethune X 采集用户:BP_QUERY。如果这个外部表是在BP_QUERY用户下创建则不用.

grant select on secure_log to BP_QUERY;

第三步:添加SQL自定义采集任务

在Bethune X 设置/采集任务配置 里面添加一个SQL类的采集任务。示例图如下:
采集任务选择Oracle,采集频率按需配置。

SQL 脚本我用 instr+substr+to_date 的方式把日志里面的日期部分转成了Oracle 可以识别的日期,并做了最近一小时的限定(>sysdate-1/24)

SQL采集任务.png

配置好SQL脚本之后,需要选择相应的数据库进行测试,因为我们是在Enmotech 这个数据库上做的这个外部表,所以选择Enmotech 作为测试数据库,测试通过的数据库才能启动这个采集项。

第四步:创建告警策略,添加到模板,使用到目标数据库

保存好采集任务之后,在告警策略里针对这个数据采集项:「安全日志外部采集」创建告警策略。监控类型选择「数据库」—>「Oracle」—>「自定义」

SQL 自定义采集任务通过对采集SQL返回的字段进行规则配置。这儿我们返回了通过日志截取转化的时间字段「log_date」和内容字段「text」
这儿我们对「TEXT 」字段进行规则配置,利用like 表达式做全模糊查询,包含这段关键字的日志都会触发该告警规则。

告警模板的配置,需要通过变量的方式将主机名,数据名等预设变量和字段变量加入到告警模板里。字段变量需要用 ${字段名} 的方式包起来,配置方式可以数据悬停告警模板旁边的 i 展示出来。

告警策略配置.png

配置好告警策略后,配置到相应的模板,再把相应的库配置上该告警策略。如果触发了告警,就可以在 控制台/告警看板 里面看到该告警。也可以在「数据库详情」页面最近告警里面看到告警信息。

查看告警.png


以上就是利用 Oracle 外部表+Bethune X 自定义 SQL 监控的方式实现主机日志监控的一个例子。

总结一下:
1.通过赋权让Oracle用户有权限读取日志的权限
2.创建外部表,让Oracle 数据库能访问该日志
3.在Bethune X 里面创建采集任务,并保证目标数据库的采集任务能测试成功
4.针对这个采集任务创建个告警策略,添加到模板里面,应用到数据库上

最后修改时间:2023-04-06 11:44:02
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论