Zabbix: приём метрик из json запроса (черновик)

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

Добавить комментарий