详情页标题前

阿里云日志服务SLS采集Syslog-云淘科技

详情页1

本文介绍如何通过日志服务控制台创建Logtail配置来采集Syslog

前提条件

已在服务器上安装Linux Logtail 0.16.13及以上版本或Window Logtail 1.0.0.8及以上版本。具体操作,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。

简介

在Linux服务器中,您可以通过rsyslog等syslog agent将本地的syslog数据转发到指定服务器IP地址和端口上。为指定服务器添加Logtail配置后,Logtail会以TCP协议或UDP协议接收转发过来的syslog数据,并根据指定的syslog协议进行解析,提取日志中的facility、tag(program)、severity、content等字段。syslog协议支持RFC3164和RFC5424。

实现原理

Logtail对指定的地址和端口进行监听,接收syslog协议的数据。阿里云日志服务SLS采集Syslog-云淘科技

操作步骤

  1. 登录日志服务控制台。

  2. 接入数据区域,选择自定义数据插件

  3. 选择目标Project和Logstore,单击下一步

  4. 创建机器组。

    • 如果您已有可用的机器组,请单击使用现有机器组

    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。

      1. ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击创建

        具体操作,请参见安装Logtail(ECS实例)。

        重要

        如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动安装Logtail。具体操作,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。手动安装Logtail后,您必须在该服务器上手动配置用户标识。具体操作,请参见配置用户标识。

      2. 确认参数配置无误后,单击确定

      3. 安装完成后,单击确认安装完毕

      4. 创建机器组页面,输入名称,单击下一步

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

  5. 确认目标机器组已在应用机器组区域,单击下一步

    重要

    创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。

  6. 数据源设置页签中,设置配置名称插件配置,然后单击下一步

    同时监听UDP和TCP的示例配置如下:

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "tcp://0.0.0.0:9000",
                     "ParseProtocol": "rfc3164"
                 }
             },
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "udp://0.0.0.0:9001",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }

    参数

    类型

    是否必选

    说明

    type

    string

    数据源类型,固定为service_syslog

    Address

    string

    指定Logtail监听的协议、地址和端口,Logtail会根据Logtail配置进行监听并获取日志数据。格式为[tcp/udp]://[ip]:[port]。不配置时,默认为tcp://127.0.0.1:9999,即表示(只能接收本地转发的日志。

    说明

    • Logtail配置中设置的监听协议、地址和端口号必须与rsyslog配置文件设置的转发规则相同。

    • 如果安装Logtail的服务器有多个IP地址可接收日志,可以将地址配置为0.0.0.0,表示监听服务器的所有IP地址。

    ParseProtocol

    string

    指定解析日志所使用的协议,默认为空,表示不解析。其中:

    • 空:不解析。

    • rfc3164:指定使用RFC3164协议解析日志。

    • rfc5424:指定使用RFC5424协议解析日志。

    • auto:指定Logtail根据日志内容自动选择合适的解析协议。

    IgnoreParseFailure

    boolean

    指定解析失败后的操作,不配置时,默认为true,表示放弃解析,直接填充所返回的content字段。配置为false ,表示解析失败时丢弃日志。

  7. 预览数据及创建索引,然后单击下一步。日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引。 重要 如果您要查询和分析日志,那么全文索引和字段索引必须至少启用一种。同时启用时,以字段索引为准。
  8. 单击查询日志,系统将跳转至Logstore查询分析页面。您需要等待1分钟左右,待索引生效后,才能在原始日志页签中,查看已采集到的日志。更多信息,请参见查询和分析日志。

问题排查

使用Logtail采集数据后,如果预览页面或查询页面无数据,您可以使用logger命令向本地Logtail发送数据,用于判断是写入端问题、网络问题还是Logtail端问题。

如果本地Logtail能接收到数据,则可能是写入端问题或网络问题。

logger -n localhost -P 9000 -T "This is a TCP syslog message"
logger -n localhost -P 9001 -d "This is a UDP syslog message"

此外,您还可以参见Logtail采集日志失败的排查思路进行排查。

日志样例

Syslog样例如下所示。

阿里云日志服务SLS采集Syslog-云淘科技

字段

说明

_hostname_

主机名,如果日志中未提供则获取当前主机名。

_program_

协议中的tag字段。

_priority_

协议中的priority字段。

_facility_

协议中的facility字段。

_severity_

协议中的severity字段。

_unixtimestamp_

日志对应的时间戳。

_content_

日志内容,如果解析失败的话,此字段包含未解析日志的所有内容。

_ip_

当前主机的IP地址。

_client_ip_

传输日志的客户端IP地址。

示例

采集rsyslog转发日志

  1. 为rsyslog添加一条转发规则。

    1. 在syslog所在的服务器上修改rsyslog的配置文件/etc/rsyslog.conf,在配置文件的最后添加一行转发规则。

      添加转发规则后,rsyslog会将syslog转发至指定IP地址和端口上。

      • 如果通过当前服务器采集本机syslog,配置转发地址为127.0.0.1,端口为任意非知名的空闲端口。

      • 如果通过其他服务器采集本机syslog,配置转发地址为其他服务器的公网IP地址,端口为任意非知名的空闲端口。

      例如以下配置表示将所有的日志都通过TCP转发至127.0.0.1:9000,配置文件详细说明请参见RSyslog Documentation。

      *.* @@127.0.0.1:9000
    2. 执行以下命令重启rsyslog,使日志转发规则生效。

      sudo service rsyslog restart
  2. 创建Logtail配置。具体操作,请参见操作步骤。

    其中Logtail配置如下所示。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "tcp://0.0.0.0:9000",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }

采集Nginx日志

Nginx支持直接把访问日志以syslog协议转发到指定IP地址和端口。如果您希望将服务器上包括Nginx访问日志在内的所有数据都以syslog形式集中投递到日志服务,您可以根据需求创建Logtail配置进行采集。

  1. 为Nginx添加一条转发规则。

    1. 在Nginx服务器的nginx.conf文件中增加转发规则。更多信息,请参见Nginx官网说明。

      例如,在配置文件中增加如下内容。

      http {
          ...
      
          # Add this line.
          access_log syslog:server=127.0.0.1:9000,facility=local7,tag=nginx,severity=info combined;
      
          ...
      }
                                      
    2. 执行以下命令重启Nginx服务,使配置生效。

      sudo service nginx restart
  2. 创建Logtail配置。具体操作,请参见操作步骤。

    其中Logtail配置如下所示。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "udp://127.0.0.1:9001",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }

采集防火墙日志

通常防火墙支持将访问日志以syslog协议转发到指定IP地址和端口。如果您希望将防火墙日志以syslog形式集中投递到日志服务,例如构建SIEM,您可以根据需求创建Logtail配置进行采集。

  1. 根据防火墙说明书为防火墙添加一条转发规则。

    假设Logtail所在服务器的IP地址为10.20.30.40,示例如下。阿里云日志服务SLS采集Syslog-云淘科技

  1. 创建Logtail配置。具体操作,请参见操作步骤。

    其中Logtail配置如下所示。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "tcp://0.0.0.0:9000",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/161252.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS通过Syslog投递日志到SIEM-云淘科技

    Syslog是一个常见的日志通道,几乎所有的SIEM(例如IBM Qradar, HP Arcsight)都支持通过Syslog渠道接收日志。本文主要介绍如何通过Syslog将日志服务中的日志投递到SIEM。 背景信息 Syslog主要是基于RFC5424和RFC3164定义相关格式规范,RFC3164协议是2001年发布的,RFC5424协议是2009年发…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS使用Syslog协议上传日志-云淘科技

    您可以使用Rsyslog、Syslog-ng采集日志并通过Syslog协议上传到日志服务。本文介绍通过Syslog协议将日志上传到日志服务的操作步骤。 相关限制 Syslog协议必须为标准的RFC5424协议。 每条日志最大支持64 KB。 为保证数据传输安全性,数据传输必须使用基于TCP的TLS1.2(Transport-level security)。 …

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS使用Logtail采集和解析Syslog数据-云淘科技

    本视频介绍如何使用Logtail采集和解析Syslog数据。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS使用Syslog协议上传日志-云淘科技

    您可以使用Rsyslog、Syslog-ng采集日志并通过Syslog协议上传到日志服务。本文介绍通过Syslog协议将日志上传到日志服务的操作步骤。 相关限制 Syslog协议必须为标准的RFC5424协议。 每条日志最大支持64 KB。 为保证数据传输安全性,数据传输必须使用基于TCP的TLS1.2(Transport-level security)。 …

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS解析Syslog标准格式数据-云淘科技

    Syslog是一种行业标准的协议,可用来记录设备的日志。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。本文档介绍如何使用SLS DSL中的GROK函数高效快捷的解析不同格式的Syslog日志。 概况 在Unix类操作系统上,Syslog广泛应用于系统日志。Syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收Syslog的服务器。服…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。