linux - 提供日志读取权限的方法

标签 linux unix logging logstash

我们有很多服务器(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/

相关文章:

c - 在 mkfifo 中授予 super 用户进程的权限

java - Linux OOM Killer 和 Java 进程

objective-c - 如何散列目录的(可能是递归的)内容

python - 通过 Flask 应用程序进行 Sentry 日志记录

在 Ubuntu 上使用 SSL 的 MySQL ODBC 连接

linux - 在UNIX/Linux中,如何使用绝对路径显示目录中所有目录的列表?

linux - 如何找出我属于哪些组,必须使用/etc/group来完成

java - Joda-Time - 两个日期之间的秒数

ruby-on-rails - Ruby on Rails 日志文件太大

logging - SSIS 脚本任务 : How to log to output using Dts. 日志