Logtail客户端可以帮助日志服务用户简单地通过控制台收集ECS云服务器或您本地服务器上的文本日志。

前提条件

使用限制

  • 一个文件只能被一个配置收集。如果需要采集多份,建议以软链接形式实现。例如/home/log/nginx/log下需要采集两份,则其中一个配置原始路径,另外创建一个该文件夹的软链接ln -s /home/log/nginx/log /home/log/nginx/link_log,另一个配置软链接路径即可。
  • Logtail客户端支持的操作系统可参见Logtail简介
  • 经典网络或者VPC下的ECS必须和日志服务Project在相同地域;如果您的日志源数据通过公网传输(类似IDC用法),可以根据地域说明选择日志服务Project的地域。

日志收集配置流程

通过控制台配置Logtail收集文本日志,可以通过极简模式、NGINX配置模式,APACHE配置模式,IIS配置模式,分隔符模式、JSON 模式、完整正则模式等方式收集日志进行设置。

图 1. 配置流程

配置流程

采集模式

Logtail支持极简模式、完整正则模式、分隔符模式、JSON模式、NGINX配置模式 、IIS配置模式、APACHE配置模式 等方式收集日志。
  • 极简模式

    支持通过极简模式采集日志,详细采集步骤请参见极简模式采集日志

  • 完整正则模式

    支持通过完整正则模式采集日志,详细采集步骤请参见正则模式采集日志

  • 分隔符模式

    支持通过分隔符模式采集分隔符日志,详细步骤请参见分隔符日志

  • JSON模式

    关于JSON日志的采集,请参见JSON 日志请选择。

  • NGINX配置模式

    关于Nginx日志的采集,请参见Nginx 日志

  • IIS配置模式

    关于IIS日志的采集,请参见分析IIS日志

  • APACHE配置模式

    关于Apache日志的采集,请参见Apache 日志

采集步骤

  1. 登录日志服务控制台
  2. 选择数据源类型。
    您可以通过如下三种方式进入数据源界面。
    • 在日志服务首页的接入数据区域选择数据源类型。
      日志服务首页选择数据源
    • Project列表中选择并单击Project名称,在Project概览页面单击接入数据进入数据源界面。
      项目概览选择数据源
    • 选择一个日志库并展开其节点,单击数据接入后的加号进入数据源界面。
      日志库选择数据源

    请根据实际业务需求选择对应数据源类型。当前支持的文本数据源类型为:正则-文本文件单行-文本文件分隔符-文本文件JSON-文本文件Nginx-文本文件IIS-文本文件Apache-文本文件

  3. 选择日志空间。
    请选择Project和Logstore,您也可以直接单击立即创建新建Project和Logstore。具体步骤请参见准备流程

    如果您是通过日志库下的数据接入后的加号进入采集配置流程,系统会直接跳过该步骤。

  4. 创建机器组。
    在创建机器组之前,您需要首先确认已经安装了Logtail。 安装完Logtail后单击确认安装完毕创建机器组,具体请参见简介。如果您之前已经创建好机器组 ,请直接单击使用现有机器组
  5. 机器组配置。
    选择一个机器组,将该机器组从源机器组移动到应用机器组
    机器组配置
  6. Logtail配置。
    不同文本采集模式,Logtail配置项不同,请参见具体采集模式的配置项说明。
  7. 可选: 配置高级选项,设置完成后,单击下一步
    请根据您的需求选择高级配置。如没有特殊需求,建议保持默认配置。
    配置项 详情
    上传原始日志 请选择是否需要上传原始日志。开启该功能后,原始日志内容会作为__raw__字段与解析过的日志一并上传。
    Topic生成方式
    • 空-不生成Topic:默认选项,表示设置Topic为空字符串,在查询日志时不需要输入Topic即可查询。
    • 机器组Topic属性:设置Topic生成方式为机器组Topic属性,可以用于明确区分不同前端服务器产生的日志数据。
    • 文件路径正则:选择此项之后,您需要填写下方的自定义正则,用正则式从路径里提取一部分内容作为Topic。可以用于区分具体用户或实例产生的日志数据。
    自定义正则 如您选择了文件路径正则方式生成Topic,需要在此处填写您的自定义正则式。
    日志文件编码
    • utf8:指定使用UTF-8编码。
    • gbk:指定使用GBK编码。
    时区属性 设置采集日志时,日志时间的时区属性。
    • 机器时区:默认为机器所在时区。
    • 自定义时区:手动选择时区。
    超时属性 如果一个日志文件在指定时间内没有任何更新,则认为该文件已超时。您可以对超时属性指定以下配置。
    • 永不超时:指定持续监控所有日志文件,永不超时。
    • 30分钟超时:如日志文件在30分钟内没有更新,则认为已超时,并不再监控该文件。
    过滤器配置 日志只有完全符合过滤器中的条件才会被收集。
    例如:
    • 满足条件即收集:配置Key:level Regex:WARNING|ERROR,表示只收集level为WARNING或ERROR类型的日志。
    • 过滤不符合条件的数据
      • 配置Key:level Regex:^(?!.*(INFO|DEBUG)).*,表示不收集level为INFO或DEBUG类型的日志。
      • 配置Key:url Regex:.*^(?!.*(healthcheck)).*,表示不采集url中带有healthcheck的日志,例如key为url,value为/inner/healthcheck/jiankong.html的日志将不会被采集。
    更多示例可参见regex-exclude-wordregex-exclude-pattern
  8. 查询分析配置。
    默认已经设置好索引,您也可以根据业务需求,重新设置索引。具体请参见开启并配置索引

完成以上步骤日志服务就可以开始收集日志了。

Logtail配置项

配置Logtail时需要填写配置项,常用配置项具体描述与限制如下:

配置项 描述
日志路径 目录结构支持完整路径和通配符两种模式。通配符模式为多层目录匹配,即指定文件夹下所有符合文件名称的文件都会被监控到,包含所有层次的目录。
日志文件名 指定收集日志文件名称,区分大小写,可以使用通配符。例如*.log。Linux下的文件名通配符包括*?[…]
本地存储 表示是否启用本地缓存临时存储因网络短暂中断而无法发送的日志。
日志首行头 指定多行日志的起始头,需指定正则表达式。在多行日志收集场景下(如应用程序日志中的堆栈信息),无法使用换行符来分割每条日志。这时需要指定一个多行日志的起始头,当发现该起始头则表示上条日志已经结束,新的一条已经开始。由于每条日志的起始头可能并不一样(如时间戳),故需要指定一个起始头的匹配规则,即这里的正则表达式。
日志解析表达式 定义如何提取一条日志信息,并转化成为日志服务日志的格式。用户需要指定一个正则表达式提取需要的日志字段信息,并且定义每个提取的字段名称。
日志时间格式 定义如何解析日志数据中的时间戳字符串的时间格式,具体请参见配置时间格式