Prometheus-экспортер для кластера PM2
Все записи

IT · 8 мая 2023 · 1 мин чтения

Prometheus-экспортер для кластера PM2

Понадобилось снимать из Node.js-приложения метрики по событиям. Например, инкрементить метрику при успешном ответе и всё в таком духе.

В моём распоряжении были Zabbix и Grafana.

Оказалось, что для Node.js есть модуль prom-client, который умеет экспортировать метрики, но вот беда - как и другие модули, с pm2 он не работает.

Проблема в том, что метрику, собранную в одном процессе, нельзя корректно получить в другом процессе, который отвечает за отдачу метрики zabix-агенту по http.

Исправляем упущение: pm2-prom-client

Модуль вообще-то для Prometheus, но и нам подходит.

Суть сводится к тому, что метрики передаются по шине pm2 в процесс агента и дальше экспортируются в plain-text или JSON.

Читайте также