日志作为一种特殊的数据,对处理历史数据、诊断问题等非常重要。对数据分析人员、开发人员或者运维人员而言,日志都是其工作过程中必不可缺的数据来源。阿里云从用户角度出发,支持通过日志服务将Nginx访问日志、Log4j日志、Apache日志以及结构化文本等日志实时同步至ADB,从而使用ADB进行实时日志分析。

前提条件

  • 首次使用日志服务时,您需要通过阿里云账号登录日志服务 LOG产品详情页,单击立即购买,进入购买页面,然后单击立即开通即可购买日志服务,系统自动跳转到日志服务控制台
    说明 如果您之前已经开通过日志服务,可直接从创建Project开始。
  • 在AnalyticDB for MySQL中完成以下准备工作:
    1. 创建集群
    2. 创建数据库账号
    3. 创建数据库
    4. 如果您需要通过外网地址连接AnalyticDB for MySQL集群,请申请外网地址
    5. 通过CREATE TABLE创建表,存储投递过来的日志数据。

创建投递任务

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

  1. 登录日志服务控制台
  2. 创建Project和Logstore(日志库)。

    本示例创建adb-test Project和adb-source Logstore,详情请参见创建Project创建Logstore

    说明 目前仅支持同地域投递日志,因此日志服务中的Project所属地域应与AnalyticDB for MySQL所属地域相同。
  3. 日志库列表中,单击目标Logstore名称前的> > 数据处理 > 导出 > AnalyticDB

    如果您是首次将日志数据投递到AnalyticDB for MySQL,需要为AnalyticDB for MySQL授权,允许AnalyticDB for MySQL访问日志服务。

    1. 单击AnalyticDB后的+,系统自动提示您进行授权操作,单击权限
    2. 在云资源访问授权页面,单击同意授权,将角色AliyunAnalyticDBAccessingLogRole授予AnalyticDB for MySQL。
  4. 完成授权后,单击AnalyticDB后的+,您可以选择直接投递日志数据或者前往数据加工对数据进行处理后再投递。
    说明 本示例选择直接投递数据。
  5. LogHub —— 数据投递页面,按照页面提示进行参数配置。
    表 1. 数据投递参数说明
    参数 说明
    投递名称 为投递任务取一个名字,便于后续管理。
    投递描述 为投递任务填写有意义的描述,便于后续管理。
    集群版本 设置AnalyticDB for MySQL集群版本,选择3.0。 。
    集群名称 设置目标AnalyticDB for MySQL集群。
    数据库名称 填写目标AnalyticDB for MySQL中的数据库名。
    表名 填写目标AnalyticDB for MySQL中的表名。
    账号名称 目标AnalyticDB for MySQL中创建的数据库账号:
    • 高权限账号
    • 普通账号
    账号密码 填写账号名称对应的密码。
    字段映射 系统自动提取日志服务中最近10分钟的日志字段,同时自动映射对应的AnalyticDB for MySQL字段。
    投递时间 设置投递开始时间。

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

    是否过滤脏数据 设置是否过滤脏数据。
    • :遇到脏数据时,投递任务自动中断。
    • :遇到脏数据时,过滤掉脏数据。

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

  6. 完成上述参数配置后,单击确定,日志服务将在您设置的投递时间将数据实时投递到AnalyticDB for MySQL表中。

查看日志数据

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

管理投递任务

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