Filter Logstash删除SNMP字段名的一部分

Filter Logstash删除SNMP字段名的一部分,filter,logstash,snmp,Filter,Logstash,Snmp,我正在使用Logstash SNMP输入,并接收如下字段: iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageAllocationUnits.1“ 有没有一种方法可以在hr存储之前使用筛选器删除所有内容?您可以使用带有选项的mutate筛选器。如果您要删除的部分始终位于hr存储之前。,您可以执行以下操作: mutate { gsub => [ "message",

我正在使用Logstash SNMP输入,并接收如下字段:

iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageAllocationUnits.1“


有没有一种方法可以在hr存储之前使用筛选器删除所有内容?

您可以使用带有选项的mutate筛选器。如果您要删除的部分始终位于hr存储之前。,您可以执行以下操作:

mutate {
  gsub => [ "message", "^(.*)(hrStorage\..*)$", "\2"]
}

它使用捕获组,第二个组从
hr存储区抓取。
到最后,第一个组抓取其余部分。然后,我们只将第二个组保留在选项的替换部分。

您可以使用带有该选项的变异过滤器。如果您要删除的部分总是在
hr存储区之前。
,您可以做些什么像这样:

mutate {
  gsub => [ "message", "^(.*)(hrStorage\..*)$", "\2"]
}
它使用捕获组,第二个组从
hrStorage.
抓取到最后,第一个组抓取其余的组。然后我们只将第二个组保留在选项的替换部分