更新时间:2024-06-27 17:00:10

完成数据字典的配置后,您可以在数据解析模块直接使用键值类型的数据字典中已预先配置的数据映射关系,将解析后的数据与其进行关联整合,帮助构建更丰富的数据基础。下文具体介绍如何使用键值型数据字典,将数据库中的数据添加到日志数据中的操作步骤:

1. 连接 AnyRobot 数据库

进入AnyRobot 数据源>远程采集>数据库连接页面,点击【新建】按钮,进行连接AnyRobot数据库的相关配置操作。如下所示:

元素名称 元素说明
*名称 设置数据库连接的名称:数据字典
*类型 选择AnyRobot数据库的类型:MySQL
*主机

设置AnyRobot数据库的主机域名或IP地址:mariadb-proton-rds-mariadb.anyrobot

*端口

设置AnyRobot数据库连接的端口:3306(MySQL数据库的默认端口)

*用户名

设置AnyRobot MySQL数据库的登陆用户名

提示:请联系 AnyRobot 管理员获取登录用户名信息

*密码

设置AnyRobot数据库的登陆密码

提示:请联系 AnyRobot 管理员获取登陆密码信息

*字符集

设置数据库类型对应的字符集:默认为utf8

*数据库名

设置数据库名称:AnyRobot

说明:上方以连接AnyRobot自身数据库为例进行了相应配置参数的示意,此场景下您可直接参考上方参数配置数据库连接,但具体配置参数仍需以实际场景需求为准。

2. 使用数据字典修改日志数据

1)解析日志数据

进入AnyRobot 系统管理>对象管理>解析规则页面,点击【新建】按钮,在配置页面中设置解析规则名称,添加筛选条件,对原始日志进行JSON解析,页面右上角为日志的解析结果。如下所示

2)远程查询数据库,获取数据库数据

完成日志数据的解析并验证通过后,点击【添加数据库数据】按钮,在展开的表单中配置远程查询参数,以使用数据字典获取数据库中的指定数据集,并缓存至本地。如下所示:

元素名称 元素说明
查询执行计划

根据实际业务需求设置远程查询的执行周期,将鼠标移至“”图标上方可查看AnyRobot当前支持的执行计划的具体填写格式

单次查询行数

根据实际业务需求设置单次查询行数,建议大于数据字典的实际记录数,否则查询结果中将出现异常信息

例如:数据字典表最大允许有 1000 条记录,则行数可以设置为 5000

查询名称

自定义远程查询名称

注意:远程查询名称不允许与其他参数重名

数据库连接

选择已创建的数据库并进行连接验证

SQL 语句

自定义远程查询的 SQL 语句,用于获取数据库中的指定数据集

注意:anyrobot_data_dict_item i JOIN anyrobot_data_dict d 为固定使用,作为数据源;dict_name 的值应填写要使用的数据字典名称

本地缓存表名称

自定义本地缓存表的名称,用于存放从数据库获取到的数据集

注意:本地缓存表名称不允许与其他参数重名

表列定义

定义本地缓存表中列的名称、类型和长度等信息

注意:本地缓存表中的列必须与  SQL 查询返回结果的列在顺序上保持一致,名称可以自定义,具体如下:

•名称:表列名称必须根据 SQL 返回结果中的列顺序进行依次定义,即依次定义  dict_name 、key、value 三列的列名称;

•类型:字段数据类型必须与数据字典表中的类型保持一致,即 varchar;

•长度:字段长度必须与数据字典表中的限制保持一致,即 40、255、255,若填写  0 会导致系统异常

表索引列

定义本地缓存表中的索引列

完成配置后,系统将基于配置的 SQL 语句从数据库中查询并获取数据,获取到的数据集将存放于本地缓存表(即data_dict_cache缓存表)中。

3)修改关联日志

关联日志区域配置关联参数,定义新增数据集的查询及筛选条件,完成日志数据中新增字段及字段值的配置。如下所示:

元素名称
元素说明

SQL 语句

自定义 SQL 语句,用于查询本地缓存数据表中的缓存数据,并将其添加到当前的日志数据中

注意:当 SQL 语句中需添加自定义变量时,需在自定义变量前加上冒号":"。以上图为例," key_s "为自定义变量,对应的 SQL 语句为" WHERE key_s=:key "

自定义变量

定义SQL语句中的自定义变量,将解析后的日志字段与SQL 语句中的自定义变量进行关联,使用日志字段值替换自定义变量。即日志字段值作为查询条件,用于筛选需添加到当前日志数据中的缓存数据

注意:

• 支持将多个日志字段进行拼接,拼接字段中间的连接符可根据实际情况修改,若无连接符则无需填写;

• 日志字段的值应与数据字典的“原始值”对应;

•日志字段若为多级字段,需参照"[a][b][c]"的格式进行填写,如:[china][shanghai][pudong]。

目标字段

自定义目标字段,目标字段为添加到当前日志数据中的新字段。该字段的值即为通过 SQL 语句在本地缓存表中查询到的数据集

注意:目标字段名称不允许与其他参数重名

完成配置后,系统将基于已配置的 SQL 语句从本地缓存表中查询并获取缓存数据,获取到的数据集即为自定义的目标字段的值。

4)配置关联日志的修改方法

点击【修改字段】按钮,在修改方法的表单中配置修改关联日志的前置条件(仅当前置条件为真时,方可修改当前日志)、选择日志修改方法并对添加的字段名称及字段值进行定义。如下所示:

配置完成且前置条件验证通过后,系统将根据已配置的修改方法(以上图为例:添加字段)将下方定义的字段及字段值(以上图为例:dict_res=数据字典A)添加到当前日志数据中。

5)查看修改后的日志

如下所示,解析后的日志已基于数据字典成功添加了指定字段数据。

说明:上文与数据库连接、远程查询、关联日志、修改字段、前置条件相关的配置参数已在相关章节详述,此处不再赘述,详情请参考《 AnyRobot Family 产品使用指导》数据库连接添加数据库数据修改字段前置条件 章节。