#!/usr/bin/env python3 """ Скрипт для Zabbix UserParameter. Возвращает JSON со всеми метриками ses-monitor. Используется как один UserParameter: ses.metrics Настройка Zabbix агента: UserParameter=ses.metrics,/opt/ses-monitor/scripts/zbx_get.py В шаблоне Zabbix создаётся master-элемент ses.metrics (тип: Zabbix агент, формат: Текст), а все остальные ses.* элементы — зависимые (dependent) с препроцессингом JSONPath. """ import json import sys METRICS_FILE = "/var/tmp/ses_monitor/metrics.json" def main() -> int: try: with open(METRICS_FILE, "r", encoding="utf-8") as f: data = json.load(f) except FileNotFoundError: # Файла ещё нет — возвращаем пустой JSON print("{}") return 0 except json.JSONDecodeError: print("{}") return 0 print(json.dumps(data, ensure_ascii=False)) return 0 if __name__ == "__main__": sys.exit(main())