ELK分析系统----Logstash

本文介绍了Logstash作为数据传输管道的功能,它用于日志系统的数据采集,常用于ELK栈。文中详细讲解了Logstash的安装、基本配置及测试运行,包括输入、输出和过滤器插件的使用。特别地,提到了Grok过滤器如何解析web日志以结构化数据,并介绍了Geoip插件如何添加地理位置信息。此外,还展示了如何配置接受Beats输入,以实现日志收集。
摘要由CSDN通过智能技术生成

学习目标:

掌握logstash

学习内容:

Logstash概述

logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。
备注:logstash常用于日志系统中做日志采集设备,最常用于ELK中作为日志收集器使用

安装Logstash

#curl -LO https://artifacts.elastic.co/downloads/logstash/logstash-7.13.2-linux-x86_64.tar.gz

#tar -zxvf logstash-7.13.2-linux-x86_64.tar.gz -C /usr/local

#mv /usr/local/logstash-7.13.2-linux-x86_64.tar.gz /usr/local/logstash

测试运行
运行最基本的logstash管道来测试logstash安装
Logstash管道具有两个必需元素 input 和 output ,以及一个可选元素 filter。 输入插件使用来自源的数据,过滤器插件根据你的指定修改数据,输出插件将数据写入目标
在这里插入图片描述
进入Logstash的安装目录下执行:

#bin/logstash -e ''
-e 选项用于设置Logstash处理数据的输入和输出
-e '' 等同于 -e input { stdin { type => stdin }} output { stdout {codec => rubydebug }}
input { stdin { type => stdin }} #表示Logstash需要处理的数据来源于标准输入设备
output { stdout {codec => rubydebug }} #表示logstash吧处理好的数据输出到标准输出设备

在这里插入图片描述

message字段对应的值是Logstash接收到的一行完整的数据
@version 是版本信息,可以用于建立索引使用
@timestamp 处理此数据的时间戳,可以用来建立索引和搜索
type 就是之前input中设置的值,这个值可以任意修改,但是type是内置的变量,不能修改,用于建立索引和条件判断等
hosts 表示从那个主机过来的数据

配置输入和输出
生产中,Logstash管道要复杂一些:它通常具有一个或多个输入,过滤器和输出插件

配置文件语法测试, -f 用于指定管道配置文件
#bin/logstash -f config/pipeline.conf --config.test_and_exit
运行如下命令启动logstash
#bin/logstash -f config/pipeline.conf

使用Grok过滤器插件解析web日志

使用grok过滤器插件,可以将非结构化的日志数据解析为结构化可查询的内容
grok会根据你感兴趣的内容分配字段名称,并把这些内容和对应的字段名称进行绑定
它是通过自己预定义的模式来识别感兴趣的字段,这个可以通过给其配置不同的模式来实现,这里使用的模式是 %{HTTPD_COMMONLOG}
{HTTPD_COMMONLOG}使用如下模式从apache日志中构造行:
在这里插入图片描述
样例
在这里插入图片描述
在这里插入图片描述
grok对web日志进行过滤处理,输出结构化数据,在message字段对应的值中查询匹配上HTTPD_COMMON
在这里插入图片描述
你会发现原来非结构数据变为结构化的数据了。
可以发现messages字段仍然存在,如果不需要它,可以使用grok中提供的常用选项之一:remove_field来移除这个字段。
remove_field可以移除任意的字段,它可以接受的值是一个数组
rename可以重新命名字段
修改管道配置文件如下:
在这里插入图片描述

在这里插入图片描述

使用Geoip过滤器插件增强数据编辑

除解析日志数据以进行更好的搜索外,刷选器插件还可以从现有数据中获取补充信息,例如,geoip插件可以通过查找ip地址,并从自己自带的数据库中找到对应的地理位置信息,然后将该位置信息添加到日志中,该geoip插件配置要求制定包含ip地址来查找源字段的名称,在此示例中,该clientip字段包含ip地址

在这里插入图片描述
配置接受beats的输入
在这里插入图片描述
在这里插入图片描述
启动filebeat和logstash后可以发现收集到日志
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值