amazon-web-services – 如何使用Logstash Forwarder将日志发送到AWS上的不同节点

我们希望使用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

点赞