Экспорт телеметрии Meshtastic устройств в Prometheus с интеграцией AlertManager для отправки алертов в LoRa сеть.
- Встроенный MQTT брокер на основе mochi-mqtt
- Поддержка TLS/QoS/Retention
- Prometheus метрики: Батарея, температура, влажность, давление, качество сигнала
- AlertManager интеграция: Отправка алертов в LoRa mesh сеть
- Персистентность: Сохранение/восстановление метрик между перезапусками
wget https://github.com/capricornusx/meshtastic-mqtt-exporter/releases/latest/download/mqtt-exporter-linux-amd64
# Запустить
./mqtt-exporter-linux-amd64 --config config.yaml
# Проверить
curl http://localhost:8100/metrics
Полный пример конфигурации доступен в файле config.yaml
.
- Быстрый старт — Установка и первый запуск
- Конфигурация — Настройки
- API — REST API endpoints
- Pages
meshtastic_battery_level_percent
— Уровень батареиmeshtastic_temperature_celsius
— Температураmeshtastic_humidity_percent
— Влажностьmeshtastic_pressure_hpa
— Барометрическое давлениеmeshtastic_rssi_dbm
— Мощность сигнала (dBm)meshtastic_snr_db
— Отношение сигнал/шум (dB)meshtastic_node_last_seen_timestamp
— Время последней активности
Метрики автоматически сохраняются и восстанавливаются между перезапусками (json формат), каждые 5 минут и при завершении работы + восстановление при запуске.
- Отделить архитектурно Alertmanager от Exporter
- добавить MQTT-специфичные метрики (обработано сообщений, uptime, расход памяти т.д.)
- from_node vs node_id labels
- синхронизация метрик с meshtastic .proto файлами
- проверить код на избыточные функции, которые могут быть в стандартной библиотеке
- настроить gofmt formatter через .golangci.yml
- Graceful reload config
- Возможно, пригодится тестовый эндпоинт для alertmanager
/alerts/ping
с заготовленными сообщениями (direct, broadcast).
Построен с использованием отличного MQTT брокера mochi-mqtt
от @mochi-co.