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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值