日志服务采集到日志后,可以将Nginx访问日志、Log4j日志、Apache日志以及结构化文本等日志实时同步至AnalyticDB MySQL数仓版(3.0)进行存储和分析。

前提条件

  • 已采集日志到目标Logstore。具体操作,请参见数据采集
  • 在AnalyticDB MySQL中已完成以下准备工作。
    1. 在日志服务Project所在地域,创建AnalyticDB MySQL集群。具体操作,请参见创建集群
      说明 目前日志服务仅支持同地域投递。
    2. 创建数据库账号。具体操作,请参见创建数据库账号
    3. 创建数据库。具体操作,请参见创建数据库
    4. 如果您需要通过外网地址连接AnalyticDB MySQL集群,还需要申请外网地址。具体操作,请参见申请和释放公网地址
    5. 创建数据库表。具体操作,请参见CREATE TABLE

创建投递任务

您可以通过日志服务数据处理模块中的导出功能,将Logstore中采集到的日志投递到AnalyticDB MySQL数仓版(3.0)

  1. 登录日志服务控制台
  2. 在Project列表区域,单击目标Project。
  3. 日志存储 > 日志库页签中,依次展开目标Logstore下的数据处理 > 导出,单击AnalyticDB右侧的+
  4. 投递提示对话框中,单击直接投递
  5. 首次创建投递任务到AnalyticDB MySQL时,需授予AliyunLogETLRole权限。
    1. 无权限对话框中,单击权限
    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。

    是否过滤脏数据脏数据包括数据类型转化失败和非空字段为空等数据。
    • 如果打开是否过滤脏数据开关,则遇到脏数据时,过滤掉脏数据。
    • 如果关闭是否过滤脏数据开关,则遇到脏数据时,投递任务中断。请谨慎选择。
  7. 完成上述参数配置后,单击确定,日志服务将在您设置的投递时间将数据实时投递到AnalyticDB MySQL表中。
    投递成功

查看日志数据

将日志投递到AnalyticDB MySQL后,您就可以通过SELECT对日志数据进行自由灵活地分析。

管理投递任务

  • 监控投递任务:单击投递名称,可以查看投递任务的执行情况,包括投递成功数据量、投递失败数据量以及投递延迟等。监控投递任务
  • 修改投递任务:单击修改投递配置修改投递任务。修改投递配置
  • 重启投递任务:单击停止,待投递任务停止后,单击启动重启投递任务。