注册
使用FlluentBit高效采集达梦数据库日志
专栏/培训园地/ 文章详情 /

使用FlluentBit高效采集达梦数据库日志

小达宝 2025/04/15 111 0 0
摘要

1.引言

1.1 为什么采集达梦数据库日志?

达梦数据库日志包含关键信息:

  • 错误日志(dm_xxx.log、dmsql_xxx.log):数据库启动/运行错误、SQL执行失败。
  • 事务日志(归档日志):用于数据恢复。

日志分析场景:

  • 实时监控数据库健康状态。

1.2 FluentBit

  • 低资源占用:相比 Logstash,内存消耗减少 90% 以上,适合与数据库同机部署。
  • 插件化架构:通过 tail(文件采集)、regex(解析)、es(输出到 Elasticsearch)等插件灵活组合。
  • 可靠性:支持断点续传(通过 DB 文件记录采集进度)。

2.环境准备

2.1 软件版本

达梦数据库版本:DM8
FluentBit版本:3.2.2

2.2 部署方式

容器化部署
FluentBit作为守护进程启动

3.日志采集分析

3.1 日志采集

采集sql日志提前开启SVR_LOG参数

FluentBit各阶段配置

以下为简易配置,如有需求,自行增加
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 *

3.2 日志分析

数据库运行日志

image.png
日志格式大致为:

%d+-%d+-%d+ %d+:%d+:%d+.%d+ [$LOG_LEVEL] xxx $PID $TID $msg
错误日志有部分区别,更多字段按个人需求解析,如free_space、used_space等

sql日志

image.png
日志格式大致为:

%d+-%d+-%d+ %d+:%d+:%d+.%d+ xxx $sessID $thrdID #userID xxx [$OP] $msg $EXECTIME
错误日志注意解析错误码,更多字段按个人需求解析,如errCode等

lua脚本注意合理使用变量,避免数据加工过程浪费大量资源

总结

本文简介了FluentBit采集数据库日志流程,FluentBit支持多阶段采集加工传输日志数据,各阶段支持多种插件,可阅读FluentBit技术文档了解更多使用方法。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服