logstash filter
请教logstash处理从kafka消费的json日志的message字段处理问题
回复Logstash • Jager918 发起了问题 • 1 人关注 • 0 个回复 • 2946 次浏览 • 2020-08-28 10:51
logstash split 使用 \\ 分隔符出错
回复Logstash • leeQiwei 回复了问题 • 1 人关注 • 1 个回复 • 3201 次浏览 • 2020-01-23 10:34
logstash正则解析性能差,如何有效解决
Logstash • rochy 回复了问题 • 3 人关注 • 1 个回复 • 3940 次浏览 • 2019-12-01 00:13
logstash 解析问题
Logstash • jybbh 回复了问题 • 2 人关注 • 1 个回复 • 2420 次浏览 • 2019-02-27 15:33
logstash 字符串转换
Logstash • caogx 回复了问题 • 6 人关注 • 4 个回复 • 11080 次浏览 • 2019-02-20 17:03
官网的Logstash5.5.0版本的 Filter plugins 中的Ruby filter plugin用到的Event API介绍只有get,set不够用,请问还有更详细的资料吗
Logstash • rochy 回复了问题 • 2 人关注 • 1 个回复 • 2867 次浏览 • 2018-12-26 15:24
logstash5.5 根据原有的多个float类型的字段,计算一个新字段
Logstash • bellengao 回复了问题 • 3 人关注 • 2 个回复 • 2890 次浏览 • 2018-12-26 11:28
logstash filter如何判断字段是够为空或者null
Logstash • kindy 发表了文章 • 2 个评论 • 15232 次浏览 • 2018-12-12 18:17
{
"仓ku": "华南",
"originName": "",
"Code": "23248",
"BrandName": "",
"originCode": null,
"CategoryName": "原厂"
}
{
"仓ku": "华南",
"originName": "",
"Code": "23248",
"BrandName": "",
"originCode": null,
"CategoryName": "原厂"
}
Logstash.filters.json 警告 org.jruby.RubyArray cannot be cast to org.jruby.RubyIO
回复Logstash • Ocean 发起了问题 • 1 人关注 • 0 个回复 • 5547 次浏览 • 2018-11-26 10:47
logstash如何修改的 @timestamp值
Logstash • zqc0512 回复了问题 • 4 人关注 • 5 个回复 • 4580 次浏览 • 2018-09-17 09:12
logstash 删除filed中部分字段
Logstash • zqc0512 回复了问题 • 3 人关注 • 3 个回复 • 6513 次浏览 • 2018-08-31 09:20
logstash收取的kafka消息如何去提取
Logstash • Esun 回复了问题 • 4 人关注 • 3 个回复 • 5569 次浏览 • 2018-06-27 16:45
nginx部分配置直接用json,省去很多麻烦,注意里面有request_body, 所有后面logstash有一些转义的配置,如果不需要直接把它删了吧 log_format json '{"@time... 显示全部 »
nginx部分配置直接用json,省去很多麻烦,注意里面有request_body, 所有后面logstash有一些转义的配置,如果不需要直接把它删了吧 log_format json '{"@timestamp":"$time_iso8601",'
'"server_addr":"$server_addr",'
'"remote_addr":"$remote_addr",'
'"cookie_JSESSIONID":"$cookie_JSESSIONID",'
'"body_bytes_sent":$body_bytes_sent,'
'"request_uri":"$request_uri",'
'"request_method":"$request_method",'
'"server_protocol":"$server_protocol",'
'"scheme":"$scheme",'
'"request_time":$request_time,'
'"upstream_response_time":"$upstream_response_time",'
'"upstream_addr":"$upstream_addr",'
'"host":"$host",'
'"hostname":"$hostname",'
'"http_host":"$http_host",'
'"uri":"$uri",'
'"http_x_forwarded_for":"$http_x_forwarded_for",'
'"http_referer":"$http_referer",'
'"http_user_agent":"$http_user_agent",'
'"X-Forwarded-Proto":"$http_x_forwarded_proto",'
'"request_body":"$request_body",'
'"status":"$status"}';
access_log /var/log/nginx/access.json.log json;
filebeat配置部分:[code]filebeat.prospectors:
- input_type: log
paths:
- /var/log/nginx/access.json.log
document_type: nginx_access_log
ignore_older: 0
tail_files: true
symlinks: true
close_removed: true
clean_removed: true
output.logstash:
# Boolean flag to enable or disable the output module.
enabled: true
# The Logstash hosts
hosts:
logstah配置部分:[code]input {
beats {
port => 5517
}
}
filter {
if [type] == "nginx_access_log" {
mutate {
gsub => ["message", "\\x", "\\\x"]
}
json {
source => "message"
}
mutate {
remove_field => [ "message" ]
}
if "HEAD" in [request_method] or "x.x.x.x" in [remote_addr] or "x.x.x.x" in [http_x_forwarded_for] {
drop {}
}
useragent {
source => "http_user_agent"
target => "ua"
}
if "-" in [upstream_response_time] {
mutate {
replace => {
"upstream_response_time" => "0"
}
}
}
mutate {
convert => [ "upstream_response_time", "float" ]
}
if "," in [http_x_forwarded_for] {
mutate {
add_field => { "[@metadata][user_ip_list]" => "%{http_x_forwarded_for}" }
}
mutate {
split => { "[@metadata][user_ip_list]" => ", " }
add_field => { "[@metadata][user_ip]" => "%{[@metadata][user_ip_list][0]}" }
}
geoip {
source => "[@metadata][user_ip]"
database => "/logstash/config/GeoLite2-City.mmdb"
target => "geoip"
}
} else {
geoip {
source => "http_x_forwarded_for"
database => "/logstash/config/GeoLite2-City.mmdb"
target => "geoip"
}
}
mutate {
gsub => [
"request_body", "\\x22", '"'
]
gsub => [
"request_body", "\\x0A", "\n"
]
}
}
}
output{
if [type] == "nginx_access_log" {
elasticsearch {
hosts =>
index => "nginxlog-%{+YYYY}"
template => "/home/test/template_nginxlog.json"
template_name => "nginxlog"
template_overwrite => true
}
}
}
最后模板:
请教logstash处理从kafka消费的json日志的message字段处理问题
回复Logstash • Jager918 发起了问题 • 1 人关注 • 0 个回复 • 2946 次浏览 • 2020-08-28 10:51
logstash split 使用 \\ 分隔符出错
回复Logstash • leeQiwei 回复了问题 • 1 人关注 • 1 个回复 • 3201 次浏览 • 2020-01-23 10:34
官网的Logstash5.5.0版本的 Filter plugins 中的Ruby filter plugin用到的Event API介绍只有get,set不够用,请问还有更详细的资料吗
回复Logstash • rochy 回复了问题 • 2 人关注 • 1 个回复 • 2867 次浏览 • 2018-12-26 15:24
logstash5.5 根据原有的多个float类型的字段,计算一个新字段
回复Logstash • bellengao 回复了问题 • 3 人关注 • 2 个回复 • 2890 次浏览 • 2018-12-26 11:28
Logstash.filters.json 警告 org.jruby.RubyArray cannot be cast to org.jruby.RubyIO
回复Logstash • Ocean 发起了问题 • 1 人关注 • 0 个回复 • 5547 次浏览 • 2018-11-26 10:47
logstash filter如何判断字段是够为空或者null
Logstash • kindy 发表了文章 • 2 个评论 • 15232 次浏览 • 2018-12-12 18:17
{
"仓ku": "华南",
"originName": "",
"Code": "23248",
"BrandName": "",
"originCode": null,
"CategoryName": "原厂"
}
{
"仓ku": "华南",
"originName": "",
"Code": "23248",
"BrandName": "",
"originCode": null,
"CategoryName": "原厂"
}