-
Superviseurs
Bienvenue sur la page consacrée à la culture informatique
Vous y trouverez :Nagios-XI :
- Faire la configuration réseau sous CentOS 9 (Nagios-XI)
- Configuration de base de Nagios-XI et monitoring de serveurs Debian 12
- Réaliser un test de stress du CPU et de la RAM
- S'assurer qu'un site internet est toujours fonctionnel (que la page index est bien présente)
- Remonter les logs d'un serveur Nagios-XI (CentOs 9) sur un serveur Rsyslog
- S'assurer que le serveur MariaDB est bien démarré, avec Nagios-XI
- Installer l'agent NRPE sur Debian 12 (pour monitorer les utilisateurs via Nagios-XI)
- Installer Nagios XI sur Debian 11.7Rsyslog :
- Installer un serveur de logs (Rsyslog) et configurer un client debian 12
- Installer un serveur de logs (Rsyslog) sur FreeBSD 13.2 et configurer un client debian 12
- Remonter les logs d'une machine Windows 11 grâce à Rsyslog Windows Agent -
Par majekla le 26 Juillet 2023 à 18:30
Nagios XI ne s'installe pas encore sur Debian 12.
On prend donc une VM un peu plus vieille (genre la 11.7).. et on s'assure que l'espace de stockage est suffisamment grand (au moins 10Go)On se loggue en root
su -
On télécharge le script d'installation
wget https://assets.nagios.com/downloads/nagiosxi/install.sh -P /tmp
cd /tmp
On autorise l'exécution
chmod 740 install.sh
Et on y va !
./install.sh
votre commentaire -
Par majekla le 22 Juillet 2023 à 19:33
Ne pas utiliser le paquet disponible sur le dépôt Debian... il vous faudrait régler plusieurs problèmes de configuration. Il est préférrable d'utiliser l'installeur proposé par Nagios.
L'agent NRPE permet notamment de compter le nombre d'utilisateurs connectés sur un serveur Debian distant.
Pour installer l'agent :
Passez en rootsu -
1) Télécharger l'agent sur le site officiel de Nagios
wget https://assets.nagios.com/downloads/nagiosxi/agents/linux-nrpe-agent.tar.gz -P /tmp
cd /tmp
tar -xvzf linux-nrpe-agent.tar.gz
cd linux-nrpe-agent
2) Installer l'agent
./fullinstall
Redémarrez !!!
reboot
3) Configurer l'agent
Au cours de l'installation, il faudra indiquer l'adresse IP du serveur Nagios XI
votre commentaire -
Par majekla le 20 Juillet 2023 à 10:19
Comment déployer une sonde afin que Nagios-XI puisse vous avertir lorsqu'un serveur MariaDB s'arrête ?
Sur le serveur MariaDB (une Debian 12)
Passez en rootsu -
1) Créer un utilisateur pour Nagios-XI (nommé "nagios") avec les droits sur la base wordpressdb.
10.10.11.2 est l'adresse de votre serveur MariaDB
10.10.10.200 étant l'adresse IP du serveur Nagios-XI
10.10.10.10 étant l'adresse IP du client accédant à l'interface web de Nagios-XI (pour faire les tests de la commande au moment de la création de votre sonde)mysql -uroot -e"GRANT ALL ON wordpressdb.* TO 'nagios'@'10.10.10.200' IDENTIFIED BY 'Ertyuiop,'"
mysql -uroot -e"GRANT ALL ON wordpressdb.* TO 'nagios'@'10.10.10.10' IDENTIFIED BY 'Ertyuiop,'"
2) Autoriser les connexions au serveur à distance depuis le serveur MariaDB
nano /etc/mysql/mariadb.conf.d/50-server.cnf
# Changer la bind-address comme ci-dessous :
bind-address = 10.10.11.23) redémarrez Mariadb
systemctl restart mysql
Sur Nagios-XI
(via l'interface web d'un client)
Allez dans le CCM (Onglet Configure), puis rubrique Services dans le menu de gauche, Ajouter.
Choissisez la commande check_xi_mysql_health
$ARG1$ :--hostname 10.10.11.2 --username nagios --password Ertyuiop, --database wordpressdb --mode connection-time
N'oubliez pas d'ajouter l'hôte MariaDB dans "Manage Host" et de régler les délais d'alerte.
votre commentaire -
Par majekla le 20 Juillet 2023 à 09:03
Le but est de renvoyer les logs émis par le serveur Nagios-XI vers un serveur Rsyslog Debian 12
Sur le Nagios-XI
Passez en root
su -
1) Changer le hostname
(mon serveur s'appelle "localhost" pour l'instant, je vais le changer pour "NAGIOS-XI")sysctl kernel.hostname=NAGIOS-XI.localdomain
hostnamectl set-hostname NAGIOS-XI
reboot
2) Installer Rsyslog et le configurer afin qu'il renvoie les logs
dnf install rsyslog
systemctl enable rsyslog
- Faire la configuration de remontée :
(faîtes des copier/coller)echo '#############################################' >> /etc/rsyslog.conf
echo '# CONFIGURATION CLIENT' >> /etc/rsyslog.conf
echo 'action(type="omfwd"' >> /etc/rsyslog.conf
echo 'queue.filename="fwdRule1"' >> /etc/rsyslog.conf
echo 'queue.maxdiskspace="1g"' >> /etc/rsyslog.conf
echo 'queue.saveonshutdown="on"' >> /etc/rsyslog.conf
echo 'queue.type="LinkedList"' >> /etc/rsyslog.conf
echo 'action.resumeRetryCount="-1"' >> /etc/rsyslog.conf
echo 'Target="10.10.10.210" Port="514" Protocol="udp")' >> /etc/rsyslog.conf
Bien sûr, vous veillerez à modifier l'adresse IP du serveur Rsyslog, le port et le protocole indiqués dans cette dernière ligne, au besoin !
votre commentaire -
Par majekla le 19 Juillet 2023 à 21:11
On peut utiliser la commande
check_http -H IP-DU-SERVEUR-WEB
qui vous alarmera de toute façon lorsque la page index.truc ne sera plus là... ou cibler la page index :
check_http -H IP-DU-SERVEUR-WEB -u https://IP-DU-SERVEUR-WEB/index.truc
Passer par le CCM dans Nagios-XI, Services, Ajoutez-en un, sélectionnez soit la commande :check_xi_service_http
ou directement
check_http
.. et ajouter les arguments au besoin (comme mentionnés ci-dessus)
Ne pas oublier de préciser à quelle échéance la vérification doit avoir lieu et le niveau d'alerte en cas de soucis.
votre commentaire -
Par majekla le 19 Juillet 2023 à 16:19
Les articles précédents montrent comment faire remonter les logs d'une VM cliente Debian vers un serveur Rsyslog.
Voyons à présent comment faire remonter les logs une machine client windows 11 vers un serveur Rsyslog
1) Télécharger l'agent Windows
https://www.rsyslog.com/windows-agent/windows-agent-download/2) Installer le paquet téléchargé (rsyslogwa.exe)
Laissez tous les paramètres par défaut.3) Lancer l'agent de configuration (Rsyslog Windows Agent Configuration)
Et procédez a minima comme sur la capture d'écran ci-dessous !
(déroulez les petits + depuis Rule Sets, jusqu'à Rsyslog, puis indiquez le protocole voulu - nous avions utilisé UDP:514, indiquez l'IP du serveur Rsyslog, cliquez sur Confirm, Save et Démarrez !)Les logs de la machine windows remonteront alors sur votre serveur Rsyslog.
votre commentaire -
Par majekla le 19 Juillet 2023 à 14:49
Un serveur de logs va centraliser les logs de toutes les machines du réseau.
Il va réceptionner les logs envoyés par toutes les machines.
Nous allons mettre en place un tel serveur ainsi que montrer la configuration de base d'un client (qui enverra ses logs au serveur)
Je ne détaille pas ici la configuration réseau des machines, elle est déjà faîte.
Voir les articles consacrés en cas de besoin.
Nous avons 2 zones réseau :
- un LAN (10.10.10.0/24)
* : 10.10.10.1 : passerelle
* : 10.10.10.10 : un client windows 11 pro
* : 10.10.10.200 : un serveur de supervision Nagios-XI
* : 10.10.10.210 : un serveur Linux Debian 12 qui sera notre serveur de logs Rsyslog
- une DMZ (10.10.11.0/30)
* : 10.10.11.1 : passerelle
* : 10.10.11.2 : un serveur web sous debian avec Wordpress installé dessusConfiguration du serveur Rsyslog
1) Changer le hostname (le hostname par défaut de ma VM est "debian", je vais le changer pour "RSYSLOG")
- Passez en root :su -
- Changez le hostname
sed -i 's/debian/RSYSLOG/' /etc/hosts
sed -i 's/debian/RSYSLOG/' /etc/hostname
- redémarrez
reboot
2) Installez et configurez rsyslog (toujours en root)
apt update
apt install rsyslog net-tools -y
systemctl enable rsyslog
- Configurez rsyslog afin que les flux passent uniquement en UDP, sur le port par défaut (514) et qu'il n'autorise que les machines sur nos réseaux à lui envoyer des logs.
(faîtes un copier/coller des commandes suivantes)echo '#############################################' >> /etc/rsyslog.conf
echo '# CONFIGURATION SERVEUR' >> /etc/rsyslog.conf
echo 'module(load="imudp")' >> /etc/rsyslog.conf
echo 'input(type="imudp" port="514")' >> /etc/rsyslog.conf
echo '$AllowedSender UDP, 127.0.0.1/24, 10.10.10.0/24, 10.10.11.0/30' >> /etc/rsyslog.conf
- Nous allons à présent faire en sorte que les logs de chaque client arrivent dans un dossier nominatif et distinct :
(sous la forme /var/log/rsyslogclients/HOSTNAMECLIENT-IPCLIENT/rsyslog.log)echo '$template DynamicFile,"/var/log/rsyslogclients/%source%-%fromhost-ip%/rsyslog.log"' >> /etc/rsyslog.conf
echo '*.* ?DynamicFile' >> /etc/rsyslog.conf
- Démarrez le service
systemctl start rsyslog
- Vérifiez si tout s'est bien passé
systemctl status rsyslog
netstat -peanut | grep udp
(le service doit être lancé et le port 514 apparaître dans netstat)
Configuration d'un client (Debian WORDPRESS)
1) Changer le hostname (le hostname par défaut de ma VM est "debian", je vais le changer pour "WORDPRESS")
- Passez en root :su -
- Changez le hostname
sed -i 's/debian/WORDPRESS/' /etc/hosts
sed -i 's/debian/WORDPRESS/' /etc/hostname
- redémarrez
reboot
2) Installez et configurez rsyslog (toujours en root)
apt update
apt install rsyslog -y
systemctl enable rsyslog
- Configurer le rôle de client (afin que notre WORDPRESS renvoie ses logs à RSYSLOG)
(faîtes un copier/coller des commandes suivantes)echo '#############################################' >> /etc/rsyslog.conf
echo '# CONFIGURATION CLIENT' >> /etc/rsyslog.conf
echo 'auth,authpriv.* @10.10.10.210' >> /etc/rsyslog.conf
- Démarrez le service
systemctl start rsyslog
Vous devriez voir les logs de votre client WORDPRESS remonter sur le serveur RSYSLOG, dans le dossier /var/log/rsyslogclients/
votre commentaire -
Par majekla le 17 Juillet 2023 à 17:30
Le TP est réalisé sur Hyper-V.
Il consiste à superviser plusieurs équipements au moyen de Nagios XI.1) Télécharger le support de stockage Nagio-xi pour Hyper-V sur le site nagios : https://www.nagios.com/downloads/nagios-xi/microsoft/
2) Créer un ordinateur virtuel sur Hyper-V (4096Mo de RAM, 1 CPU) et ajouter le support de stockage décompressé téléchargé précedemment
3) Lancer la VM Nagios-XI, faire la configuration réseau (si réseau interne) grâce à nmtui
4) Sur un poste client, dans le même réseau que le serveur Nagios-XI, accédez à son interface web via un navigateur : https://IP-NAGIOS5) Entrez les informations de base. Vous pouvez faire une demande pour tester toutes les fonctionnalités, cet essai est valide 1 mois. Vous obtenez un code d'accès par mail à entrer dans le champs réservé "Trial Key"
6) Entrez les informations concernant l'utilisateur administrateur de la console.
(je laisse par défaut pour cet essai)
L'initialisation se fait, et la console vous propose à présent de vous identifier.7) Acceptez les conditions générales
Vous voici à présent sur le Dashboard.
----------------------------------------------------------------------------
Configurons à présent le monitoring pour un serveur web sous Debian 12, placé en DMZ et ayant l'IP 10.10.11.2/30.
Le serveur Nagios est sur le LAN et a l'IP 10.10.10.200/24
Les règles de pare-feux permettent la communication entre LAN et DMZ.1) Sur Debian :
- Installer snmpd et snmpsu -
apt install snmpd snmp libsnmp-dev -y
systemctl enable snmpd
- Configurer snmpd :
nano /etc/snmp/snmpd.conf
# Dans la SECTION : Agent Operating Mode, commentez la ligne agentaddress comme ci-dessous
# agentaddress 127.0.0.1,[::1]
# Ajoutez la ligne suivante :
agentaddress udp:161
# Dans la SECTION : Access Control Setup, remplacer comme suit :
rocommunity SeCuReMeDiA 10.10.10.200/32 # IP du serveur nagios- Démarrer snmpd :
systemctl restart snmpd
La configuration de l'agent SNMP est terminée
Il s'agît ici d'une configuration toute ouverte !
Pour aller plus loin, on pointe l'IP de l'interface voulue du serveur debian sur la ligne agentaddress (on laisse pas tout ouvert comme ici avec upd:161), on change la communauté et on pointe le serveur de supervision /32 !Pour tester :
- regarder les ports ouverts :su -
apt install net-tools
netstat -nlpu | grep 161
- Tester l'agent :
snmpwalk -v2c -c public localhost | head -5
2) Sur le dashboard de Nagios-XI, cliquer sur "Exécuter un assistant de configuration"
3) Choisissez le plugin de monitoring qui vous intéresse.. Nous allons rester sur "Linux SNMP" pour rester classique, mais il y a plusieurs possibilités (linode, agents nagios etc...)
4) Complétez les informations pour joindre votre serveur web :
(Dans la capture, je n'ai pas changé la communauté "public"... à vous de le faire et d'indiquer SeCuReMeDiA ou celle que vous aviez choisie)Je vous laisse le soin de continuer la configuration... de régler vos seuils d'alerte et critique... vous allez trouver facilement !
votre commentaire -
Par majekla le 17 Juillet 2023 à 10:59
Sous CentOS 9, la configuration réseau ne se fait plus dans /etc/sysconfig/network-scripts/ifcfg-....
Il faut utiliser leur API : nmtui
Donc, passez en root :su -
Repérez le nom de l'interface présente sur votre serveur
ip a
(sur Hyper-V, c'est eth0 logiquement)
Lancez l'API :
nmtui
Si votre interface eth0 existe, editez-là.. sinon, créez-la.
Vous allez sûrement vous y reprendre à 2 fois.. Ne tappez pas ENTRER n'importe où !!
On se déplace avec les flèches entre les différents champs.
votre commentaire
Suivre le flux RSS des articles de cette rubrique
Suivre le flux RSS des commentaires de cette rubrique