达梦数据库日志包含关键信息:
日志分析场景:
达梦数据库版本:DM8
FluentBit版本:3.2.2
容器化部署
FluentBit作为守护进程启动
采集sql日志提前开启SVR_LOG
参数
以下为简易配置,如有需求,自行增加
FluentBit参考文档地址:https://docs.fluentbit.io/manual/3.2/pipeline/inputs
Input
两个采集阶段,分别采集数据库运行日志和sql执行日志
[INPUT]
Name tail
Path /dm8/log/dmsql*.log
Tag sqllog
DB /dm8/data/fluent/sqllogs.db
Refresh_Interval 10
Skip_Long_Lines On
Mem_Buf_Limit 10MB
[INPUT]
Name tail
Path /dm8/log/dm_*.log
Tag dblog
DB /dm8/data/fluent/dblogs.db
Refresh_Interval 10
Skip_Long_Lines On
Mem_Buf_Limit 10MB
Filter
四个数据加工阶段,多行解析(多行sql解析)、日志解析(lua脚本解析日志结构)、日志分流
[FILTER]
name multiline
match *
multiline.key_content log
multiline.parser multiline-regex-sqllog
[FILTER]
Name lua
Match *
script /opt/fluent-bit/conf/log.lua
call logs_print
[FILTER]
Name record_modifier
Match sqllog
Record categories sqllog
[FILTER]
Name record_modifier
Match dblog
Record categories dblog
output
标准输出,可以自行定义输出,例如用http插件输出至es、victorialogs等
[OUTPUT]
Name stdout
Match *
日志格式大致为:
%d+-%d+-%d+ %d+:%d+:%d+.%d+ [$LOG_LEVEL] xxx $PID $TID $msg
错误日志有部分区别,更多字段按个人需求解析,如free_space、used_space等
日志格式大致为:
%d+-%d+-%d+ %d+:%d+:%d+.%d+ xxx $sessID $thrdID #userID xxx [$OP] $msg $EXECTIME
错误日志注意解析错误码,更多字段按个人需求解析,如errCode等
lua脚本注意合理使用变量,避免数据加工过程浪费大量资源
本文简介了FluentBit采集数据库日志流程,FluentBit支持多阶段采集加工传输日志数据,各阶段支持多种插件,可阅读FluentBit技术文档了解更多使用方法。
文章
阅读量
获赞