java怎么连elk_从Java应用程序登录到ELK而无需解析日志

我想将日志从Java应用程序发送到ElasticSearch,传统方法似乎是在运行应用程序的服务器上设置Logstash,并使用logstash解析日志文件(使用正则表达式…!)并将其加载到ElasticSearch中.

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

在切向相关的注释中,对于在Docker容器中运行的应用程序,最佳做法是直接登录到ElasticSearch,因为只需要运行一个进程?

解决方法:

我认为从Log4j / Logback /无论是哪个appender直接登录到Elasticsearch通常都是不明智的,但我同意编写Logstash过滤器来解析“正常”的人类可读Java日志也是一个坏主意.我尽可能地使用https://github.com/logstash/log4j-jsonevent-layout让Log4j的常规文件追加器生成JSON日志,这些日志不需要Logstash进一步解析.

标签:java,elasticsearch,logging,logstash,elastic-stack

来源: https://codeday.me/bug/20191004/1852736.html

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页