5.EFLK(ELK+filebeat)+filter过滤

EFLK(ELK+filebeat)

elsaticsearch:
node1:192.168.242.66
node2:192.168.242.67

nginx+logstash+kibana:
192.168.242.68

filebeat:192.168.242.69

部署filebeat

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /etc/selinux/config

SELINUX=disabled
##安装 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
##安装  apache  服务,用来提供访问日志

yum -y install httpd

systemctl start httpd
systemctl enable httpd

修改配置文件

###设置 filebeat 的主配置文件

cd /usr/local/filebeat

cp filebeat.yml{,.bak}
vim filebeat.yml


filebeat.inputs:
  - type: log         
#指定 log 类型,从日志文件中读取消息

  enabled: true
  paths:
    - /var/log/httpd/access_log       
    #指定监控的日志文件
 
  tags: ["filebeat"]		#设置索引标签
  
  
  
  
#可以使用 fields 配置选项设置一些参数字段添加到 output 

  fields:          
    server_name: httpd
    log_type: access
    from: 192.168.242.69

--------------Elasticsearch output-------------------
(全部注释掉)

----------------Logstash output---------------------
output.logstash:
  hosts: ["192.168.242.68:5044"]      
  #指定 logstash 的 IP 和端口
###启动 filebeat

cd /usr/local/filebeat

nohup 
./filebeat -e -c filebeat.yml 

#-e:输出到标准输出,禁用syslog/文件输出
#-c:指定配置文件
#nohup:在系统后台不挂断地运行命令,退出终端不会影响程序的运行

logstash配置

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

cd /etc/logstash/conf.d

vim filebeat.conf
input {
     beats {
       port => "5044"
   }
}


output {
    elasticsearch {
        hosts => ["192.168.242.66:9200","192.168.242.67:9200"]
        index => "%{[fields][server_name]}-%{+YYYY.MM.dd}"
    }

}
###启动 logstash

logstash -f filebeat.conf

###如果配置失败,清空缓存文件

rm -rf /var/lib/logstash/.lock
###浏览器访问 
--》http://192.168.242.68:5601 登录 Kibana
--》单击“Create Index Pattern”按钮添加索引
--》“filebeat-*”
--》单击 “create” 按钮创建
--》单击 “Discover” 按钮可查看图表信息及日志信息。

在这里插入图片描述

logstash的filter过滤

grok(正则捕获插件)

  • grok 使用文本片段切分的方式来切分日志事件
  • logstash 官方也给了一些常用的常量来表达那些正则表达式,可以到这个 Github 地址查看有哪些常用的常量:
    内置的grok正则表达式

内置正则表达式调用

%{SYNTAX:SEMANTIC}

##SYNTAX代表匹配值的类型,例如,0.11可以NUMBER类型所匹配,10.222.22.25可以使用IP匹配。

##SEMANTIC表示存储该值的一个变量声明,它会存储在elasticsearch当中方便kibana做字段搜索和统计,你可以将一个IP定义为客户端IP地址client_ip_address,如%{IP:client_ip_address},所匹配到的值就会存储到client_ip_address这个字段里边,类似数据库的列名,也可以把 event log 中的数字当成数字类型存储在一个指定的变量当中,比如响应时间http_response_time,假设event log record如下:

message: 192.168.80.10 GET /index.html 15824 0.043

可以使用如下grok pattern来匹配这种记录
%{IP:client_id_address} %{WORD:method} %{UR
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜海赤竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值