本文介绍如何通过日志服务控制台创建Logtail采集配置来采集Beats和Logstash数据源。

前提条件

  • 已在服务器上安装Logtail。更多信息,请参见安装Logtail(Linux系统)安装Logtail(Windows系统)
    说明 目前仅支持Linux Logtail 0.16.9及以上版本,Window Logtail 1.0.0.8及以上版本。
  • 已通过Logstash或Beats系列软件采集到数据。
    • 如果要通过Logstash采集数据,请参见Logstash-Lumberjack-Output
    • 如果要通过Beats系列软件采集数据,请参见Beats-Lumberjack-Output
      本文以使用PacketBeat软件采集本地网络数据包,并使用Logtail Lumberjack插件上传到日志服务为例,进行说明。配置PacketBeat输出方式为Logstash,示例如下所示。
      output.logstash:
        hosts: ["127.0.0.1:5044"]

背景信息

基于Logstash、Beats系列软件对Lumberjack协议的支持,Logtail可以通过Lumberjack协议将Beats系列软件(MetricBeat、PacketBeat、Winlogbeat、Auditbeat、Filebeat、Heartbeat等)、Logstash采集的数据上传到日志服务。
说明
  • 同一Logtail可配置多个Lumberjack插件,但多个插件不能监听同一端口。
  • Lumberjack插件支持SSL,上传Logstash采集的数据需要使用该功能。

操作步骤

  1. 登录日志服务控制台
  2. 接入数据区域,选择自定义数据插件
  3. 选择目标Project和Logstore,单击下一步
  4. 创建机器组。
    • 如果您已有可用的机器组,请单击使用现有机器组
    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
      1. ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击立即执行

        更多信息,请参见安装Logtail(ECS实例)

        说明 如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动安装Logtail。更多信息,请参见安装Logtail(Linux系统)安装Logtail(Windows系统)。手动安装Logtail后,您还需要在该服务器上手动配置用户标识。具体操作,请参见配置用户标识
      2. 安装完成后,单击确认安装完毕
      3. 创建机器组页面,输入名称,单击下一步

        日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组创建用户自定义标识机器组

  5. 选中目标机器组,将该机器组从源机器组移动到应用机器组,单击下一步
    注意 如果创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。
  6. 数据源设置页签中,设置配置名称插件配置,然后单击下一步
    • inputs为Logtail采集配置,必选项,请根据您的数据源配置。
      说明 一个inputs中只允许配置一个类型的数据源。
    • processors为Logtail处理配置,可选项。您可以配置一种或多种处理方式,详情请参见概述

    由于Beats和Logstash输出的都是JSON格式数据,因此需要使用processor_anchor将JSON展开。

    {
      "inputs": [
        {
          "detail": {
            "BindAddress": "0.0.0.0:5044"
          },
          "type": "service_lumberjack"
        }
      ],
      "processors": [
        {
          "detail": {
            "Anchors": [
              {
                "ExpondJson": true,
                "FieldType": "json",
                "Start": "",
                "Stop": ""
              }
            ],
            "SourceKey": "content"
          },
          "type": "processor_anchor"
        }
      ]
    }
                            
    参数 类型 是否必选 说明
    type string 数据源类型,固定为service_lumberjack
    BindAddress string Lumberjack协议绑定的地址。不配置时,默认为127.0.0.1:5044,支持自定义。如果Lumberjack协议需要被局域网内其他主机访问,请配置为0.0.0.0:5044
    V1 bool 是否使用Lumberjack V1版本协议。不配置时,默认为false。目前Logstash支持Lumberjack V1。
    V2 bool 是否使用Lumberjack V2版本协议。不配置时,默认为true。目前Beats系列软件支持Lumberjack V2。
    SSLCA string 证书授权机构(Certificate Authority)颁发的签名证书路径,默认为空。如果是自签名证书可不设置此选项。
    SSLCert string 证书的路径,默认为空。
    SSLKey string 证书对应私钥的路径,默认为空。
    InsecureSkipVerify bool 是否跳过SSL安全检查。不配置时,默认为false,执行SSL安全检查。

后续步骤

Logtail采集数据到日志服务后,您可以在日志服务控制台上进行查看。

_@metadata_beat:  packetbeat
_@metadata_type:  doc
_@metadata_version:  6.2.4
_@timestamp:  2018-06-05T03:58:42.470Z
__source__:  **.**.**.**
__tag__:__hostname__:  *******
__topic__:  
_beat_hostname:  bdbe0b8d53a4
_beat_name:  bdbe0b8d53a4
_beat_version:  6.2.4
_bytes_in:  56
_bytes_out:  56
_client_ip:  192.168.5.2
_icmp_request_code:  0
_icmp_request_message:  EchoRequest(0)
_icmp_request_type:  8
_icmp_response_code:  0
_icmp_response_message:  EchoReply(0)
_icmp_response_type:  0
_icmp_version:  4
_ip:  127.0.0.1
_path:  127.0.0.1
_responsetime:  0
_status:  OK
_type:  icmp