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