我有需要同时监视主传感器和备用传感器的情况。但是在此之前,我需要找出主要传感器和备用传感器。
我有这样的东西:
**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>.*)"