日志服务检索分析功能模块支持关联外部存储,即检索日志时将日志服务的日志数据与 MySQL 数据库进行关联。本文档介绍关联 MySQL 数据源的操作步骤。
在实际生产环境中,系统日志、销售记录等与生产事件行为相关的事实表和业务基础元数据的维表通常独立保存在不同的系统或数据库中。例如电商场景中,用户的事件与行为相关的信息会以日志的形式保存在日志服务中,包括用户的访问数据、购买商品数据、支付方式、网络类型等等;而用户的注册信息及会员数据保存在数据库系统中,出于数据安全的考虑并不会打印到日志中。
在日志分析场景中,事实表和维表可以互相关联,以原始数据流作为检索分析的基础,关联大量的外部表来补充一些详细信息和属性。基于以上场景,日志服务检索分析引擎提供关联数据源功能,即支持日志主题和外部 MySQL 数据源联合查询分析。在日志服务中检索数据时,可以通过 SQL 的 JOIN 子句关联日志主题中的日志数据和 MySQL 数据库中的数据,扩大检索分析的数据范围。
说明
类别 | 说明 |
---|---|
数据安全 | 出于数据安全考虑,用于日志服务访问 MySQL 的数据库账号应具备合理范围内最小的操作权限。日志服务仅需要 SELECT 和 INSERT 权限,无需其他权限。建议为联合查询指定一个专用的数据库账号,并妥善保管账号信息。 |
MySQL 数据库连接地址 | 在火山引擎 ECS 中自建 MySQL 数据库时,建议设置连接地址为 |
MySQL 数据库用户 | 在默认情况下,MySQL 数据库的 root 用户仅允许在本地服务器登录 MySQL 数据库,因此您需要创建新用户用于远程访问 MySQL 数据库或者开放 root 用户的远程访问权限。 |
MySQL 数据库白名单 | 白名单是数据库连接的安全防控手段,只有白名单内的 IP 地址才能访问数据库。即您在关联 MySQL 数据源之前,需先在 MySQL 数据源端设置白名单,允许日志服务相关 IP 地址访问 MySQL 数据源。详细说明请参考1 设置白名单。 |
限制项 | 说明 |
---|---|
外部数据源 | MySQL 数据源支持火山引擎云数据库 MySQL 版、在火山引擎 ECS 中自建的 MySQL 数据库,且云数据库 MySQL 实例或 ECS 实例应和日志服务日志主题位于同一地域。 |
MySQL 版本 | 支持的 MySQL 版本包括 5.7 和 8.0 版本。 |
MySQL 表大小 | 建议联合查询时关联的 MySQL 表内数据量小于 20MiB,数据量较大时,如果日志服务对数据库发起了过于复杂的 SQL 查询,可能会影响数据库稳定性。 |
外部数据源配额 | 每个日志项目下可创建 50 个外部数据源。 |
在关联 MySQL 数据源之前,需先在 MySQL 数据源端设置白名单,允许日志服务相关 IP 地址访问 MySQL 数据源。应添加到白名单的 IP地址如下:
数据源 | IP 地址 | 说明 |
---|---|---|
火山引擎云数据库 MySQL 版 |
| 将 IP 地址段添加到数据库的白名单中。操作步骤请参考创建白名单。 |
火山引擎 ECS 中自建的 MySQL 数据库 |
| 如果 ECS 已设置安全组,则应添加一条安全组规则,允许指定 IP 地址段访问。操作步骤请参考修改安全组访问规则。 |
登录日志服务控制台。
在顶部导航栏中,选择日志服务所在的地域。
在左侧导航栏中,选择资源管理 > 日志项目。
在外部数据源页签中,单击创建数据源关联。
填写数据源的基本配置。
自建数据库
配置 | 说明 |
---|---|
数据源名称 | 外部数据源名称。应符合以下要求:
|
类型 | 外部数据源的类型。目前仅支持设置为 MySQL,表示 MySQL 数据源。 |
数据库类型 | 数据库类型。此处以自建数据库为例,即火山引擎 ECS 中自建的 MySQL 数据库。 |
连接地址 | ECS 的私网 IP 地址。 |
端口 | MySQL 服务绑定的端口号。 |
VPCId | ECS 实例所在的 VPC ID。 |
数据库用户名 | MySQL 数据库用户名。 |
数据库密码 | MySQL 数据库用户密码。 |
数据库 | MySQL 数据库名称。 |
数据库表 | MySQL 数据库表名称。 |
火山引擎云数据库 MySQL 版
配置 | 说明 |
---|---|
数据源名称 | 外部数据源名称。应符合以下要求:
|
类型 | 外部数据源的类型。目前仅支持设置为 MySQL,表示 MySQL 数据源。 |
数据库类型 | 数据库类型。此处以火山引擎RDS for MySQL 为例,即火山引擎云数据库 MySQL 版。 |
选择Region | 云数据库 MySQL 实例所在的地域。应与当前日志项目的地域相同。 |
选择AZ | 云数据库 MySQL 实例所在的可用区。 |
选择实例 | 云数据库 MySQL 实例名称。 |
连接地址 | 云数据库 MySQL 实例的内网连接地址。 |
端口 | 云数据库 MySQL 实例的内网连接端口号。指定连接地址时页面会自动填充对应的端口号。 |
VPCId | 云数据库 MySQL 实例所在的 VPC。指定实例时页面会自动填充对应的 VPC。 |
数据库用户名 | 云数据库 MySQL 实例的数据库用户名。 |
数据库密码 | 云数据库 MySQL 实例的数据库用户密码。 |
数据库 | 云数据库 MySQL 实例的数据库名称。 |
数据库表 | 云数据库 MySQL 实例的数据库表名称。 |
单击测试连接。
日志服务将自动测试服务端与 MySQL 数据源的连通性。
测试通过后,单击创建数据源关联。
创建数据源关联后,还可以查看、修改或删除数据源关联,相关操作说明如下。
相关操作 | 说明 |
---|---|
查看外部数据源 | 在日志项目详情页的外部数据源页签中可查看当前日志主题下已关联的所有外部数据源。单击数据源名称可查看其详细信息。 |
修改外部数据源配置 | 在外部数据源列表的操作列单击修改,即可修改指定外部数据源配置。暂不支持修改数据源的类型或数据库类型。 |
查看数据源连接状态 | 在外部数据源列表中数据源连接状态一列查看连接状态,如果连接失败,可以修改配置后单击重试。 |
删除外部数据源 | 如果不再需要某个数据源,可以直接在外部数据源列表的操作列单击删除。 |
外部数据源联合分析 | 在检索分析时,通过 JOIN 子句将日志主题和 MySQL 数据库进行联合查询分析,查询分析结果还可以保存至 MySQL 数据库中。详细说明请参考 MySQL 联合查询分析。 |