我们有很多服务器(Dev、Integration、PT 等),每台服务器上运行着很多 tomcat。我们的应用程序分为多个组件,每个 tomcat 都以特定组件的名称运行。例如,我们以 security 用户身份运行 security-tomcat,以 search 用户身份运行 search-tomcat,等等。
drwxr-xr-x 1 security security 20 Sep 27 10:28 security-tomcat
drwxr-xr-x 1 search search 27 Sep 27 10:31 search-tomcat
通常,当任何组件出现问题时,开发人员和测试人员会要求获得对 Tomcat 服务器日志文件的读取权限。我们所做的只是将用户添加到与给定组件关联的组中。例如,
security:x:319:tom,dick,harry
我知道我们可以使用“chmod o+r”之类的东西而不是将用户添加到组中。一切都很好,但我觉得必须有更好的方法。我正在寻找一些可以提供 GUI 之类的工具,用户可以简单地登录并从一些下拉列表中选择环境(Dev、Integration、PT),然后选择日志(例如 server.log、 catalina.out 等),并查看它。这样我就可以集中查看不同实例上的日志。这也有助于减少/etc/group 文件中的困惑情况,并使整体日志管理更清晰。
Logstash 是否适用于这种情况?我只是瞥了一眼 Logstash,我还在 Youtube 上看到了它的创始人的一段视频的几分钟,但我觉得那不是我真正想要的工具。如果它可以在我的场景中使用,请纠正我。如果有人可以推荐一些工具来解决我上面提到的问题,我将不胜感激。
最佳答案
我建议您检查 ELK 产品(Logstash、Elasticsearch、Kibana),因为它是领先的开源解决方案,并且可以让您集中访问日志文件。该产品旨在为您的确切问题提供解决方案,并且做得很好。
您所需要的只是在 Logstash 中配置一个过滤器,该过滤器将添加一个带有环境名称的字段,通常默认情况下已经提供了日志文件名。使用这些字段,您将能够过滤您的数据并创建出色的图形、表格并共享它们以供其他人使用 Kibana 使用。
你可以查看我的网站:logs101.com有关集中式日志记录解决方案的更多信息,如果您有更多问题,请联系我。
关于linux - 提供日志读取权限的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27066386/