1

我有许多应用程序在不同的数据中心运行,由不同的供应商开发和维护。每个应用程序都有一个 Web 服务,用于公开为应用程序整合的相关日志数据(审计数据、安全数据、与成本计算相关的数据、性能数据……)。

我的任务是将来自每个系统的数据放入 Elasticsearch、Kibana 和 Logstash 的设置中,这样我就可以创建业务报告或以我想要的方式查看数据。

假设我有一个 JBoss 应用程序服务器用于集成到这些“公开日志”服务,那么提供 Elasticssearch 的最佳方式是什么?一些调用每个服务的 Logstash 插件?JBoss 使用一些 Logstash 插件?还是其他方式?

4

2 回答 2

1

最好的方法是在创建日志的服务器上设置 logstash shipper。

然后,这会将它们发送到 Redis 服务器。

另一个 logstash 实例将从 Redis 中提取数据,并将其编入索引,然后将其发送到 Elasticsearch。

然后,Kibana 将为 Elasticsearch 提供一个接口,这是好事发生的地方。

不久前我写了一篇关于如何安装 Logstash 的文章。此后版本可能已更新,但仍然有效

http://www.nightbluefruit.com/blog/2013/09/how-to-install-and-setup-logstash/

于 2014-03-20T17:30:49.483 回答
0

您的 JBoss 应用程序服务器是否将日志写入文件?

根据我的经验,我的 JBoss 应用程序(在多个服务器中)将日志写入文件。然后我使用 logstash 读取日志文件并将所有日志发送到中央服务器。你可以参考这里

所以,你能做的是在不同的数据中心设置一个 logstash 托运人。如果您没有这样做的权限,也许您想编写一个程序来从不同的 Web 服务获取日志,然后将它们保存到一个文件中。然后设置 logstash 以读取日志文件。到目前为止,logstash 还没有任何可以调用 Web 服务的插件。

于 2014-03-20T01:50:29.767 回答