flume 用于收集系统日志数据

flume for collecting syslog data

我正在尝试从 10 个设备(路由器)收集系统日志。我开始知道我可以使用系统日志源,但需要澄清属性中的主机和端口。它们是否是 flume 代理 运行 所在机器上的本地端口。还有如何将系统日志重定向到 flume 正在监听的端口。

经典的 Syslog 源基本上设计为连接到一个 syslog 主机,即您必须为 10 个 syslog 服务器设置 10 个源。所有这些源都可以 运行 在一个代理中,并使用一个通道将它们的事件假脱机到一个接收器 - 但是,如果数据量很大,这种设置很快就会 运行 进入性能问题。您将必须配置路由器以连接到该系统日志 host/port 配置。

更大的设置是为每个系统日志服务器安装一个代理,并使用 Avro sink / Avro Source 将事件假脱机到一个或两个代理,然后再次对事件进行排序并将它们写入您想要的位置他们。

您还可以使用更新的多端口系统日志 TCP 源,它生成多个端口。这允许更多路由器连接到一个系统日志源:

a1.sources = r1
a1.channels = c1
a1.sources.r1.type = multiport_syslogtcp
a1.sources.r1.channels = c1
a1.sources.r1.host = 0.0.0.0
a1.sources.r1.ports = 10001 10002 10003
a1.sources.r1.portHeader = port

在此配置中,系统日志在您的代理上提供端口 10001、10002 和 10003。您可以将路由器配置为连接到代理的 IP 和这三个端口之一。