Script d'alerte sms en cas de ro sur zbee (cron puis rabitmq)
This commit is contained in:
parent
118fa4700e
commit
9b255bbb30
1 changed files with 51 additions and 0 deletions
51
surveillance/alert_ro.py
Executable file
51
surveillance/alert_ro.py
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash /usr/scripts/python.sh
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Script qui alerte dès qu'une partition se monte en ro
|
||||||
|
|
||||||
|
Gabriel Détraz
|
||||||
|
Licence GPL2
|
||||||
|
"""
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
from lc_ldap import shortcuts
|
||||||
|
from gestion import secrets_new as secrets
|
||||||
|
import pika
|
||||||
|
import json
|
||||||
|
|
||||||
|
ldap = shortcuts.lc_ldap_readonly()
|
||||||
|
|
||||||
|
nounous_actif = ldap.search(u'(&(droits=nounou)(droits=cableur))',mode='rw')
|
||||||
|
|
||||||
|
list_num = [unicode(noun['tel'][0]) for noun in nounous_actif]
|
||||||
|
|
||||||
|
partoches_ro = []
|
||||||
|
|
||||||
|
QUEUE_NAME = 'SMS'
|
||||||
|
|
||||||
|
# On controle les partoches
|
||||||
|
partoches = subprocess.check_output(['mount'])
|
||||||
|
|
||||||
|
for part in partoches.split('\n'):
|
||||||
|
if '(ro,' in part:
|
||||||
|
print part
|
||||||
|
partoches_ro.append(part.split()[2])
|
||||||
|
|
||||||
|
# On alerte
|
||||||
|
if partoches_ro:
|
||||||
|
CREDS = pika.credentials.PlainCredentials('sms', secrets.get('rabbitmq_sms'), True)
|
||||||
|
|
||||||
|
PARAMS = pika.ConnectionParameters(host='rabbitmq.crans.org',
|
||||||
|
port=5671, credentials=CREDS, ssl=True)
|
||||||
|
|
||||||
|
rabbit_c = pika.BlockingConnection(PARAMS)
|
||||||
|
ch = rabbit_c.channel()
|
||||||
|
|
||||||
|
ch.queue_declare(QUEUE_NAME)
|
||||||
|
|
||||||
|
for num in list_num:
|
||||||
|
SMS = {'numero': num, 'sms': 'Des partitions sont en ro sur zbee : ' + str(partoches_ro)}
|
||||||
|
|
||||||
|
ch.basic_publish(exchange='', routing_key=QUEUE_NAME,
|
||||||
|
body=json.dumps(SMS))
|
Loading…
Add table
Add a link
Reference in a new issue