2017-12-21 1 views
0

Verwenden von Kapacitor 1.3 und ich versuche, die folgenden Knoten verwenden, um Messungen mit einem leeren Tag zu halten. Nichts passiert und ich bekomme das gleiche Ergebnis mit == ''.Verwenden where() Knoten zum Filtern von leeren Tags in Kapacitor

| where(lambda: 'process-cpu__process-name' =~ /^$/) 

ich dieses Problem umgehen kann einen Standardwert unter Verwendung von Tags und Filter auf diesem Standard-Tag, in dem folgenden Knoten fehlt, aber ich frage mich, ob es in dem Statement der Anfang eine bessere Art und Weise aufgebaut ist und vermeiden einen zusätzlichen Knoten .

| default() 
    .tag('process-cpu__process-name','system') 
| where(lambda: \"process-cpu__process-name\" == 'system') 

Antwort

0

Sicher es nicht passieren, denn diese

'process-cpu__process-name' 

ist ein Stringliteral es TICKScript, nicht ein Verweis auf ein Feld, das

ist
"process-cpu__process-name" 

Sie offensichtlich hat die Bedingung in diesem Fall immer falsch gemacht.

Ziemlich häufig Fehler jedoch, vor allem für jemanden mit früheren Erfahrungen mit den Sprachen, die beide & Doppelzitat für einfache Zeichenfolge toleriert. :-)

Auch gibt es eine Funktion in TICKScript Lambda genannt strLength(), finden Sie das Dokument here, bitte.

Verwandte Themen