Zabbix: приём метрик из json запроса
Если сервис по ссылке может отдавать json ответ, в котором передаёт метрики, то Zabbix может его легко обработать. Например, есть такой ответ от сервиса:
{"Cache backend: default": "working", "DatabaseBackend": "working", "DefaultFileStorageHealthCheck": "working", "DiskUsage": "working", "MemoryUsage": "working", "MigrationsHealthCheck": "working", "RedisHealthCheck": "working"}
В нём не хватает имен ключей, чтобы в заббиксе это было нормально обработать, но это не беда. Выручает Preprocessing steps, где при помощи JavaScript можно эти имена ключей добавить (имена name и status).
var obj = JSON.parse(value); var keys = Object.keys(obj); var result = keys.map(function(key) { return {name: key, status: obj[key]}; }); return JSON.stringify(result);
Ссылка на готовый шаблон — https://gitlab.com/zabbix-mon/healthcheck-json/-/tree/main