création log pour watchdog sondes
This commit is contained in:
@@ -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 l’envoi du SMS : {e}")
|
||||
logging.error(f"Erreur lors de l’envoi 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()
|
||||
|
||||
Reference in New Issue
Block a user