ELK日志分析系统(3)-logstash数据处理

本文详细介绍了Logstash在日志分析系统中的数据处理流程,包括input阶段如何通过TCP协议处理日志,如何配置multiline解决多行日志问题;filter阶段利用grok匹配日志格式,提取字段,以及使用gsub删除metadata,remove_field移除不需要的字段,kv过滤器解析键值对数据;最后在output阶段,数据被输出到Elasticsearch的9200端口,完成日志存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

  logspout收集数据以后,就会把数据发送给logstash进行处理,本文主要讲解logstash的input, filter, output处理

2. input

  数据的输入处理

  支持tcp,udp等协议

  晚上找资料建议在使用 LogStash::Inputs::Syslog 的时候走 TCP 协议来传输数据。

  因为具体实现中,UDP 监听器只用了一个线程,而 TCP 监听器会在接收每个连接的时候都启动新的线程来处理后续步骤。

  如果你已经在使用 UDP 监听器收集日志,用下行命令检查你的 UDP 接收队列大小:# netstat -plnu | awk 'NR==1 || $4~/:514$/{print $2}'

  Recv-Q

  228096

  228096 是 UDP 接收队列的默认最大大小,这时候 linux 内核开始丢弃数据包了!

  2.1. 语法

  基本语法如下:

input{
        tcp {
                mode => "server"
                port => 5000
                codec => json_lines
                tags => ["data-http"]
        }
}

  2.2. multiline

  有时候日志是这样多行显示的:

[2019-10-12 15:24:50 ACCOUNT 97364 4658800064 INFO] http_ip=127.0.0.1        http_uri=/account/v1/binding        http_method=POST        http_time=182ms        http_status=401
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值