我有一个需要同时监控主传感器和备用传感器的情况。但在此之前,我需要弄清楚主传感器和备用传感器。
我有这样的东西:
**sensor**
sensor1
sensor1_backup
sensor2
sensor2_backup
sensor3
sensor3_backup
我想检查传感器以查看它是否是备份传感器,然后需要知道它是谁的备份。
我尝试了这样的事情:
... | eval backup_sensor=if(match(sensor,*backup*,1,0),sensor)
但是,如果匹配为真,我可以将传感器分配给备份。但是,如果传感器失败,如何将传感器分配给新字段"primary_sensor"。
另外,我该如何确定它是谁的备份。
例如,我找到一个备份传感器"sensor2_backup",我是否应该再次使用 match 语句来查看它是否是 sensor2 的备份?
match
函数将起作用,但就像你提到的,你可能需要其中两个。 此外,match
使用正则表达式而不是模式。
更好的方法是rex
. 它还使用正则表达式,但可以轻松提取多个字段。 试试这个:
... | rex field=sensor "(?<primary_sensor>[^_]+)_(?<backup_sensor>backup>.*)"