Herramientas de usuario

Herramientas del sitio


manuales:nagios:capacitacion:tipos_de_notificaciones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Última revisiónAmbos lados, revisión siguiente
manuales:nagios:capacitacion:tipos_de_notificaciones [2016/07/14 14:41] – [Definiciones previas] cayumanuales:nagios:capacitacion:tipos_de_notificaciones [2018/07/24 15:56] – [WhatsApp (Dependencia externa sin garantía)] cayu
Línea 1: Línea 1:
 ====== Tipos de notificaciones ====== ====== Tipos de notificaciones ======
 ==== Definiciones previas  ==== ==== Definiciones previas  ====
 +  * **Indicador**: //Dato o información que sirve para conocer o valorar las características y la intensidad de un hecho o para determinar su evolución futura.//
 +  * **Alerta**: //Señal o aviso con el objetivo de desviar la atención hacia el dato obtenido del indicador.//
 +  * **Notificación**: //Hacer saber una cosa a alguien siguiendo ciertas formalidades.//
 +  * **Criterio**: //Opinión, juicio o decisión que se adopta sobre una cosa.//
  
  
-Dato o información que sirve para conocer o valorar las características y la intensidad de un hecho o para determinar su evolución futura. 
 ===== Correo electrónico ===== ===== Correo electrónico =====
 Para el envío de notificaciones por parte de Nagios es necesario configurar un MTA (Agente de Transporte de Correos), por lo general suele estar previamente configurado el Sendmail en el caso de que nos basemos en un CentOS, o un Postifx tratándose de un SuSE o Debian. Para el envío de notificaciones por parte de Nagios es necesario configurar un MTA (Agente de Transporte de Correos), por lo general suele estar previamente configurado el Sendmail en el caso de que nos basemos en un CentOS, o un Postifx tratándose de un SuSE o Debian.
Línea 119: Línea 122:
 {{:manuales:nagios:nagios_sms.svg.gz|}} {{:manuales:nagios:nagios_sms.svg.gz|}}
 ===== WhatsApp (Dependencia externa sin garantía) ===== ===== WhatsApp (Dependencia externa sin garantía) =====
 +  * https://github.com/tgalal/yowsup
 ===== Telegram ===== ===== Telegram =====
 +<code python>
 +#!/usr/bin/env python
 +
 +import argparse
 +from twx.botapi import TelegramBot
 +
 +def parse_args():
 +    parser = argparse.ArgumentParser(description='Nagios notification via Telegram')
 +    parser.add_argument('-t', '--token', nargs='?', required=True)
 +    parser.add_argument('-o', '--object_type', nargs='?', required=True)
 +    parser.add_argument('--contact', nargs='?', required=True)
 +    parser.add_argument('--notificationtype', nargs='?')
 +    parser.add_argument('--hoststate', nargs='?')
 +    parser.add_argument('--hostname', nargs='?')
 +    parser.add_argument('--hostaddress', nargs='?')
 +    parser.add_argument('--servicestate', nargs='?')
 +    parser.add_argument('--servicedesc', nargs='?')
 +    parser.add_argument('--output', nargs='?')
 +    args = parser.parse_args()
 +    return args
 +
 +def send_notification(token, user_id, message):
 +    bot = TelegramBot(token)
 +    bot.send_message(user_id, message).wait()
 +
 +def host_notification(args):
 +    state = ''
 +    if args.hoststate == 'UP':
 +        state = u'\U00002705 '
 +    elif args.hoststate == 'DOWN':
 +        state = u'\U0001F525 '
 +    elif args.hoststate == 'UNREACHABLE':
 +        state = u'\U00002753 '
 +
 +    return "%s%s (%s): %s" % (
 +        state,
 +        args.hostname,
 +        args.hostaddress,
 +        args.output,
 +    )
 +
 +def service_notification(args):
 +    state = ''
 +    if args.servicestate == 'OK':
 +        state = u'\U00002705 '
 +    elif args.servicestate == 'WARNING':
 +        state = u'\U000026A0 '
 +    elif args.servicestate == 'CRITICAL':
 +        state = u'\U0001F525 '
 +    elif args.servicestate == 'UNKNOWN':
 +        state = u'\U00002753 '
 +
 +    return "%s%s/%s: %s" % (
 +        state,
 +        args.hostname,
 +        args.servicedesc,
 +        args.output,
 +    )
 +
 +def main():
 +    args = parse_args()
 +    user_id = int(args.contact)
 +    if args.object_type == 'host':
 +        message = host_notification(args)
 +    elif args.object_type == 'service':
 +        message = service_notification(args)
 +    send_notification(args.token, user_id, message)
 +
 +if __name__ == '__main__':
 +    main()
 +</code>
 +  * https://github.com/pommi/telegram_nagios
 ===== Visual general ===== ===== Visual general =====
  
manuales/nagios/capacitacion/tipos_de_notificaciones.txt · Última modificación: 2019/03/26 20:25 por cayu