我们希望使用Logstash转发器(以前称为Lumberjack)将日志推送到中央Logstash索引器.反过来,索引器会将日志条目提供给位于与索引器位于同一服务器上的Elastic Search.我们已成功在单台计算机上运行的虚拟机上实施设置,现在希望在我们的AWS实例上进行设置.我们希望转发器存在于一个EC2实例上,而索引器和Elastic Search存在于另一个EC2实例上.我们的配置文件如下所示:
Logstash Forwarder配置:
{
"network": {
"servers": [
"public.facing.url.com:5555"
],
"ssl ca": "logstash-forwarder.crt",
"timeout": 15
},
"files": [
{
"paths": [
"messages",
"/var/log/tomcat7/*.log"
],
"fields": {
"type": "syslog"
}
},
]
}
Logstash(作为索引器)配置:
input{
lumberjack{
port=>5555
ssl_certificate=>"logstash-forwarder.crt"
ssl_key=>"logstash-forwarder.key"
type=>"linkoslogs"
}stdin{
type=>example
}
}output{
elasticsearch{
host=>"127.0.0.1"
}
}
Logstash(索引器)启动正常,没有例外.它表示它已准备好并在端口5555上等待Lumberjack.然而,Logstash转发器在启动时失败:
2014/02/27 21:29:53.797935 Connecting to 1.2.3.4:5555 (public.facing.url.com)
2014/02/27 21:30:08.798198 Failure connecting to 1.2.3.4: dial tcp 1.2.3.4:5555: i/o timeout
2014/02/27 21:30:09.799179 Connecting to 1.2.3.4:5555 (public.facing.url.com)
... (repeats itself indefinitely)
当我的另一个AWS实例尝试启动通信时,是否必须明确指示AWS允许通过端口5555进行通信?我想不出还有什么能阻止转发器弥合与索引器之间的差距.
最佳答案 为安全组打开5555端口,其中Logstash Forwarder在运行Logstash Indexer的安全组上运行(即使两个安全组都相同!!!)
使用组ID值.例如sg-18e1f37a