将日志服务数据投递到AnalyticDB MySQL

日志服务采集到日志后,支持将日志投递至云原生数据仓库AnalyticDB MySQL进行存储与分析。本文档介绍将日志投递至AnalyticDB MySQL的操作步骤。

说明

投递数据到AnalyticDB MySQL遵循REPLACE INTO语义。REPLACE INTO用于实时覆盖写入的数据。写入数据时,REPLACE INTO会先根据主键判断待写入数据是否已存在于表中,并根据判断结果选择不同的方式写入数据。

  • 如果待写入数据已经存在,则会覆盖已有数据。

  • 如果待写入数据不存在,则直接插入新数据。

更多信息,请参见REPLACE INTO

前提条件

  • 已采集日志到目标Logstore。具体操作,请参见数据采集

创建AnalyticDB MySQL

  1. 在日志服务Project所在地域,创建AnalyticDB MySQL集群。具体操作,请参见创建集群

    说明

    目前日志服务仅支持同地域投递。

  2. 创建数据库账号。具体操作,请参见创建数据库账号

  3. 创建数据库。具体操作,请参见创建数据库

  4. 如果您需要通过外网地址连接AnalyticDB MySQL集群,还需要申请外网地址。具体操作,请参见申请和释放公网地址

  5. 创建数据库表。具体操作,请参见CREATE TABLE

创建投递任务

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

  3. 日志存储 > 日志库页签中,依次展开目标Logstore下的数据处理 > 导出,单击AnalyticDB右侧的+

  4. 投递提示对话框中,单击直接投递

  5. 首次创建投递任务到AnalyticDB MySQL时,需创建服务关联角色AliyunServiceRoleForAnalyticDBForMySQL。

    1. 创建服务关联角色对话框中,单击AliyunServiceRoleForAnalyticDBForMySQL。

      创建服务关联角色

    2. 创建服务关联角色对话框中,单击确定

  6. LogHub —— 数据投递页面,配置相关参数,然后单击确定

    参数

    说明

    投递名称

    配置投递任务的名称,便于后续管理。

    投递描述

    配置投递任务的描述,便于后续管理。

    集群版本

    选择AnalyticDB MySQL集群版本,此处以选择3.0为例。

    集群名称

    选择您已创建的AnalyticDB MySQL集群。

    数据库名称

    选择您已创建的AnalyticDB MySQL集群中的数据库。

    表名

    选择您已创建的AnalyticDB MySQL集群中的数据库表。

    账号名称

    配置为您在AnalyticDB MySQL集群中创建的数据库账号名称。

    账号密码

    配置为您在AnalyticDB MySQL集群中创建的数据库账号密码。

    字段映射

    系统自动提取日志服务中最近10分钟的日志字段,同时自动映射对应的AnalyticDB MySQL数据表中的字段。左边文本框为日志字段名称,右边为AnalyticDB MySQL数据库表中的字段。

    说明

    Timestamp类型的字段映射精确到秒级别。例如日志时间为2022-01-05 10:12:13.145,投递到AnalyticDB MySQL后,投递结果为2022-01-05 10:12:13。

    投递任务2

    投递开始时间

    配置投递开始时间。

    当日志服务采集到日志后,日志服务可以实时将数据投递到AnalyticDB MySQL。

    是否过滤脏数据

    脏数据包括数据类型转化失败和非空字段为空等数据。

    • 如果打开是否过滤脏数据开关,则遇到脏数据时,过滤掉脏数据。

    • 如果关闭是否过滤脏数据开关,则遇到脏数据时,投递任务中断。请谨慎选择。

创建投递任务后,您可以在日志服务控制台上管理数据投递任务,包括查看任务详情、修改投递规则以及启动、停止、删除任务等操作。具体操作,请参见管理日志投递任务

查看日志数据

将日志投递到AnalyticDB MySQL后,您就可以在数据库中通过SELECT语句查询日志数据。