Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Logstash输出UDP_Logstash - Fatal编程技术网

从Logstash输出UDP

从Logstash输出UDP,logstash,Logstash,我有一些日志,我想用logstash来整理。它将是logstash代理,作为源服务器上的托运人,发送到中央日志服务器。我想使用从发货人到中心日志的UDP,以便在日志失败时完全隔离(我不希望70多台生产服务器受到任何影响)。我能看到的将udp用于传输的唯一方法是使用syslog格式输出。有人知道我可以从logstash本地输出UDP的方法吗?(文档中暗示了这一点,但我肯定在TCP方面遗漏了什么?我的理解是,典型的方法是使用在远程机器上运行的更轻量级的东西(rsyslog,甚至是Lumberjack

我有一些日志,我想用logstash来整理。它将是logstash代理,作为源服务器上的托运人,发送到中央日志服务器。我想使用从发货人到中心日志的UDP,以便在日志失败时完全隔离(我不希望70多台生产服务器受到任何影响)。我能看到的将udp用于传输的唯一方法是使用syslog格式输出。有人知道我可以从logstash本地输出UDP的方法吗?(文档中暗示了这一点,但我肯定在TCP方面遗漏了什么?

我的理解是,典型的方法是使用在远程机器上运行的更轻量级的东西(rsyslog,甚至是Lumberjack),即将数据发送到中央日志存储服务器

听起来您希望logstash代理(转发器)在每台服务器上运行,并将数据发送到代理。这个博客(下面也链接了一个例子)很好地解释了为什么他们选择不在远程服务器上使用logstash转发器——他们消耗了太多的RAM

我使用rsyslog直接向logstash发送UDP数据的设置。我还使用了一个设置,其中rsyslog是接收日志的服务器,并将日志聚合到单独的日志文件中(基于服务器主机名),然后从这些文件中读取日志

有关一些配置示例,请参见以下内容:


我建议使用rsyslog方法,因为rsyslog已经在您的服务器上运行的可能性要高于Lumberjack。此外,rsyslog上的文档比伐木工人多得多。如果您觉得有必要,可以从简单开始,以后再增加复杂性。

您可以使用UDP输出插件以本机方式输出UDP


通过设置codec字段,您可以选择您喜欢的任何输出格式(例如JSON)

一旦您知道,这可能看起来很明显,但请确保您在发货方和服务器端都设置了相同的codec-我花了一段时间才弄清楚事件是如何发生的。