我的rsyslog在本地正确登录,但是我想远程接收日志,所以我添加了规则:
*.* @@myIP:5141
到我的rsyslog.conf
的末尾要接收输出,我正在使用配置
运行logstashinput { tcp { port => 5141 } }
output { stdout {} }
Logstash需要UTF-8编码,但我收到错误
收到的字符编码与您配置的字符编码不同
消息本身似乎是乱码或混合编码,例如:
\ u0016 \ U0003 \ U0002 \ u0000V \ U0001 \ u0000的\ u0000R \ U0003 \ u0002S \ xB1R \ xAB5K \ XF6 \\\ xB9 \ XB2 \ XB4 \ XB1 \ xAE0 \吨\ u007F \ xDF`5 \ XF6 \ u0015 \ xC8)H \ xD7H \ XCF +&安培; \ xD5T5 \ u0000的\ u0000的$ \ u00003 \ u0000E \ u00009 \ u0000的\ X88 \ u0000的\ u0016 \ u00002 \ u0000D \ u00008 \ u0000的\的x87 \ u0000的\ u0013 \ u0000f \ u0000的/ \ u0000A \ u00005 \ u0000的\ X84 \ u0000的
注意某些条目是\ u00,而其他条目是\ x。甚至有多个反斜杠。
我想知道我是否以某种方式弄乱了设置,或者我和服务器之间是否有什么东西弄乱了消息?
我也尝试过使用syslog logstash输入,它提供相同的结果
另一个例子:
\ u0016 \ U0003 \ U0002 \ u0000V \ U0001 \ u0000的\ u0000R \ U0003 \ u0002S \ xB1RiZ ^ \ XC3 \ xD9 \ u001Cj \一个\ XD4 \ xE0 \ xECr \ x8E \ XAC \ XF5 \ u001A \ xB9 + \ u07B9 \ xE5 \ xF9 \ xA3''z \ u0018} 9 \ u0000的符\ u0000 $ \ u00003 \ u0000E \ u00009 \ u0000的\ X88 \ u0000的\ u0016 \ u00002 \ u0000D \ u00008 \ u0000的\的x87 \ u0000的\ u0013 \ u0000f符\ u0000 / \ u0000A \ u00005 \ u0000的\ X84 \ u0000的
编辑: 我找到了问题的根源,它与加密有关。不幸的是,我不能透露我做了什么来解决它,只要说下面的John Petrone的回答是未来读者可能遇到的类似问题的良好开端
答案 0 :(得分:3)
因此,您回复看起来就像破碎的编码一样的魔术字符串实际上是SSL握手请求。
我怀疑你所做的是(就像我刚才那样)在logstash中错误配置了tcp输入。具体来说,我忘了添加ssl_enable => true
。所以它正在侦听普通的TCP并获得SSL握手并尽职尽责地将其记录为垃圾。
答案 1 :(得分:1)
问题是您正在摄取的系统日志源是以非UTF-8格式发送数据,这会导致Logstash出现问题,因为这正是它所期望的。你基本上有3个行动方案:
让Rsyslog为您纠正此问题:使用Rsyslog mmutf8fix模块 修复无效的UTF-8序列。 http://www.rsyslog.com/doc/mmutf8fix.html
更改Logstash以使用更合适的字符集:您可以更改 普通编解码器的默认字符集: http://logstash.net/docs/1.4.2/codecs/plain。你需要 实验一下,我在这里检查一下起点。 https://logstash.jira.com/browse/LOGSTASH-1047
将您的源更改为输出UTF-8:不知道源是什么 由Rsyslog收集我无法评论它需要做什么 这种变化。
我从选项1开始,如果不起作用,请转到选项2。
答案 2 :(得分:0)
基于@docwhat答案。
nano logstash/pipeline/logstash.conf
# Or
nano /path/to/logstash.conf
input {
beats {
port => 5000
ssl => false
}
#tcp {
# port => 5000
#}
}