improve stability
This commit is contained in:
		| @ -4,6 +4,7 @@ Export metrics of a VEGAPULS Air connected via TTN as a prometheus service. | ||||
|  | ||||
| ## Install ## | ||||
|  | ||||
| - `zypper install python311-paho-mqtt` | ||||
| - `mkdir /opt/ttn-vegapulsair-exporter/` | ||||
| - `cd /opt/ttn-vegapulsair-exporter/` | ||||
| - import `ttn-vegapulsair-exporter.py` and `config.py` | ||||
|  | ||||
| @ -12,7 +12,6 @@ import json | ||||
| import sys | ||||
| import config | ||||
|  | ||||
|  | ||||
| scrape_healthy = True | ||||
| startTime = datetime.now() | ||||
| lastMqttReception = datetime.now() | ||||
| @ -132,8 +131,11 @@ def update_metrics(payload, metadata): | ||||
|     scrape_healthy = True | ||||
|     mutex.release() | ||||
|  | ||||
| def on_connect(mqttc, obj, flags, rc): | ||||
|     print("\nConnected to MQTT: rc = " + str(rc)) | ||||
| def on_connect(client, userdata, flags, reason_code, properties): | ||||
|     if reason_code == 0: | ||||
|         print("\nConnected to MQTT: reason_code = " + str(reason_code)) | ||||
|     if reason_code > 0: | ||||
|         print("\nNot connected to MQTT: reason_code = " + str(reason_code)) | ||||
|  | ||||
| def on_message(mqttc, obj, msg): | ||||
|     #print("\nMessage: " + msg.topic + " " + str(msg.qos)) | ||||
| @ -150,20 +152,24 @@ def on_message(mqttc, obj, msg): | ||||
|         mutex.release() | ||||
|         print("Unable to parse uplink") | ||||
|  | ||||
| def on_subscribe(mqttc, obj, mid, granted_qos): | ||||
|     print("\nSubscribed to MQTT: " + str(mid) + " " + str(granted_qos)) | ||||
| def on_subscribe(client, userdata, mid, reason_codes, properties): | ||||
|     print("\nSubscribed to MQTT: " + str(mid)) | ||||
|  | ||||
| def poll_mqtt(mqttc): | ||||
|     while True: | ||||
|         mqttc.loop(10)  # seconds timeout | ||||
|     mqttc.loop_forever() | ||||
|  | ||||
| def on_disconnect(client, userdata, flags, reason_code, properties): | ||||
|     print("disconnect occoured") | ||||
|     client.reconnect() | ||||
|  | ||||
| def main(): | ||||
|     print("starting ...") | ||||
|  | ||||
|     mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1) | ||||
|     mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2) | ||||
|     mqttc.on_connect = on_connect | ||||
|     mqttc.on_subscribe = on_subscribe | ||||
|     mqttc.on_message = on_message | ||||
|     mqttc.on_disconnect = on_disconnect | ||||
|     mqttc.username_pw_set(config.ttn_user, config.ttn_key) | ||||
|     mqttc.tls_set() | ||||
|     mqttc.connect(config.ttn_region.lower() + ".cloud.thethings.network", 8883, 60) | ||||
|  | ||||
| @ -4,8 +4,9 @@ After=syslog.target | ||||
| After=network.target | ||||
|  | ||||
| [Service] | ||||
| Restart=on-failure | ||||
| RestartSec=2s | ||||
| Type=oneshot | ||||
| Type=simple | ||||
| User=prometheus | ||||
| Group=prometheus | ||||
| WorkingDirectory=/opt/ttn-vegapulsair-exporter/ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user