2016-05-26 16 views
0

Nach ein paar Stunden Lesen der Dokumentation von Zabbix Api habe ich keine Möglichkeit gefunden, einen search Schlüssel mit mehr als einem möglichen Wert zu machen.Regex auf Zabbix API?

Also, mit diesem Code:

{ 
"jsonrpc": "2.0", 
"method": "item.get", 
"params": { 
    "output": "extend", 
    "hostids": " 10355", 
    "search": { 
     "key_": "[in_*|out_*]" 
    }, 

"sortfield": "name" 
}, 
"auth": "15729708df1f5936f6ea840ae1b41cb6", 
"id": 0 
} 

Ich versuche, jeden item die Schlüssel ist in_<anything>ORout_<anything> so zu bekommen, wäre der Ausgang der Kombination aller Elemente auf die Schnittstellen. Stattdessen habe ich diese:

{"jsonrpc":"2.0","result":[],"id":0}

Ich weiß, dass es die Möglichkeit gibt filter statt search zu verwenden, aber von dem, was ich gelesen, es wird verwendet, wenn Sie genaue Übereinstimmung wollen, was nicht der Fall ist.

+0

Versuchen Sie '" key_ ":" (in | out) _. * "' Wenn Regex überhaupt hier unterstützt wird. –

+0

Nein, nichts. Und Regex wird wie für json unterstützt. – sysfiend

Antwort

1

Die Zabbix-API (und die Filterung an anderen Stellen) unterstützt regexp nicht. In einigen Versionen können Sie Platzhalter übergeben, aber das löst das aktuelle Problem nicht. Sie müssen zwei separate API-Abfragen durchführen.

die Frage im Kommentar beantworten hier kann die Suche mit dem excludeSearch Parameter negiert werden - siehe API documentation für mehr Details.

+0

In Ordnung, danke für die Info, weißt du, ob es eine Möglichkeit gibt, stattdessen nach * nicht übereinstimmend * zu filtern? – sysfiend

+1

Bearbeitete die Antwort, um diese Info einzuschließen, obwohl es am besten ist, eine Frage zu einem Thema zu behalten. – Richlv