ich bin neu hier und habe noch keinen passenden Artikel gefunden. Derzeit versuche ich mit Checkmk 2.4 die REST API zu benutzen. Mit der Swagger UI habe ich auch eine passende GET Methode auf eine Collection gefunden, die mir die Informationen zurückgibt, die ich brauche.
Konkret geht es um “/domain-types/host_config/collections/all” und die Verwendung des hostnames Filter. Aktuell bekomme ich mit “/domain-types/host_config/collections/all?hostnames=server1” auch die Werte von einen, aber ich möchte entweder eine Liste von Servern wie in der Doku als Array angeben, oder wenn es geht eine Regex Serverliste (server*).
probiert habe ich z.B. auch hostnames=server1,server2,server3 oder hostnames=[server1,server2,server3], aber das scheint so nicht zu gehen.
You can use filters in GUI views to make REST API queries easily.
I used view Host search, regex filter on Hostname, select the green suggestion in pull-down based on your regex, Apply filters. When result is what you want, click Export > REST API Query hosts resource
Or URL encoded: https://[server]/[site]/check_mk/api/1.0/domain-types/host/collections/all?query=%7B%22op%22%3A+%22~~%22%2C+%22left%22%3A+%22hosts.name%22%2C+%22right%22%3A+%22server%2A%22%7D
I’m using 2.1.0p5 raw. There have been changes with REST API after that, so best to create your own query by GUI to be sure, and not take my shown results.
The regex query is done by Livestatus.
A reference can be found in docs:
This works for me with the resource `/domain-types/host/collections/all?query=%7B"op"%3A+“~~”%2C+“left”%3A+“hosts.name”%2C+“right”%3A+“server”%7D`.
But unfortunately, it doesn’t work with the resource `/domain-types/host_config/collections/all`.
When I use `/domain-types/host_config/collections/all?query=%7B"op"%3A+“~~”%2C+“left”%3A+“hosts.name”%2C+“right”%3A+“server”%7D`, I get a 400 RC error with the message “Bad Request”, “status”: 400, “detail”: “These fields have problems: query”, “fields”: {“query”: [“Unknown field.”]}
And when I use `/domain-types/host_config/collections/all?hostnames=%7B"op"%3A+“~~”%2C+“left”%3A+“hosts.name”%2C+“right”%3A+“server”%7D`, I get 0 results.