ELK 过滤器设置

本文详细介绍了Logstash中ELK过滤器的配置,包括date事件处理以确保统一的UTC时间,grok正则捕获工具的使用,数据修改操作如字符串处理和字段处理,以及GeoIP地址归类查询的配置示例。强调了过滤器执行顺序和geoip插件对于内网地址的处理方式。

2 插件配置

2.3 过滤器配置

2.3.1 date事件处理

@timestamp
* ISO8601
* UNIX
* UNIX_MS
* TAI64N
* Joda-Time 库
尽量统一使用UTC时间,存成long长整型数据,否则时区问题会很头疼

2.3.2 grok 正则捕获

grop 调试工具网址:http://grokdebug.herokuapp.com/

数据修改

  1. 字符串处理:
        1).gsub
        2).split
        3).join
        4).merge
        5).strip
        6).lowercase/uppercase
  2. 字段处理
        1).rename
        2).update
        3).replace
  3. 执行次序
        1). 需要注意的是,filter/mutate 内部是有执行次序的。其次序如下:

            rename(event) if @rename
            update(event) if @update
            replace(event) if @replace
            convert(event) if @convert
            gsub(event) if @gsub
            uppercase(event) if @uppercase
            lowercase(event) if @lowercase
            strip(event) if @strip
            remove(event) if @remove
            split(event) if @split
            join(event) if @join
            merge(event) if @merge
            filter_matched(event)

        2). 而 filter_matched 这个 filters/base.rb 里继承的方法也是有次序的。
        
            @add_field.each do |field, value|
             end
            @remove_field.each do |field|
            end
            @add_tag.each do |tag|
            end
            @remove_tag.each do |tag|
            end

GeoIP 地址归类查询

配置示例:
    
    filter {
        geoip {
            source => “message”
        }
    }

小贴士
geoip 插件的 “source” 字段可以是任一处理后的字段,比如 “client_ip”,但是字段内容却需要小心!geoip 库内只存有公共网络上的 IP 信息,查询不到结果的,会直接返回 null,而 logstash 的 geoip 插件对 null 结果的处理是:不生成对应的 geoip.字段。
所以读者在测试时,如果使用了诸如 127.0.0.1, 172.16.0.1, 182.168.0.1, 10.0.0.1 等内网地址,会发现没有对应输出!

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件中的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架做到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能做到让大家对应用日志收集了解的更加深入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值