GNU/Linux >> Tutoriels Linux >  >> Linux

4 étapes pour définir les contacts Nagios avec notification par e-mail et pager

Nagios est l'une des meilleures solutions de surveillance de serveur et de réseau open source disponibles. En utilisant le framework flexible nagios, vous pouvez surveiller à peu près n'importe quoi (y compris la base de données et l'application personnalisée). Cet article, en 4 étapes simples, explique comment configurer les définitions de contact qui recevront une notification lorsqu'un hôte ou un service rencontre des problèmes.
 
Plus tôt, nous avons également discuté de la configuration de Nagios et de la surveillance du serveur Windows, de la surveillance du serveur Linux, de la surveillance des sessions VPN et de la surveillance du commutateur réseau.

1. Définir le modèle de contact générique dans templates.cfg

L'installation de Nagios donne un modèle de contact générique par défaut qui peut être utilisé comme référence pour créer vos contacts. Veuillez noter que toutes les directives mentionnées dans le modèle de contact générique ci-dessous sont obligatoires. Ainsi, si vous avez décidé de ne pas utiliser la définition de modèle de contact générique dans vos contacts, vous devez définir vous-même toutes ces définitions obligatoires dans vos contacts.
 
Le contact générique suivant est déjà disponible sous /usr/local/nagios/etc/objects/templates.cfg. En outre, le templates.cfg est inclus dans le nagios.cfg par défaut comme indiqué ci-dessous.
 
Veuillez noter que l'une de ces directives mentionnées dans le fichier templates.cfg peut être remplacée lorsque vous définissez un contact réel à l'aide de ce modèle générique.

# grep templates /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

Note: generic-contact is available under
      /usr/local/nagios/etc/objects/templates.cfg

define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        register                        0
        }

 

  • Nom – Cela définit le nom du modèle de contact (generic-contact).
  • service_notification_period – Cela définit quand nagios peut envoyer une notification sur les problèmes de services (par exemple, Apache down). Par défaut, il s'agit d'une période de 24 × 7, qui est définie sous /usr/local/nagios/etc/objects/timeperiods.cfg
  • host_notification_period – Cela définit quand nagios peut envoyer une notification sur les problèmes de l'hôte (par exemple, le serveur est tombé en panne). Par défaut, il s'agit d'une période de 24 x 7.
  • service_notification_options – Cela définit le type de notification de service qui peut être envoyé. Par défaut, cela définit tous les états de service possibles, y compris les événements de battement. Cela inclut également les activités d'interruption de service planifiées.
  • host_notification_options – Cela définit le type de notifications d'hôte qui peuvent être envoyées. Par défaut, cela définit tous les états d'hôte possibles, y compris les événements de battement. Cela inclut également les activités d'indisponibilité planifiées de l'hôte.
  • service_notification_commands – Par défaut, cela définit que le contact doit recevoir une notification sur les problèmes de service (par exemple, base de données en panne) par e-mail. Vous pouvez également définir des commandes supplémentaires et l'ajouter à cette directive. Par exemple, vous pouvez définir votre propre commande notify-service-by-sms.
  • host_notification_commands – Par défaut, cela définit que le contact doit recevoir une notification sur les problèmes de l'hôte (par exemple, l'hôte en panne) par e-mail. Vous pouvez également définir des commandes supplémentaires et l'ajouter à cette directive. Par exemple, vous pouvez définir votre propre commande notify-host-by-sms.

2. Définir des contacts individuels dans contacts.cfg

Une fois que vous avez confirmé que les modèles de contacts génériques sont correctement définis, vous pouvez commencer à définir une définition de contacts individuels pour toutes les personnes de votre organisation susceptibles de recevoir des notifications de nagios. Veuillez noter que le simple fait de définir un contact ne signifie pas qu'il recevra une notification. Plus tard, vous devrez associer ce contact à une définition de service ou d'hôte, comme indiqué dans les sections suivantes ci-dessous. Alors, n'hésitez pas à définir tous les contacts possibles ici. (par exemple, développeurs, administrateurs de base de données, administrateurs système, responsable informatique, responsable du service client, top management, etc.)
 

Note: Define these contacts in /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name                    sgupta
        use                             generic-contact
        alias                           Sanjay Gupta (Developer)
        email                           [email protected]
        pager                           [email protected]
        }
define contact{
        contact_name                    jbourne
        use                             generic-contact
        alias                           Jason Bourne (Sysadmin)
        email                           [email protected]
        }

3. Définir des groupes de contacts avec plusieurs contacts dans contacts.cfg

Une fois que vous avez défini les contacts individuels, vous pouvez également les regrouper pour envoyer les notifications appropriées. Par exemple, seuls les administrateurs de bases de données doivent être informés de la définition du service d'arrêt de la base de données. Ainsi, un groupe db-admins peut être nécessaire. En outre, seuls les administrateurs système Unix doivent être avertis lorsqu'Apache tombe en panne. Ainsi, un groupe unix-admins peut être nécessaire. N'hésitez pas à définir autant de groupes que vous le jugez nécessaire. Plus tard, vous pourrez utiliser ces groupes dans les définitions individuelles de service et d'hôte.
 

Note: Define contact groups in /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{
contactgroup_name          db-admins
alias                      Database Administrators
members                    jsmith, jdoe, mraj
}

define contactgroup{
contactgroup_name          unix-admins
alias                      Linux System Administrator
members                    jbourne, dpatel, mshankar
}

4. Attacher des groupes de contacts ou des contacts individuels aux définitions de service et d'hôte

Une fois que vous avez défini les contacts individuels et les groupes de contacts, il est temps de commencer à les associer à une définition d'hôte ou de service spécifique, comme indiqué ci-dessous.
 

Note: Following host is defined under
     /usr/local/nagios/etc/objects/servers/email-server.cfg.
     This can be any host definition file.

define host{
use                     linux-server
host_name               email-server
alias                   Corporate Email Server
address                 192.168.1.14
contact_groups          unix-admins
}

Note: Following is defined under
      /usr/local/nagios/etc/objects/servers/db-server.cfg.
      This can be any host definition file.

define service{
use                             generic-service
host_name                       prod-db
service_description             CPU Load
contact_groups                  unix-admins
check_command                   check_nrpe!check_load
}

define service{
use                             generic-service
host_name                       prod-db
service_description             MySQL Database Status
contact_groups                  db-admins
check_command                   check_mysql_db
}

Linux
  1. Client de messagerie avec édition Vim

  2. Trouver la différence avec mtime - et +

  3. Surveiller ssh sur un port autre que le port par défaut avec Nagios

  4. AWK et les noms de fichiers contenant de l'espace.

  5. Les meilleures pratiques du serveur Nagios ?

Gestion des processus sous Linux avec kill et killall

Étapes d'installation de Deepin 20.1 avec captures d'écran

Synchronisation des clients locaux avec les calendriers et les contacts de la messagerie Web

Notification par SMS de Nagios via Kannel

Comment installer AlmaLinux 8.3 en 3 étapes (avec astuces et vidéo)

Installation et premiers pas avec Git