房屋在线设计网站,国外网站建设接单,给漫画网站做推广,中英文网站建设公司本文针对LogStash常用插件grok和geoip的使用进行说明#xff1a;
一、使用grok输出结构化数据
编辑 first-pipeline.conf 文件#xff0c;修改为如下内容#xff1a;
input{#stdin{type stdin}file {# 读取文件的路径path [/tmp/access.log]start_…本文针对LogStash常用插件grok和geoip的使用进行说明
一、使用grok输出结构化数据
编辑 first-pipeline.conf 文件修改为如下内容
input{#stdin{type stdin}file {# 读取文件的路径path [/tmp/access.log]start_position beginning}
}filter{grok{match {message %{COMBINEDAPACHELOG} }}}output{stdout{codec rubydebug}
}
启动./logstash -f ../config/first-pipeline.conf后输出就为结构化的数据了
{message 140.77.188.102 - - [25/Jun/2022:05:11:33 0800] \GET /api/ss/api/v1/login/getBaseUrl HTTP/1.1\ 200 103 \-\ \Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534 (KHTML, like Gecko) BingPreview/1.0b\,response 200,auth -,bytes 103,referrer \-\,host nb002,version 1,agent \Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534 (KHTML, like Gecko) BingPreview/1.0b\,timestamp 2022-06-26T00:28:24.302Z,timestamp 25/Jun/2022:05:11:33 0800,ident -,httpversion 1.1,path /tmp/access.log,clientip 140.77.188.102,verb GET,request /api/ss/api/v1/login/getBaseUrl
}二、使用grok对输出数据进行修改
编辑 first-pipeline.conf 文件修改为如下内容
input{#stdin{type stdin}file {path [/tmp/access.log]start_position beginning}
}filter{grok{match {message %{COMBINEDAPACHELOG} }}mutate{# 重命名字段rename {clientip cip}}mutate{# 移出特定字段remove_field [timestamp,agent]}
}output{stdout{codec rubydebug}
}
重新启动./logstash -f ../config/first-pipeline.conf 后往 /tmp/access.log 中新增一条数据看输出发现clientip 变成了 “cip” 和timestamp agent 字段已经没有了。NICE
{verb GET,timestamp 2022-06-26T00:48:28.224Z,referrer \-\,path /tmp/access.log,auth -,message 140.77.188.102 - - [25/Jun/2022:05:11:33 0800] \GET /api/ss/api/v1/login/getBaseUrl HTTP/1.1\ 200 103 \-\ \Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534 (KHTML, like Gecko) BingPreview/1.0b\,version 1,ident -,response 200,bytes 103,request /api/ss/api/v1/login/getBaseUrl,httpversion 1.1,host nb002,cip 140.77.188.102
}
三、使用geoip过滤器插件
使用geoip过滤器插件可以增强数据。 geoip插件可以针对IP地址进行地理位置信息来源的查找
编辑 first-pipeline.conf 文件修改为如下内容
input{#stdin{type stdin}file {path [/tmp/access.log]start_position beginning}
}filter{grok{match {message %{COMBINEDAPACHELOG} }}mutate{# 重命名字段rename {clientip cip}}mutate{# 移出特定字段remove_field [timestamp,agent]}geoip{# 由于上面将clientip修改为了cip故此处配置cip如果没有rename字段则用clientipsource cip}
}output{stdout{codec rubydebug}
}重新启动./logstash -f ../config/first-pipeline.conf 后往 /tmp/access.log 中新增一条数据看输出发现输出结果中新增了geoip 字段并展示了地区、国家、省份、经纬度等地理位置信息。
外国ip示例
{host nb002,auth -,bytes 103,cip 140.77.188.104,version 1,message 140.77.188.104 - - [25/Jun/2022:05:11:33 0800] \GET /api/ss/api/v1/login/getBaseUrl HTTP/1.1\ 200 103 \-\ \Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534 (KHTML, like Gecko) BingPreview/1.0b\,verb GET,request /api/ss/api/v1/login/getBaseUrl,referrer \-\,response 200,ident -,path /tmp/access.log,timestamp 2022-06-26T00:58:11.786Z,geoip {country_code3 FR,longitude 4.85,ip 140.77.188.104,continent_code EU,region_name Rhône,country_code2 FR,timezone Europe/Paris,country_name France,region_code 69,latitude 45.748,postal_code 69007,location {lat 45.748,lon 4.85},city_name Lyon},httpversion 1.1
}
国内ip示例
{host nb002,auth -,bytes 103,cip 175.30.108.241,version 1,message 175.30.108.241 - - [25/Jun/2022:05:11:33 0800] \GET /api/ss/api/v1/login/getBaseUrl HTTP/1.1\ 200 103 \-\ \Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534 (KHTML, like Gecko) BingPreview/1.0b\,verb GET,request /api/ss/api/v1/login/getBaseUrl,referrer \-\,response 200,ident -,path /tmp/access.log,timestamp 2022-06-26T01:00:11.972Z,geoip {country_code3 CN,longitude 125.3247,ip 175.30.108.241,continent_code AS,region_name Jilin,country_code2 CN,timezone Asia/Shanghai,country_name China,region_code JL,latitude 43.88,location {lat 43.88,lon 125.3247},city_name Changchun},httpversion 1.1
}
END