Filebeat + ES + Kibana日志解析痛点解决

使用Filebeat + ES + Kibina的组合进行日志收集的一个优点就是轻量级,因为去掉了笨重的logstash, 占用资源更少。但这也引入了一个问题,即filebeat并没有logstash那样强大的日志解析能力,往往只能把整条日志当成一个整体扔到ES中。好消息是,ES从5.x版本开始引入了Ingest Node,即允许你在对文档进行索引之前进行预处理,且支持logstash的Grok语法。因此我们可以在ES中针对我们的日志格式创建一个预处理pipeline, 通过配置pipeline中的processor完成日志解析。

以下面这条日志为基础举例:

[2019-02-19 17:04:28:017] http-nio-8050-exec-2 INFO c.b.o.xxx.ms.api.TaskController - response = {"jobId":"123","ms":10}

我们期望能够将这条日志中的时间2019-02-19 17:04:28:017、线程http-nio-8050-exec-2、日志级别INFO、Java类名c.b.o.xxx.ms.api.TaskController和日志正文response = {"jobId":"123","ms":10}分别提取出来方便我们日后在kibana中做筛选统计, 同时时间要以日志中打印的时间为基准而不是filebeat发送消息时的时间。为了实现这一目标,我们可以向ES发一个HTTP请求创建一个名为xxx-log的pipeline:

PUT /_ingest/pipeline/xxx-log HTTP/1.1
Host: localhost:8200
Content-Type: application/json
{
  "description" : "xxx-log",
  "processors": [
    {
      "grok": {
        "field": "mess
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值