création log pour watchdog sondes

This commit is contained in:
2025-07-07 11:38:10 +02:00
parent 0155498982
commit 7e19a4b096

View File

@@ -3,6 +3,7 @@ from datetime import datetime, timedelta
import ovh
import os
from dotenv import load_dotenv
import logging
# Charger le .env
load_dotenv()
@@ -13,7 +14,12 @@ DB_CONFIG = {
'password': os.getenv('DB_PASSWORD'),
'database': os.getenv('DB_NAME')
}
# Configurer le logger
logging.basicConfig(
filename='/var/log/watchdog_sondes.log',
level=logging.INFO,
format='%(asctime)s%(levelname)s%(message)s'
)
# SMS OVH
OVH_CLIENT = ovh.Client(
endpoint=os.getenv('OVH_ENDPOINT'),
@@ -39,7 +45,7 @@ def verifier_table(cnx, table):
def envoyer_sms(message):
if not ENVOI_SMS:
print(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}")
logging.debug(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}")
return
try:
result = OVH_CLIENT.post(
@@ -49,9 +55,9 @@ def envoyer_sms(message):
noStopClause=True,
receivers=[DESTINATAIRE]
)
print(f"SMS envoyé avec job ID : {result['ids']}")
logging.info(f"SMS envoyé avec job ID : {result['ids']}")
except Exception as e:
print(f"Erreur lors de lenvoi du SMS : {e}")
logging.error(f"Erreur lors de lenvoi du SMS : {e}")
def main():
now = datetime.now()
@@ -71,7 +77,7 @@ def main():
f"{table} : aucune donnée depuis {minutes} min (dernière à {last_date.strftime('%H:%M:%S')})"
)
else:
print(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.")
logging.info(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.")
cnx.close()
@@ -79,7 +85,7 @@ def main():
message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes)
envoyer_sms(message)
else:
print("Tout est OK, aucune alerte.")
logging.info("Tout est OK, aucune alerte.")
if __name__ == "__main__":
main()