当前位置: 首页 > 面试题库 >

从Java应用程序登录到ELK,无需解析日志

淳于慎之
2023-03-14
问题内容

我想将日志从Java应用程序发送到ElasticSearch,常规方法似乎是在运行该应用程序的服务器上设置Logstash,并让logstash解析日志文件(使用regex
…!)并将其加载到ElasticSearch中。 。

是否有这样做的原因,而不是仅仅设置log4J(或logback)将所需格式的内容直接记录到日志收集器中,然后可以将其异步传送到ElasticSearch?当应用本身可以首先记录所需的格式时,不得不使用grok过滤器来处理多行堆栈跟踪(并在日志解析时消耗CPU周期)对我来说似乎很疯狂?

与切线有关,对于仅运行一个进程的应用程序,在Docker容器中运行的最佳实践是直接登录到ElasticSearch的最佳实践吗?


问题答案:

我认为从Log4j / Logback
/任何附加程序直接登录到Elasticsearch通常是不明智的做法,但是我同意编写Logstash过滤器来解析“正常的”人类可读Java日志也是一个坏主意。我到处都可以使用https://github.com/logstash/log4j-jsonevent-
layout
,我可以让Log4j的常规文件追加器生成不需要Logstash进行任何进一步解析的JSON日志。



 类似资料:
  • 问题内容: 对于典型的最典型的面向Internet的网站,当您通过关闭选项卡( 无需注销 )登录并离开该网站(然后 注销 ),然后再次访问时,可能不需要您重新指定凭据或登录,您可以直接登录。 这一切在后端如何发生?如何在我的JSF 2.1应用程序中启用这种机制? 在Tomcat7服务器上使用JSF 2.1 问题答案: 这基本上是通过一个长寿的cookie完成的。JSF API不提供此功能,因为它只

  • 该应用程序在中运行,并使用拥有自己的记录器。日志记录在文件中指定的位置,位置如下。 日志同时添加到以下文件中。 /opt/Apache-Tomcat-8 . 0 . 26/logs/catalina . out 如何阻止应用程序日志catalina.out?

  • 预先列入登记表工作完善。注册后,它甚至显示我已登录。但当我尝试使用我在注册表中输入的相同凭证登录时。它不允许我登录。我认为问题出在中间件上,因为当我输入错误的用户名/密码时,会显示错误,即无效凭据。但不是有效的,它只是重定向到登录页面没有任何错误。我使用的是laravel 5.0,所有文件都是由laravel提供的

  • 我目前正在尝试制作一个应用程序,允许您登录到您的帐户并查看需要显示的任何数据。 我没有使用 webview,而是为了显示信息,我将从 HTML 中解析数据,然后从那里开始工作,提取我需要显示的数据。我将在下面发布我的应用程序中的代码。 我需要帮助的是弄清楚如何用我的应用程序登录网站。 基本上,步骤应该是这样的: 1.输入用户名 2.输入密码 3.按登录按钮 4.发送用户名 5.如果-网站返回“登录

  • 我应该使用RESTful@GET请求来登录我的用户吗?有人能推荐一个更好的方法来做用户登录吗?

  • 生产版本可用,但我无法在Google Play上更新我的应用程序。 根据审查后的谷歌播放电子邮件: 问题:审核应用需要登录凭据< br >为了让我们审核你的应用是否符合开发者计划政策,我们需要你为你的应用提供有效的登录凭据。< br >如果用户需要凭据来访问您的应用程序,请通过Play Console提供所有适当的凭据。< br >如果您以前提供过凭据,请确保它们没有过期。< br >如果您的应用