Qu'est-ce que Nagios ?

Nagios est un outil de surveillance d'infrastructure IT open-source utilisé pour surveiller l'état des périphériques réseau, serveurs, applications et services. Il aide les équipes IT à suivre la disponibilité et performance des systèmes critiques en temps réel, les alertant des problèmes avant qu'ils n'affectent les opérations business. Nagios surveille une large gamme de systèmes, incluant les périphériques réseau (routeurs, commutateurs, etc.), serveurs (Windows, Linux, etc.) et services (serveurs web, serveurs email, bases de données, etc.).

L'application fonctionne en vérifiant régulièrement la santé de ces systèmes via des plugins et vérifications personnalisées, évaluant des métriques telles que les temps de réponse, utilisation des ressources et temps de fonctionnement. Si un système ou service surveillé rencontre un problème, Nagios déclenche des alertes pour notifier le personnel IT, les aidant à répondre rapidement aux problèmes potentiels. Les utilisateurs peuvent configurer des seuils et conditions d'alerte selon leurs besoins et peuvent également accéder à des rapports détaillés et données de performance pour aider au dépannage.

Nagios est hautement extensible et peut être personnalisé via des plugins et intégrations tierces, le rendant adapté à la surveillance d'environnements IT complexes. Il est largement utilisé par les équipes d'opérations IT pour assurer la fiabilité et performance de leur infrastructure, identifiant et traitant proactivement les problèmes.

Fonctions

Envoyer des SMS

Faites envoyer des alertes SMS à Nagios via notre passerelle en intégrant seven.

Installation

  1. 1

    Vérifier l'installation Python

    Assurez-vous que Python 2+ est installé sur le système.

  2. 2

    Copier le plugin

    Copiez seven.py dans le répertoire de plugins Nagios, normalement sous /usr/local/nagios/libexec.

Utilisation

Modifiez /usr/local/nagios/etc/objects/contacts.cfg :

define contact {
    #...
    pager                         +491234567890
    host_notification_commands    notify-host-by-sms
    service_notification_commands notify-service-by-sms
}

Ajoutez à /usr/local/nagios/etc/objects/commands.cfg :

# Résulte en un SMS comme :
# RECOVERY: SMS on 127.0.0.1@localhost, State: OK, Output: 100, Date: 01-15-2021 12:30:28
define command {
    command_name notify-service-by-sms
    command_line $USER1$/seven.py MA_CLE_API_SEVEN $CONTACTPAGER$ "$NOTIFICATIONTYPE$:$SERVICEDESC$ on $HOSTADDRESS$@$HOSTNAME$, State $SERVICESTATE$, Output: $SERVICEOUTPUT$, Date: $SHORTDATETIME$" --from=Nagios
}

# Résulte en un SMS comme :
# CUSTOM on 127.0.0.1@localhost, State: OK, Output: 100, Date: 01-15-2021 12:30:28
define command {
    command_name notify-host-by-sms
    command_line $USER1$/seven.py MA_CLE_API_SEVEN $CONTACTPAGER$ "$NOTIFICATIONTYPE$ on $HOSTADDRESS$@$HOSTNAME$, State: $HOSTSTATE$, Output: $HOSTOUTPUT$, Date: $SHORTDATETIME$" --from=Nagios
}

Optionnellement, vous pouvez ajouter un service local pour un test rapide. Ajoutez à /usr/local/nagios/etc/objects/localhost.cfg :

define service {
    use                   local-service
    host_name             localhost
    service_description   SMS
    check_command         notify-host-by-sms
}

Options disponibles :

seven.py
    [-h]
    [--delay DELAY]
    [--details]
    [--flash]
    [--foreign_id FOREIGN_ID]
    [--from FROM]
    [--json]
    [--label LABEL]
    [--no_reload]
    [--performance_tracking]
    [--return_msg_id]
    [--ttl TTL]
    [--udh UDH]
    [--unicode]
    [--utf8]
    api_key to text