将 filebeat 消息字段拆分为 kibana 中的多个字段
Split filebeat message field into multiple fields in kibana
我有以下 message
字段的数据,这些数据由 filebeat 发送到 elasticseatch。我这里没有使用 Logstash
2020-09-20 15:44:23 ::1 get / - 80 - ::1 mozilla/5.0+(windows+nt+10.0;+win64;+x64)+windows/537.36+(khtml,+like+gecko)+chrome/85.0.4183.102+chrome/537.36 - 200 0 0 10
我想在每个 space 拆分以上数据并将它们分配给不同的字段,新字段应该反映在 kibana 发现门户中。
我们该怎么做?
我试过在 kibana 中使用脚本字段,但我无法实现它,因为我不知道脚本字段查询。
您可以在 Elasticsearch 中设置摄取管道并使用 Grok 处理器将您的 message
字段解析为多个字段。参考:https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html
例如,根据您的日志:
POST _ingest/pipeline/_simulate
{
"pipeline": {
"description" : "...",
"processors": [
{
"grok": {
"field": "message",
"patterns": ["%{DATESTAMP:timestamp} %{DATA} %{WORD:request.method} %{DATA:request.url} - %{NUMBER:port} %{GREEDYDATA:useragent} - %{NUMBER:response.status_code} %{GREEDYDATA}"]
}
}
]
},
"docs":[
{
"_source": {
"message": "2020-09-20 15:44:23 ::1 get / - 80 - ::1 mozilla/5.0+(windows+nt+10.0;+win64;+x64)+windows/537.36+(khtml,+like+gecko)+chrome/85.0.4183.102+chrome/537.36 - 200 0 0 10"
}
}
]
}
我有以下 message
字段的数据,这些数据由 filebeat 发送到 elasticseatch。我这里没有使用 Logstash
2020-09-20 15:44:23 ::1 get / - 80 - ::1 mozilla/5.0+(windows+nt+10.0;+win64;+x64)+windows/537.36+(khtml,+like+gecko)+chrome/85.0.4183.102+chrome/537.36 - 200 0 0 10
我想在每个 space 拆分以上数据并将它们分配给不同的字段,新字段应该反映在 kibana 发现门户中。
我们该怎么做?
我试过在 kibana 中使用脚本字段,但我无法实现它,因为我不知道脚本字段查询。
您可以在 Elasticsearch 中设置摄取管道并使用 Grok 处理器将您的 message
字段解析为多个字段。参考:https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html
例如,根据您的日志:
POST _ingest/pipeline/_simulate
{
"pipeline": {
"description" : "...",
"processors": [
{
"grok": {
"field": "message",
"patterns": ["%{DATESTAMP:timestamp} %{DATA} %{WORD:request.method} %{DATA:request.url} - %{NUMBER:port} %{GREEDYDATA:useragent} - %{NUMBER:response.status_code} %{GREEDYDATA}"]
}
}
]
},
"docs":[
{
"_source": {
"message": "2020-09-20 15:44:23 ::1 get / - 80 - ::1 mozilla/5.0+(windows+nt+10.0;+win64;+x64)+windows/537.36+(khtml,+like+gecko)+chrome/85.0.4183.102+chrome/537.36 - 200 0 0 10"
}
}
]
}