日志服务(Log Service)是阿里云提供的、针对海量日志收集、存储、查询的平台化服务。您可以使用日志服务来集中收集服务集群中所有的日志,并支持实时消费,实时查询和投递到OSS、MaxCompute等其他云产品做进一步分析。

本文档在Windows环境下,为您演示配置Logtail采集阿里云ECS日志并投递日志到MaxCompute的基本流程。本案例涉及采集日志、实时查询、投递日志等日志服务基本功能,是日志服务的入门级操作指南。

日志服务操作流程

图 1. 操作流程


视频介绍阿里云日志服务快速指南

步骤1 准备开始

1 开通日志服务

使用注册成功的阿里云账号登录 日志服务产品页,单击 立即开通

2 创建密钥对 (可选)

说明
如您需要通过SDK写入数据,请创建主账号或子账号密钥对。通过Logtail采集日志不需要创建密钥对。
在日志服务管理控制台,将鼠标移至页面右上角您的用户名上方,在显示的菜单中单击 accesskeys 。在弹出的确认对话框中单击 继续使用AccessKey以进入 Access Key管理页面 。创建密钥对(Access Key),确认状态已设置为 启用
图 2. 开启AK


3 创建项目

当您第一次进入日志服务管理控制台,系统会提示您创建一个项目(Project)。您也可以通过单击右上角的创建Project进行操作。

创建Project需要指定 Project名称所属区域,请根据您的实际需求进行创建。其中 杭州内部生产1上海内部生产1为弹内日志服务,其余皆为公共云区域。
图 3. 创建项目


4 创建日志库

在Project创建完成的同时,系统会提示您创建一个日志库(以下称为Logstore)。您也可以进入该Project,通过单击右上角的 创建进行操作。创建Logstore需要指定如何使用这些日志。
图 4. 创建日志库


步骤2 在ECS上安装Logtail客户端

1 下载安装包

下载Logtail安装包到云服务器ECS。单击此处下载Windows安装包

2 安装Logtail

将安装包解压缩到当前目录,进入目录logtail_installer。以管理员身份运行cmd,并执行安装命令.\logtail_installer.exe install cn_hangzhou进行安装。

说明
根据网络环境和日志服务所处Region的不同,您需要根据具体网络部署执行对应的安装命令。本文档以华东1(杭州)的ECS经典网络为例,其他区域请参见Windows

更多信息请参考WindowsLinux

步骤3 配置数据接入向导

在日志服务管理控制台单击目标Project进入Logstore列表。单击目标Logstore对应的数据接入向导图标,进入Logtail配置流程。您也可以单击管理,在Logtail配置列表中创建配置。

Logtail配置流程包含以下操作步骤:选择数据类型、设置数据源、查询分析&可视化和投递 & ETL。后两个步骤为可选步骤。

1. 选择数据类型

日志服务支持多种云产品、自建软件和自定义数据的日志收集。本文以采集文本日志为例,详细步骤及说明请参考~~28967~~,采集syslog请参见Syslog

单击自定义数据中的文本文件,并单击下一步。

2 设置数据源

  • 指定配置名称和日志路径。

    请按照页面提示填写配置名称、日志路径和日志文件名称。文件名称可以填写完整名称,也支持通配符模式匹配。

  • 指定日志收集模式。
    日志服务目前支持极简模式、分隔符模式、JSON模式、完整正则模式和飞天日志方式解析日志。本文以分隔符模式为例,关于收集模式的详细说明请参考~~28967~~文本-配置解析
    图 5. 设置数据源


  • 填写日志样例。

    指定日志收集模式为分隔符模式完整正则模式时,需要您填写日志样例。日志服务支持在配置Logtail的同时,根据您选择的配置对日志样例尝试解析。如果解析失败,需要您修改分隔符配置或者正则表达式。请将需要解析的日志样例填写到对应位置。

  • 指定分隔符。

    您可以指定分隔符为制表符、竖线、空格,也可以自定义分隔符。请根据您的日志格式选择正确的分隔符,否则日志数据会解析失败。

  • 指定日志抽取结果中的Key。
    填写日志样例并选择分隔符后,日志服务会按照您选择的分隔符提取日志字段,并将其定义为Value,您需要分别为Value指定对应的Key。
    图 6. 日志内容抽取结果


  • 酌情选择高级选项。

    一般情况下,请保持高级选项的默认配置。如您有其他需求,请参考~~28967~~中的高级配置相关说明。

  • 应用到机器组。

    如果您之前没有创建过机器组,请先根据页面提示创建机器组,然后将Logtail配置应用到机器组。

    说明
    如果需要创建Armory关联机器组请参考页面提示,跳转到内部指定链接。
    图 7. 应用到机器组


完成以上步骤后,日志服务即刻开始收集阿里云ECS上的日志,您可以通过控制台和API/SDK对已收集的日志进行实时消费。

如您需要对日志内容进行查询、分析或投递消费,单击下一步

说明

3. 查询分析&可视化

完成采集配置后,您的ECS日志正在被实时采集,如您需要对采集到的日志进行查询分析,则需要执行本步骤,在数据采集向导中配置索引。

您也可以在Logstore列表界面,单击查询进入查询界面,并单击右上角的开启索引,在右侧弹出菜单中配置索引。

  • 全文索引属性

    您可以选择开启全文索引属性,并确认是否启用大小写敏感、确认分词符内容。

  • 键值索引属性

    单击键名称右侧的加号新增一行,填写键名称类型别名大小写敏感分词符、选择是否开启统计

说明
  1. 全文索引属性和键值索引属性必须至少启用一种。同时启用时,以键值索引属性为准。
  2. 索引类型为long/double时,大小写敏感和分词符属性无效。
  3. 如何设置索引请参考简介
  4. 如需使用Nginx模板或消息服务模板,请在查询界面的查询分析属性中配置。
图 8. 查询分析

设置查询分析之后,如果还需要配置日志投递或ETL,请单击下一步;如果需要体验查询分析,请返回至Logstore列表,单击查询进入查询界面。您可以输入关键字、Topic或者查询分析语句,并设定日志时间范围进行查询操作。日志服务为您提供直观的直方图方式预览查询结果。可以通过单击直方图部分进行更小时间范围的查询,详细说明请参考简介

另外,日志服务支持快速查询、统计图表等多种方式的查询与分析,更多功能请参考其他功能

例如,查询最近15分钟内的所有日志,可以设置查询条件为空,时间范围为最近15分钟。
图 9. 查询日志


4. 投递 & ETL

日志服务不仅支持对多种来源、格式的数据进行批量采集和管理维护,还支持将日志数据投递到OSS、MaxCompute等云产品进行计算分析。另外,日志服务提供流式的全托管数据加工服务,依托于函数计算服务,即ETL。通过配置一个ETL Job,日志服务将定时获取数据更新并触发函数执行:增量消费日志服务Logstore的数据,在函数里完成自定义加工任务。用于数据加工的函数可以是日志服务提供的模板或者用户自定义函数。

如您需要投递日志到OSSMaxCompute,或者配置ETL,请单击对应的开启投递按钮。

本文档以投递MaxCompute为例。为把日志服务内的日志投递到MaxCompute,您需要首先准备好相应的MaxCompute环境。

准备步骤

  1. 开通MaxCompute服务。您需要在阿里云管理控制台上启用MaxCompute服务。
  2. 创建存储投递日志的MaxCompute表。请参考 MaxCompute了解表的结构和相关注意事项。

操作步骤

开启投递后跳转至 LogHub —— 数据投递页面,在该页面需要配置投递大数据计算服务 MaxCompute(原 ODPS)的相关内容。
图 10. 开启投递


说明
sourcetimetopicextract_otherspartition_time是日志服务的系统保留字段,建议使用。对于映射配置的限制详情请参见投递日志到MaxCompute

填写完成后,单击确认即可开始投递。

除了基础的日志接入与查询分析外,日志服务还提供了多种日志消费方式。