Ami*_*iel 16 logstash logstash-grok logstash-configuration
我有JSON文件,我通过logstash发送给ES.我想在JSON中删除1个字段(它是深字段) - 仅当值为NULL时才会删除.
JSON的一部分是:
"input": {
"startDate": "2015-05-27",
"numberOfGuests": 1,
"fileName": "null",
"existingSessionId": "XXXXXXXXXXXXX",
**"radius": "null",**
"nextItemReference": "51",
"longitude": -99.12,
"endDate": "2015-05-29",
"thumbnailHeight": 200,
"thumbnailWidth": 300,
"latitude": 19.42,
"numOfRooms": "1"
},
Run Code Online (Sandbox Code Playgroud)
该logstash.conf文件的一部分是:
if [input.radius] == "null" {
mutate {
remove_field => [ "input.radius" ]
}
}
Run Code Online (Sandbox Code Playgroud)
当然这是在过滤器内部.
如果值为null,如何删除此字段?
Mag*_*äck 27
嵌套字段不会引用[name.subfield]但是[field][subfield].这应该适合你:
if [input][radius] == "null" {
mutate {
remove_field => [ "[input][radius]" ]
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果没有"输入"字段,[input][radius]引用将创建一个空的"输入"字典.为了避免这种情况,你可以这样做:
if [input] and [input][radius] == "null" {
mutate {
remove_field => [ "[input][radius]" ]
}
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息和更多示例,请参阅Logstash文档.
| 归档时间: |
|
| 查看次数: |
9141 次 |
| 最近记录: |