我有许多应用程序运行在不同的数据中心,由不同的供应商开发和维护。每个应用程序都有一个web服务,该服务公开为应用程序整合的相关日志数据(审计数据、安全数据、与成本计算相关的数据、性能数据等)。
我的任务是从每个系统中获取数据到Elasticsearch, Kibana和Logstash的设置中,这样我就可以创建业务报告或只是以我想要的方式查看数据。
假设我有一个JBoss应用服务器集成到这些"暴露日志"服务,什么是最好的方式来提供Elasticssearch?一些Logstash插件调用每个服务?JBoss使用一些Logstash插件?或者其他方式?
最好的方法是在创建日志的服务器上设置logstash shipper。
然后将它们发送到Redis服务器。
另一个logstash实例将从Redis中提取数据,并将其索引,并将其发送到Elasticsearch。
Kibana将提供一个接口到Elasticsearch,这是好事发生的地方。
不久前我写了一篇关于如何安装Logstash的文章。版本可能已经更新,但它仍然有效
http://www.nightbluefruit.com/blog/2013/09/how-to-install-and-setup-logstash/您的JBoss应用服务器是否将日志写入文件?
根据我的经验,我的JBoss应用程序(在多个服务器上)将日志写入文件。然后使用logstash读取日志文件,并将所有日志发送到中央服务器。你可以参考这里。
那么,您可以做的是在不同的数据中心中设置一个logstash托运人。如果你没有这样做的权限,也许你想写一个程序来从不同的web服务获取日志,然后将它们保存到一个文件。然后设置logstash来读取日志文件。到目前为止,logstash还没有任何可以调用web服务的插件。