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
Vérifier l'installation Python
Assurez-vous que Python 2+ est installé sur le système.
- 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