Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
software:applications:mqtt2prometheus [2022/04/14 14:00] – yoann | software:applications:mqtt2prometheus [2022/12/20 22:58] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
- | Par défaut mqtt2prometheus écoute sur le port **9641** | + | ===== Connexion au Broker MQTT ===== |
+ | Le fichier de configuration ''/ | ||
- | Vérifier que depuis le conteneur Prometheus, on peut atteindre l'exporter: | + | <code yaml> |
+ | mqtt: | ||
+ | # The MQTT broker to connect to | ||
+ | server: tcp:// | ||
+ | # Optional: Username and Password for authenticating with the MQTT Server | ||
+ | # user: bob | ||
+ | # password: happylittleclouds | ||
+ | # Optional: for TLS client certificates | ||
+ | # ca_cert: certs/ | ||
+ | # client_cert: | ||
+ | # client_key: certs/ | ||
+ | # Optional: Used to specify ClientID. The default is < | ||
+ | client_id: mqtt_exporter | ||
+ | # The Topic path to subscribe to. Be aware that you have to specify the wildcard. | ||
+ | topic_path: '#' | ||
+ | # Optional: Regular expression to extract the device ID from the topic path. The default regular expression, assumes | ||
+ | # that the last " | ||
+ | # The regular expression must contain a named capture group with the name deviceid | ||
+ | # For example the expression for tasamota based sensors is " | ||
+ | # device_id_regex: | ||
+ | # The MQTT QoS level | ||
+ | qos: 0 | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | <code bash> | ||
+ | docker-compose logs mosquitto | ||
+ | Attaching to synopush_mqtt_broker | ||
+ | synopush_mqtt_broker | 1671561436: mosquitto version 2.0.14 starting | ||
+ | synopush_mqtt_broker | 1671561436: Config loaded from / | ||
+ | synopush_mqtt_broker | 1671561436: Opening ipv4 listen socket on port 1883. | ||
+ | synopush_mqtt_broker | 1671561436: Opening ipv6 listen socket on port 1883. | ||
+ | synopush_mqtt_broker | 1671561436: mosquitto version 2.0.14 running | ||
+ | synopush_mqtt_broker | 1671561437: New connection from 172.19.0.5: | ||
+ | synopush_mqtt_broker | 1671561437: New client connected from 172.19.0.5: | ||
+ | . . . | ||
+ | </ | ||
+ | |||
+ | Les logs indiquent bien qu'un client nommé " | ||
+ | |||
+ | ===== Exposition des métriques ===== | ||
+ | |||
+ | Les métriques ne seront plus présentées à Prometheus si les valeurs ne sont pas rafraîchies par la réception de message MQTT en deçà de la valeur de **timeout**. | ||
+ | <code yaml> | ||
+ | cache: | ||
+ | # Timeout. Each received metric will be presented for this time if no update is send via MQTT. | ||
+ | # Set the timeout to -1 to disable the deletion of metrics from the cache. The exporter presents the ingest timestamp | ||
+ | # to prometheus. | ||
+ | timeout: 24h | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Le fichier de configuration permet de définir/ | ||
+ | |||
+ | <code yaml> | ||
+ | # Liste des métriques valides. Seules les métriques listées ci-dessous seront exportées. | ||
+ | metrics: | ||
+ | # Nom de la métrique exposée pour Prometheus | ||
+ | - prom_name: temperature_celsius | ||
+ | # Correspondance avec la valeur du message JSON MQTT | ||
+ | mqtt_name: t | ||
+ | # Description de la métrique | ||
+ | help: temperature ambiante (°C) | ||
+ | # Type de la métrique Prometheus. Valeurs possibles: " | ||
+ | type: gauge | ||
+ | # Nom de la métrique exposée pour Prometheus | ||
+ | - prom_name: humidity_ratio | ||
+ | # Correspondance avec la valeur du message JSON MQTT | ||
+ | mqtt_name: u | ||
+ | # Description de la métrique | ||
+ | help: Humidité relative (%) | ||
+ | # Type de la métrique Prometheus. Valeurs possibles: " | ||
+ | type: gauge | ||
+ | </ | ||
+ | |||
+ | ===== Scraping par Prometheus ===== | ||
+ | |||
+ | Par défaut mqtt2prometheus écoute sur le port **9641**. | ||
<code bash> | <code bash> | ||
Ligne 19: | Ligne 99: | ||
wget -O - " | wget -O - " | ||
</ | </ | ||
- | |||
===== logs ===== | ===== logs ===== | ||
Ligne 33: | Ligne 112: | ||
^ panic | Journalisation de l' | ^ panic | Journalisation de l' | ||
^ fatal | Journalisation de l' | ^ fatal | Journalisation de l' | ||
- | |||
- | |||
===== Références ===== | ===== Références ===== |