【问题标题】:Approach to providing read-access to logs提供对日志的读取访问权限的方法
【发布时间】:2014-11-21 16:52:01
【问题描述】:

我们有很多服务器(Dev、Integration、PT 等),每台服务器上运行着很多 tomcat。我们的应用程序分为多个组件,每个 tomcat 都以特定组件的名称运行。例如,我们有 security-tomcat 作为 security 用户运行,search-tomcat 作为 search 用户运行等等。

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 上的一段视频的几分钟,但我觉得这并不是我真正想要的工具。如果它可以在我的场景中使用,请纠正我。如果有人能推荐一些针对我上面提到的问题的工具,我将不胜感激。

【问题讨论】:

    标签: linux unix logging logstash


    【解决方案1】:

    我建议您查看 ELK 产品(Logstash、Elasticsearch、Kibana),因为它是领先的开源解决方案,它将为您提供对日志文件的集中访问。它是一款旨在为您的确切问题提供解决方案的产品,并且做得很好。

    您只需要在 Logstash 中配置一个过滤器,该过滤器将添加一个带有环境名称的字段,通常默认情况下已经提供了日志文件名。使用这些字段,您将能够过滤您的数据并创建出色的图表、表格并共享它们以供其他人使用 Kibana 使用。

    您可以查看我的网站:logs101.com,了解有关集中式日志记录解决方案的更多信息,如果您有更多问题,请与我联系。

    【讨论】:

    • 感谢您的意见,汤姆。据我了解,Logstash 似乎提供了基于我们提供的过滤器的解析输出。我正在寻找的是一个可以选择日志(从多台机器获取)并简单地查看整个日志文件的 GUI。 Logstash 是为了这个目的吗?
    • Logstash 本身只是整个操作中的一个组件,它不会为您提供这种能力。您应该做的是将所有日志发送到 elasticsearch(数据库),然后使用 Kibana(客户端),您将能够在一个易于使用的 Web 界面中查看所有日志。 Logstash 有一个输出可以将数据发送到 elasticsearch。
    • 感谢您的建议,汤姆!我认为评估 ELK 堆栈需要一些时间。完成后,我会更新。顺便说一句,你能想出其他办法来解决我的问题吗?
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多