logstash匹配json然后切割status
时间: 2023-10-02 18:07:53 浏览: 95
logstash-template模板:logstash.json
为了匹配 JSON 并切割 `status`,可以使用 Logstash 的 `json` 插件和 `mutate` 插件。
以下是一个例子:
```
input {
# 输入数据源
stdin {}
}
filter {
# 匹配 JSON
json {
source => "message"
}
# 切割 status
mutate {
add_field => { "status_code" => "%{[status][code]}" }
}
}
output {
# 输出结果
stdout {
codec => rubydebug
}
}
```
在这个例子中,我们假设输入的数据是一个 JSON 字符串,例如:
```
{
"status": {
"code": 200,
"message": "OK"
},
"data": {
"foo": "bar"
}
}
```
使用 Logstash 的 `json` 插件,我们可以解析这个 JSON 字符串,并将其存储在 Logstash 事件的字段中。在这个例子中,JSON 对象的所有属性都将被存储在 Logstash 事件的根级别。
然后,使用 `mutate` 插件,我们可以将 `status` 字段中的 `code` 属性的值存储在新的 `status_code` 字段中。在这个例子中,`status_code` 字段的值将是 `200`。
最后,我们使用 `stdout` 输出 Logstash 事件的内容,以便查看是否正确匹配 JSON 并切割 `status`。
阅读全文