ELK之filter模块常用插件

logstash filter模块常用的插件:

filter:表示数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式

  1. grok       对若干个大文本字段进行再分割成一些小字段   (?<字段名>正则表达式)   字段名: 正则表达式匹配到的内容
  2. date       对数据中的时间格式进行统一和格式化
  3. mutate     可以重命名,删除,替换和修改事件中的字段。比如对一些无用的字段进行剔除,或增加自定义的字段
  4. multiline   对多行数据进行统一编排,将多行数据汇总为一个单一的行 

GROK:正则捕获插件

使用文本片段切分的方式来切分日志事件,分为内置正则,自定义正则。

内置正则表达式调用:%(内置正则:字段名)
 

 自定义正则表达式调用:(?<字段名>自定义正则)

         

multiline:对多行数据进行统一编排,将多行数据汇总为一个单一的行 

  pattern(通过正则表达式匹配行)
  negate(false|true,是否取反。false表示不取反,将正则表达式匹配的行按照what的设置进行合并
  true表示取反,不将正则表达式匹配的行按照what的设置进行合并)
  what(previous|next,previous表示向上合并,next表示向下合并

date:将logstash收集日志事件的时间戳@timestamp与日志实际的打印时间进行格式统一  

1.先配置grok插件分割出日志时间打印时间的字段
2.在date插件配置中用match匹配日志时间字段的时间格式
3.再用target输出给@timestamp字段,进行时间格式统一
 

 ELK优化之Filebeat部署

主机地址名称服务
192.168.73.80es01elasticsearch
192.168.73.100es02elasticsearch
192.168.73.110es03elasticsearch
192.168.73.120ngixn01nginx kibana
192.168.73.130FILEngixn filebeat

安装 NGINX

cd /etc/yum.repos.d/
上传nginx.repo文件
yum install -y nginx
systemctl enable --now nginx
cd /usr/share/nginx/html
  #准备测试页面
echo '<h1>this is web page</h1>' > test.html
echo '<h1>this is web2 page</h1>' > test1.html

安装 Filebeat

上传软件包 filebeat-6.7.2-linux-x86_64.tar.gz 到/opt目录
tar xf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64 /usr/local/filebeat

 设置 filebeat 的主配置文件

cd /usr/local/filebeat
cp filebeat.yml filebeat.yml.bak
vim filebeat.yml
filebeat.inputs:
- type: log         #指定 log 类型,从日志文件中读取消息
  enabled: true     #24行
  paths:
    - /var/log/nginx/access.log       #28行指定监控的日志文件
    - /var/log/nginx/error.log
  tags: ["filebeat"]		#设置索引标签
  fields:           #46行可以使用 fields 配置选项设置一些参数字段添加到 output 中
    service_name: nginx
    log_from: 192.168.73.130 
 
--------------output-------------------
(全部注释掉)
 
----------------Logstash output---------------------
output.logstash:    #162行
  hosts: ["192.168.73.120:5044"]      #164行指定 logstash 的 IP 和端口

修改Logstash配置

cd /etc/logstash/conf.d
vim filebeat.conf
input {
    beats {
        port => "5044"
    }
}
 
#filter {}
 
output {
     elasticsearch {
                  hosts => ["192.168.73.80:9200", "192.168.73.100:9200", "192.168.73.110:9200"]   #集群els地址
                  index => "nginx-%{+yyyy.MM.dd}"
     }
 
}
 
 
logstash -t -f filebeat.conf  #检查文件

启动配置filebeat

192.168.73.130

启动  ./filebeat -e -c filebeat.yml

启动logstash

192.168.73.120

启动logstash logstash -f filebeat.conf

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部