当数据分别存储在日志服务的Logstore和RDS MySQL数据库中时,您可以使用日志服务的数据加工功能,通过RDS的内网地址访问RDS MySQL数据库以获取数据,进而实现数据富化。
工作原理
使用日志服务数据加工功能,通过RDS内网地址访问RDS MySQL获取数据进行数据富化的过程如图所示:
方案概览
使用日志服务数据加工功能,通过RDS内网地址访问RDS MySQL获取数据进行数据富化,只需三步:
获取数据加工任务中高级参数配置信息:先登录RDS控制台获取RDS MySQL实例信息,再通过OpenAPI调试页面调用接口获取高级参数配置信息。
在源Logstore中开启数据加工任务:然后配置数据加工规则进行数据富化。
将加工结果保存到目标Logstore中:最后将加工结果数据保存到目标Logstore。
前提条件
已获取原始日志数据。
RDS MySQL实例与日志服务Project需处于同一地域。
步骤一:获取数据加工任务中高级参数配置信息
登录云数据库RDS控制台。
在左侧菜单栏,单击实例列表找到目标实例并单击进入。
设置IP地址段白名单。有关白名单更多操作,请参见设置白名单。
在左侧菜单栏,单击
,填入分组名称以及组内白名单,组内白名单需固定设置为100.104.0.0/16
。
获取目标实例ID、内网端口。
在左侧菜单栏,单击基本信息,在基本信息页面找到实例ID并复制。
在左侧菜单栏,单击数据库连接,在数据库连接页面查看内网端口并复制。
获取目标实例
VpcId
和VpcCloudInstanceId
。打开OpenAPI调试页面,在 页面找到DBInstanceId实例ID文本框并填入复制好的目标实例ID。关于调用的接口方法。具体详情,请参见DescribeDBInstanceAttribute - 查询实例详情。
点击调用,在调用结果页面复制
VpcId
和VpcCloudInstanceId
。
步骤二:在源Logstore中开启数据加工任务
登录日志服务控制台。
进入数据加工页面。
在Project列表区域,单击目标Project。
在
页签中,单击目标Logstore。在查询与分析页面,单击数据加工。
在数据加工页面,单击切换至数据加工(旧版)。
添加高级参数配置。
在页面右上角选择高级,单击预览数据。
在添加预览配置页面,单击高级选项,添加如下配置。
重要表格里所有配置参数中的
your_name
可自定义但需保持一致,并且与加工规则中your_name
也需保持一致。参数
参数值
说明
config.vpc.vpc_id.your_name
vpc-uf6mskb0b****n9yj
目标实例VpcId。
如何获取请参见,获取目标实例VpcId。
config.vpc.instance_id.your_name
rm-uf6e61k****ahd7-2024091513
目标实例ID。
如何获取请参见,获取目标实例VpcCloudInstanceId。
config.vpc.instance_port.your_name
3306
目标实例内网地址端口号。
如何获取请参见,获取目标实例内网端口。
添加配置示例如图所示:
配置无误后单击右下角确定完成配置。
编辑加工规则。
在编辑框中添加如下语句。
语法格式示例如下,有关数据富化函数以及资源函数具体介绍,请参见,从RDS MySQL数据库获取数据进行数据富化和资源函数。
/* e_table_map() 数据富化函数。 res_rds_mysql() 拉取函数,从RDS MySQL数据库中拉取数据库表内容或SQL执行结果。 str_format() 字符串格式化函数,res_local()中的your_name需和高级参数配置中your_name保持一致。 field 匹配字段,在Logstore中的日志数据与RDS MySQL数据库表中的数据之间进行匹配时的依据字段,只有当这个字段在两者中的值相同时,才能匹配成功。 output_fields 输出字段集合,当匹配成功后,会返回这些字段的值,进而生成一条新的日志。 */ e_table_map( res_rds_mysql( str_format("{}:{}", res_local("config.vpc.instance_id.your_name"), res_local("config.vpc.instance_port.your_name")), "数据库账号", "数据库密码", "数据库名称", table="数据库表名" ), "field", "output_fields" )
加工语句如图所示:
以下规则通过日志服务Logstore中
process_time_in_ms
字段和RDS MySQL数据库表process_time_in_ms
字段进行匹配,只有process_time_in_ms
字段的值完全相同,才能匹配成功。匹配成功后,返回RDS MySQL数据库表中model
和purchase_price
字段及其字段值,与Logstore中的数据拼接,生成新的数据。
单击右上角预览数据进行数据加工。
查看加工结果。
加工规则未匹配成功结果数据如图所示:
加工规则匹配成功结果数据如图所示:
步骤三:将加工结果保存到目标Logstore中
单击右下角保存数据加工(旧版),依次填入图中所需信息后点击确定保存。
在左侧日志库中单击保存了加工结果的目标Logstore,在页面右上角,选择数据的时间范围。
选择时间范围后,请确认原始日志页签中是否成功保存加工结果数据,如图所示已成功保存。
附录:使用内网地址访问AnalyticDB MySQL或PolarDB MySQL数据库
日志服务除了支持通过阿里云内网地址访问RDS MySQL数据库外,还支持通过内网地址访问AnalyticDB MySQL和PolarDB MySQL数据库。相关配置如下所示:
AnalyticDB MySQL数据库
设置高级参数配置时,config.vpc.instance_id.your_name的值需配置为AnalyticDB MySQL实例ID加-controller,如下图所示,其余配置参考此文档即可。
PolarDB MySQL数据库相关配置参考此文档即可。