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