更新时间:2022-08-13 21:23:29
在进行日志数据处理时,若需要远程查询关系型数据库,并将查询结果中的相关字段参数添加到关联的日志中,可以使用添加数据库数据功能。
添加数据库数据功能可实现日志数据与数据库业务数据的关联整合,以构建更全面的数据基础,实现对复杂场景的关联查询和分析。支持常见的关系型数据库:MySQL、Oracle、SQLServer、DB2 等,具体操作如下:
1. 在规则配置页面,对原始日志进行解析并验证通过后,点击【添加数据库数据】配置远程查询及关联日志参数,如下所示:


 
元素名称 元素说明
远程查询 查询执行计划 输入 Cron 表达式
单次查询行数 必须大于 SQL 语句查询结果的记录数,建议大于数据库实际记录数,否则会在日志采集结果中抛出异常信息
例:数据库表中有 10000 条记录,则行数可以设置为 15000
查询名称 自定义远程查询名称
注意:远程查询名称不允许与其他参数重名
数据库连接 选择已创建的数据库并进行连接验证
SQL 语句 自定义远程查询的 SQL 语句,用于获取远程数据库中的数据集
注意:SQL 查询语句不能包含双引号,只允许使用单引号
本地缓存表名称 自定义本地缓存表名称,本地缓存表用于存放从远程数据库获取的数据集
注意:本地缓存表名称不允许与其他参数重名
表列定义 定义本地缓存表中列的名称、类型和长度等信息
注意:
1. 类型顺序必须与 SQL 语句查询结果中的数据类型顺序一致:

• 远程查询:select id,name,age,sex,country from Persons
• 本地查询:select sex from a(缓存表名称),表列需定义 id、name、age、sex,对应的类型为int、varchar、int、varchar;可以不定义 country,因为在本地查询中没有利用到
2. 长度必须填写,若填写  0 会导致系统异常
表索引列 选择自定义列表名称
关联日志 SQL 语句 自定义 SQL 语句,用于通过 SQL 语句查询本地缓存数据表中的缓存数据并添加到当前的日志数据中
注意:SQL 语句中添加自定义变量,需在自定义变量前增加上冒号":"
示例:chara 为自定义变量,对应的 SQL 语句:select country from a where name = :chara
自定义变量 将 SQL 中的自定义变量与日志中已解析字段实现关联。即,使用日志字段值替换 SQL 语句中的自定义变量;支持将多个日志字段进行拼接
注意:拼接字段中间的连接符可根据实际情况修改,若无连接符则无需填写
目标字段 自定义目标字段名称,目标字段即为添加到日志数据中的新字段。该字段值为通过 SQL 语句在本地缓存表中查询到的数据库的数据值
注意:目标字段名称不允许与其他参数重名
2. 点击【验证】参数合法性均通过后,点击【确定】保存解析规则。