Logstash基础操作-Filter
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Grok配置案例:##启动文件配置:# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasti
千家信息网最后更新 2026年11月03日Logstash基础操作-Filter
Grok配置案例:
##启动文件配置:# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{}}filter {grok {match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\%{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] }}output { stdout{ codec => "rubydebug" }}##输出文件内容172.16.213.132 [07/Feb/2018:16:24:19 +0800] "GET / HTTP/1.1" 403 5039##显示内容{ "@version" => "1", "@timestamp" => 2019-11-10T06:02:42.865Z, "host" => "localhost.localdomain", "message" => "172.16.213.132 [07/Feb/2018:16:24:19 +0800] \"GET / HTTP/1.1\" 403 5039", "timestamp" => "07/Feb/2018:16:24:19 +0800", "bytes" => "5039", "response" => "403", "clientip" => "172.16.213.132", "referrer" => "\"GET / HTTP/1.1\""}Grok 过滤重复字段
## 配置文件# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter { grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] }}output { stdout{ codec => "rubydebug" }}Grok搭配Date时间插件配置
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter {grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] }date { match => ["timestamp", "dd/MMMM/yyyy:HH:mm:ss Z"] }}output { stdout{ codec => "rubydebug" }}Date 过滤重复得字段配置
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter { grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] }date { match => ["timestamp", "dd/MMMM/yyyy:HH:mm:ss Z"] }mutate { remove_field => [ "timestamp" ] }}output { stdout{ codec => "rubydebug" }}综合练习配置参数
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter { grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] } date { match => ["timestamp", "dd/MMMM/yyyy:HH:mm:ss Z"] } mutate{ rename => {"response" => "response_new"} gsub => ["referrer", "\"", ""] remove_field => [ "timestamp" ] split => ["clientip", "."] }}output { stdout{ codec => "rubydebug" }}Geoip 地理位置插件操作方式
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter { grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] } date { match => ["timestamp", "dd/MMMM/yyyy:HH:mm:ss Z"] } mutate{ remove_field => [ "timestamp" ] } geoip { source => "clientip" database => "/usr/local/include/GeoLite2-ASN_20191105/GeoLite2-ASN.mmdb" }}output { stdout{ codec => "rubydebug" } }Geoip输出指定属性值
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{ }}filter { grok { match => ["message","%{IP:clientip}\ \[%{HTTPDATE:timestamp}\]\ %{QS:referrer}\ %{NUMBER:response}\ %{NUMBER:bytes}"] remove_field => ["message"] } date { match => ["timestamp", "dd/MMMM/yyyy:HH:mm:ss Z"] } mutate{ remove_field => [ "timestamp" ] }geoip {source => "clientip"#database => "/usr/local/include/GeoLite2-Country_20191015/GeoLite2-Country.mmdb"database => "/usr/local/include/GeoLite2-City_20191105/GeoLite2-City.mmdb"fields => ["city_name", "region_name", "country_name", "ip", "latitude", "longitude", "timezone"] }}output { stdout{ codec => "rubydebug" }}模拟数据:36.7.152.182 [07/Feb/2018:16:24:19 +0800] "GET / HTTP/1.1" 403 5039综合实战
# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { stdin{}}filter{grok{ match => {"message" => "%{TIMESTAMP_ISO8601:localtime}\|\~\|%{IP:clientip} \|\~\|%{GREEDYDATA:http_user_agent}\|\~\|%{GREEDYDATA:url} \|\~\|%{GREEDYDATA:mediaid}\|\~\|%{GREEDYDATA:osid}"} remove_field => [ "message" ] }date { match => ["localtime", "yyyy-MM-dd'T'HH:mm:ssZZ"] target => "@timestamp" }mutate { remove_field => ["localtime"] }geoip { source => "clientip" #database => "/usr/local/include/GeoLite2-Country_20191015/GeoLite2-Country.mmdb" database => "/usr/local/include/GeoLite2-City_20191105/GeoLite2-City.mmdb" fields => ["city_name", "region_name", "country_name", "ip", "latitude", "longitude", "timezone"] }}output { stdout { codec => "rubydebug" }}示例:2018-02-09T10:57:42+08:00|~|123.87.240.97|~|Mozilla/5.0(iPhone;CPU iPhone OS 11_2_2 like Mac OS X)AppleWebKit/604.4.7 Version/11.0 Mobile/15C202 Safari/604.1|~|http://m.sina.cn/cm/ads_ck_wap.html|~|12434785489009|~|DF45566587855P
配置
文件
内容
字段
插件
综合
输出
位置
参数
地理
地理位置
实战
属性
数据
方式
时间
案例
示例
基础
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
互联网科技未来
金融科技 互联网金融
艾特科技互联网
互联网科技股有哪些
宁波青枫互联网科技有限公司
恒银科技与互联网金融
互联网企业和科技型企业
互联网科技教育视频
成都铂石互联网科技做什么的
互联网和黑科技的看法
宝灵互联网科技有限公司
科技互联网海报
众安科技工业互联网合作
上海京穆互联网科技有限公司
互联网领先科技宣传片
互联网科技快讯热点
宇信科技在杭州互联网排第几
互联网企业和网络科技有限公司
高科技和互联网的现代国家
上海挚品互联网科技有限公司
科技金融是不是互联网金融
迪茉互联网科技
北京华百购互联网科技有限公司
互联网在线教育科技创业
每天都有哪些好的互联网科技
互联网科技机房
恒生科技指数 中概互联网
网互联网络科技
互联网的黑科技实验室