Мониторинг HAProxy
Агент снимает метрики HAProxy со стандартного CSV-эндпоинта статистики: статус бэкендов, текущие сессии и трафик по каждой паре proxy/server. Логи HAProxy можно собирать файловым источником, но специализированного парсера для его формата нет — используйте JSON-лог на стороне HAProxy или plaintext.
Предварительные требования
-
Агент Flaree установлен на том же хосте, что и HAProxy.
-
В
haproxy.cfgвключён HTTP-эндпоинт статистики на loopback:frontend statsbind 127.0.0.1:8404stats enablestats uri /stats -
После правки конфига HAProxy перезагружен (
systemctl reload haproxy).
Минимальная конфигурация
Источник метрик настраивается в дашборде: Агенты → ваш агент → Источники метрик, тип haproxy-stats, параметр url — CSV-вариант эндпоинта:
{ "url": "http://127.0.0.1:8404/stats;csv" }
Поле url обязательно — без него источник не пройдёт валидацию.
Полная конфигурация
Какие метрики отдаёт источник (лейблы proxy и server из колонок pxname/svname):
| Метрика | Описание |
|---|---|
haproxy.up | 1, если статус строки UP, иначе 0. |
haproxy.sessions_current | Текущие сессии (scur). |
haproxy.bytes_in_total | Принятые байты (bin). |
haproxy.bytes_out_total | Отправленные байты (bout). |
Сбор логов: встроенные парсеры покрывают json, logfmt, nginx combined и apache common — формат HAProxy httplog среди них отсутствует. Честный вариант: настройте JSON-лог в HAProxy ≥ 2.6 (log-format-sd или JSON-шаблон в log-format) и подключите файл источником типа File с форматом Auto. Без JSON строки придут как plaintext: алерты по подстроке работать будут, разбор по полям — нет.
Проверка работы
- Убедитесь, что CSV-эндпоинт отвечает с хоста агента.
- Проверьте, что HAProxy активен и таблица статистики содержит ваши бэкенды.
- В дашборде метрики
haproxy.*появляются в списке доступных для привязки в течение пары минут.
curl -s 'http://127.0.0.1:8404/stats;csv' | head -n 3
# # pxname,svname,qcur,qmax,scur,...
systemctl status haproxy --no-pager
Troubleshooting
- Метрики не появляются — чек-лист нет данных.
- Эндпоинт отвечает HTML вместо CSV — забыт суффикс
;csvвurl. haproxy.upравен0при живом бэкенде — health-check самого HAProxy помечает сервер какDOWN; смотритеcheck-настройки вhaproxy.cfg.
Держите эндпоинт статистики на loopback. Публичный /stats раскрывает топологию бэкендов и счётчики трафика.
Связанные страницы: Nginx · сбор логов · привязка метрик.