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 ovh
import os import os
from dotenv import load_dotenv from dotenv import load_dotenv
import logging
# Charger le .env # Charger le .env
load_dotenv() load_dotenv()
@@ -13,7 +14,12 @@ DB_CONFIG = {
'password': os.getenv('DB_PASSWORD'), 'password': os.getenv('DB_PASSWORD'),
'database': os.getenv('DB_NAME') '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 # SMS OVH
OVH_CLIENT = ovh.Client( OVH_CLIENT = ovh.Client(
endpoint=os.getenv('OVH_ENDPOINT'), endpoint=os.getenv('OVH_ENDPOINT'),
@@ -39,7 +45,7 @@ def verifier_table(cnx, table):
def envoyer_sms(message): def envoyer_sms(message):
if not ENVOI_SMS: 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 return
try: try:
result = OVH_CLIENT.post( result = OVH_CLIENT.post(
@@ -49,9 +55,9 @@ def envoyer_sms(message):
noStopClause=True, noStopClause=True,
receivers=[DESTINATAIRE] 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: 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(): def main():
now = datetime.now() 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')})" f"{table} : aucune donnée depuis {minutes} min (dernière à {last_date.strftime('%H:%M:%S')})"
) )
else: 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() cnx.close()
@@ -79,7 +85,7 @@ def main():
message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes) message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes)
envoyer_sms(message) envoyer_sms(message)
else: else:
print("Tout est OK, aucune alerte.") logging.info("Tout est OK, aucune alerte.")
if __name__ == "__main__": if __name__ == "__main__":
main() main()