我们在 AWS EKS 集群上部署了一个应用程序,该应用程序需要将应用程序错误消息发送到 syslog 服务器。

我们的默认日志发送器是 Fluent Bit,作为 Daemonset 部署在 AWS EKS 集群中。

查看Fluent Bit 的,有一个 Syslog 输入选项,允许通过 Unix 套接字服务器(UDP 或 TCP)或通过网络使用 TCP 或 UDP 收集 Syslog 消息。

但查看官方文档中的示例:

[SERVICE]
    Flush               1
    Log_Level           info
    Parsers_File        parsers.conf

[INPUT]
    Name                syslog
    Path                /tmp/in_syslog
    Buffer_Chunk_Size   32000
    Buffer_Max_Size     64000
    Receive_Buffer_Size 512000

[OUTPUT]
    Name   stdout
    Match  *

看来 Fluent Bit 无法接收任何 Syslog 陷阱(例如:Kiwi Server),但仅对 Syslog 日志文件(示例中:/tmp/in_syslog)执行尾部操作。

我是否正确理解了官方文档?

1

  • 我不相信“系统日志陷阱”是一回事;您考虑的是 SNMP 陷阱吗?SNMP 不是系统日志的一部分。


    – 


最佳答案
1

似乎您可以使用来配置 Fluent Bit,以通过 Unix 套接字或 TCP/UDP 套接字收集 Syslog 消息。请在文档中向下滚动以查看文件解析示例以外的其他示例。

看看这些选项:

Parser   syslog-rfc3164
Listen   0.0.0.0
Port     5140

5

  • 谢谢,如果您参考的是“Rsyslog 到 Fluent Bit:通过 TCP 的网络模式”部分,Fluent Bit 会拉取 Syslog 陷阱,还是会监听 Syslog 陷阱?


    – 

  • 1
    syslog trap 是什么意思?我记得有 SNMP trap,但它们是不同的东西。


    – 


  • 抱歉,术语错误,因为在 Syslog 的范围内,它应该是 Syslog 消息,如果我没记错的话,Syslog 协议不支持拉取。


    – 


  • Fluent Bit 将监听与其连接的 syslog 发出的 syslog 消息。这意味着您需要配置 syslog 以连接到 Fluent Bit,还需要配置 Fluent Bit 以在监听模式下启动端口。


    – 

  • 传统上,syslogd 会从各种来源收集日志消息,并将它们发送到文件或远程 syslog 服务器。它不会将消息存储到数据库中,因此您无法对其进行轮询。


    –