mise au point

This commit is contained in:
2021-03-23 15:29:59 +01:00
parent 7b2e9ccc29
commit 77e8883074
2 changed files with 0 additions and 166 deletions

View File

@@ -1,24 +0,0 @@
# /etc/nagios/conf.d/hosts.cfg
define host {
host_name ipi_g2_24
address 100.0.2.224
use linux-server
}
Définition d'un service:
#/etc/nagios/conf.d/services.cfg
define service {
service_description cpuload
host_name ipi_g2_24
check_command check_snmp_load!70%!80%!
use generic-service
}
Définition de la commande:
#/etc/nagios/conf.d/commands.cfg
define command {
command_name check_snmp_load
command_line $USER1$/check_snmp_load.pl -H $HOSTADDRESS$ -2 -C foobar -w $ARG1$ -c $ARG2$
}

142
nagios.md
View File

@@ -1,142 +0,0 @@
#### Nagios
### Ressources:
* https://cours.opendoor.fr/Fichiers/B2/nagios.pdf
* https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/objectdefinitions.html#host
### Installation
yum install epel-release
yum install nagios nagios-plugins-all
lancer et activer le service
```
systemctl start nagios.service
systemctl enable nagios.service
systemctl enable --now nagios
```
définir le mot de passe d'accès à l'interface:
```
htpasswd /etc/nagios/passwd nagiosadmin
```
```
sudo apachectl configtest && sudo systemctl restart httpd
```
### Post configuration
Rajouter dans le fichier de configuration principal la directive permettant d'inclure tous les fichiers du répertoire _/etc/nagios/conf.d_
Créer ce répertoire
Déplacer les scripts check_snmp que nous avons précédemment téléchargés dans /etc/nagios/scripts (penser à créer ce répertoire).
S'assurer que ces scripts soient exécutables par tout le monde.
### Définition d'un groupe de machine
Créer le fichier _/etc/nagios/conf.d/hostgroups.cfg_ dans lequel vous définirez un group nommé "my_machines"
### Définition d'une machine
En vous aidant entre autre du fichier /etc/nagios/objects/localhost.cfg
Créer le fichier _/etc/nagios/conf.d/hosts.cfg_
Dans ce fichier, rajouter la définition de votre machine avec son nom tel que renvoyé par la commande _hostname -s_ et son adresse ip locale ( _ip a_).
Cette définition utilisera le modèle _linux-server_
Cette machine sera membre du groupe my_machines précédemment créé.
Après avoir vérifié la validité de la configuration nagios et avoir redémarré le service nagios, la machine doit apparaître dans l'interface.
### Définition d'une commande
Lors d'un précédent tp, nous avons mis au point les lignes de commandes permettant d'utiliser les scripts check_snmp avec les bons paramètres dans le but de surveiller certains éléments de notre système.
Pour rappel, les éléments à surveiller sont les suivants:
* charge cpu
* charge mémoire
* espace disque disponible sur /
* nb de processus crond > 1
* nb de processus sshd > 1
L'objectif est d'utiliser ces lignes de commandes comme commandes nagios
Vous pouvez vous inspirer du fichier _/etc/nagios/objects/commands.cfg_
Créer le fichier _/etc/nagios/conf.d/commands.cfg_
Vous y définirez les commandes suivantes:
* check_cpu
* check_mem
* check_disk
* check_process
### Définition d'un service
En prenant pour exemple le fichier _/etc/nagios/objects/localhost.cfg_
Créer le fichier _/etc/nagios/conf.d/services.cfg_ dans lequel vous définirez les services suivants:
* cpu
* mem
* disk
* process_cron
* process_ssh
Chacun de ces services utilisera la commande nagios précédemment définie et sera associé au group my_machines.
### Variables
Il est possible d'utiliser des variables dans la définition d'une commande, cela évite de dupliquer du code.
Notamment, l'adresse de la machine cible est stockée dans la variable $HOSTADDRESS$
On peut également passer des arguments aux commandes. Ceux-ci sont récupérés dans les variables $ARG1$, $ARG2, etc...
On peut utiliser ce mécanisme pour passer les seuils d'alerte, plutôt que de les définir en dur dans la commande:
_ce service appel la commande check_local_user avec les paramètres 20 et 50_
```
define service {
use local-service
host_name localhost
service_description Current Users
check_command check_local_users!20!50
}
```
_et voila comment la commande correspondante récupére et utilise ces arguments:_
```
define command {
command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}
```
### Validation
À l'issue de toutes ces opérations, après avoir redémarré nagios, vous devriez obtenir quelque chose qui ressemble à ça.
Ce n'est pas grave s'il y a des éléments en rouge car en dehors des clous.
![screenshotnagios|60%](résultat.png)