ELFK集群部署与Logstash的过滤模块
创始人
2024-02-08 06:15:33

ELFK集群部署与Logstash的过滤模块

  • ELFK集群部署与Logstash的过滤模块
    • 一、ELFK集群部署(Filebeat+ELK)
      • Filebeat
        • filebeat 结合 logstash 带来好处:
      • 1.1 部署ELK集群
      • 1.2 安装Filebeat(Apache节点)
      • 1.3 设置 filebeat 的主配置文件
      • 1.4 在 Logstash 组件所在节点上新建一个 Logstash 配置文件
      • 1.5 浏览器访问
    • 二、Logstash的过滤模块
      • 2.1 Filter(过滤模块)中的插件
        • grok插件(通过grok插件实现对字段的分割,使用通配符)

ELFK集群部署与Logstash的过滤模块

一、ELFK集群部署(Filebeat+ELK)

Filebeat

  • 轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。
  • 常应用于 EFLK 架构当中。(如果要使用过滤功能的话,Filebeat不能完全替代logstash,Filebeat没有过滤功能,收集数据后需要发送给 logstash 进行处理)

filebeat 结合 logstash 带来好处:

  1. 通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch 持续写入数据的压力。
  2. 从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取。
  3. 将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件。
  4. 使用条件数据流逻辑组成更复杂的处理管道。

部署环境:
node1节点(2C/4G):192.168.44.20 (Elasticsearch)
Node2节点(2C/4G):192.168.44.30 (Elasticsearch)
Apache节点:192.168.44.40 (Logstash Kibana Apache)
Filebeat节点:192.168.44.40 (Filebeat)

1.1 部署ELK集群

ELFK集群环境下,Logstash 组件所在节点的/etc/logstash/conf.d目录下,不需要创建system.conf配置文件,即Logstash不需要收集系统日志,因为系统日志将由filebeat收集后发送给Logstash。(安装filebeat后,Logstash会创建filebeat.conf配置文件获取filebeat传来的数据)

1.2 安装Filebeat(Apache节点)

#上传软件包 filebeat-6.2.4-linux-x86_64.tar.gz 到/opt目录
tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz#更换目录名称为filebeat
mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat

1.3 设置 filebeat 的主配置文件

cd /usr/local/filebeatcp filebeat.yml{,.bak}vim filebeat.yml
filebeat.prospectors:
- type: log         #指定 log 类型,从日志文件中读取消息enabled: true      #修改为truepaths:- /var/log/messages       #指定监控的日志文件- /var/log/*.logtags: ["fulebeat"]		#设置索引标签fields:           #可以使用 fields 配置选项设置一些参数字段添加到 output 中service_name: httpdlog_type: access       #日志类型from: 192.168.44.40     #源地址

在这里插入图片描述

output.logstash:hosts: ["192.168.44.40:5044"]      #指定 logstash 的 IP 和端口#启动 filebeat
nohup ./filebeat -e -c filebeat.yml > filebeat.out &   #nohup放入后台启动,并且不会因为终端退出而结束进程#-e:输出到标准输出,禁用syslog/文件输出
#-c:指定配置文件
#nohup:在系统后台不挂断地运行命令,退出终端不会影响程序的运行

在这里插入图片描述

1.4 在 Logstash 组件所在节点上新建一个 Logstash 配置文件

cd /etc/logstash/conf.dcp system.conf filebeat.conf
#复制出一个新的配置文件,对新的配置文件进行修改#修改文件filebeat。conf
vim filebeat.conf
input {beats {port => "5044"    #原本是使用文件读取数据,现改为用filebeat读取}
}
output {elasticsearch {hosts => ["192.168.44.20:9200","192.168.44.30:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"  #用过filebeat.yml配置文件定义的字段获取名字}stdout {codec => rubydebug   #设置为能输出到屏幕上}
}#启动 logstash
logstash -f filebeat.conf

1.5 浏览器访问

浏览器访问http://192.168.44.20:9100/ 。
在这里插入图片描述
浏览器访问 http://192.168.44.40:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引“filebeat-*”,单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。

在这里插入图片描述
在这里插入图片描述

二、Logstash的过滤模块

1、input {}

  • 指定输入流,通过file、beats、kafka、redis中获取数据

2、filter {}
常用插件:

  • grok:对若干个大文本字段进行再分割,分割成一些小字段 (?<字段名>正则表达式) 字段名:正则表示匹配到的内容
  • date:对数据中的时间进行统一格式化
  • mutate:对一些无用的字段进行剔除,或增加字段
  • mutiline:对多行数据进行统一编排,多行合并和拆分

3、ourput {}

  • elasticsearch stdout

2.1 Filter(过滤模块)中的插件

而对于 Logstash 的 Filter,这个才是 Logstash 最强大的地方。Filter 插件也非常多,我们常用到的 grok、date、mutate、mutiline 四个插件。

对于 filter 的各个插件执行流程,可以看图:
在这里插入图片描述

grok插件(通过grok插件实现对字段的分割,使用通配符)

这里就要用到 logstash 的 filter 中的 grok 插件。filebeat 发送给 logstash 的日志内容会放到message 字段里面,logstash 匹配这个 message 字段就可以了。

格式:
匹配格式:(?<字段名>正则表达式) #字段名:正则表达式匹配到的内容

实例1:

 (?%{IPV6}|%{IPV4} )(?.+)#对数据进行分割ip字段名为remote_addr, 其他字段名为other_info

实例2:

 (?%{IPV6}|%{IPV4} )[\s-]+[(?.+)](?.+)#添加匹配时间字段

实例3:

#分割多个字段(?%{IPV6}|%{IPV4})[\s-]+[(?.+)]\s+"(?\S+)\s+(?.+)"\s+(?\d+)(?.+)

实例4:

 cd /etc/logstash/conf.d/cp filebeat.conf filter.conf​vim filter.confinput {beats {port => "5044"}}filter {grok {match =>["message","(?%{IPV6}|%{IPV4} )[\s-]+[(?.+)]\s+"(?\S+)\s+(?.+)"\s+(?\d+)(?.+)"]}}output {elasticsearch {hosts => ["192.168.44.20:9200","192.168.44.30:9200"]index => "{[filter][service_name]}-%{+YYYY.MM.dd}"}stdout {codec => rubydebug}}logstash -f filter.conf   #启动

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...