Skip to content

Labo 6 Monitoring

Kevin Keurvels edited this page Jan 8, 2023 · 19 revisions

Prérequis

Pour faire ce labo, il faut avoir une VM Ubuntu 20.04 lts server.

Informations générales

Avant de commencer, petit note par rapport à l'exécution des commandes.

  • Nous supposons que l'utilisateur est root quand celui-ci n'est pas spécifié. Pour changer d'utilisateur vous pouvez :
  1. Utiliser la commande sudo avant chaque commande si votre utilisateur actuel fait partie du groupe wheel et que la commande sudo est installée.
  2. Faire la commande su pour se connecter en tant que root.
su
  • Nous supposons que l'utilisateur utilise ubuntu 20.04 lts server, ceci peut-être vérifié avec la commande :
uname -a
  • Nous supposons que l'utilisateur a son cache apt à jour grâce à la commande :
apt update

Installation des packages nécessaires

Nous allons tout d'abord installer SNMP

apt install snmpd snmp libsnmp-dev

Installer les librairies pour bien faire fonctionner SNMP

apt install snmp-mibs-downloader

Visualiser des informations grâce à SNMP

snmpwalk ne diffère pas beaucoup de snmpget pour ce qui est de l’interrogation des données. La différence réside principalement dans l’exécution des commandes : alors que snmpget renvoie uniquement une valeur concernant l’Obect-ID demandé ou affiche un message d’erreur lorsqu’aucun objet n’est disponible pour le numéro d’identification, snmpwalk passe également par l’ensemble des sous-nœuds. Ceci permet notamment d’afficher une liste détaillée des informations système pertinentes lorsque le numéro d’identification est connu de la base MIB correspondante.
Exemples:

  • Avec snmpwalk
    image
  • Avec snmpget
    image

Voici quelques commandes pour avoir des informations précises sur l’hôte 10.0.0.201:

  • Type de device
snmpget -v2c -c public -O fT 10.0.0.201 sysDescr.0
  • Modèle
snmpget -v2c -c public -O fT 10.0.0.201 sysDescr.0
  • Personne de contact
snmpget -v2c -c public -O fT 10.0.0.201 sysContact.0
  • Emplacement
snmpget -v2c -c public -O fT 10.0.0.201 sysLocation.0
  • Nombre de PSU (Power Supply Unit)
snmpget -v2c -c public -O fT 10.0.0.201 sysContact.0

LibreNMS

useradd librenms -d /opt/librenms -M -r -s "$bash"

image

nano /etc/php/8.1/fpm/php.ini
nano /etc/php/8.1/cli/php.ini

image
image
image
image
image
image
PHP 8.2 not supported !!!

Nous avons donc due installer php 8.1. Pour ce faire nous avons installer tout les paquets requis de php mais en spécifiant la version 8.1.

apt install php8.1
apt install php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl php8.1-gd php8.1-cli php8.1-curl php8.1-fpm php8.1-gd php8.1-gmp php8.1-json php8.1-mbstring php8.1-mysql php8.1-snmp php8.1-xml php8.1-zip php8.1-cgi php8.1-fpm php8.1-phpdbg libapache2-mod-php8.1 libphp8.1-embed

image
sudo a2enmod php8.1
sudo update-alternatives --set php /usr/bin/php8.1
https://fedingo.com/how-to-change-php-version-in-ubuntu/

Installation avec docker

Pendant le blocus, notre serveur ubuntu à rencontrer des problèmes critique qui a rendu des paquets comme nginx et php inutilisable.

Nous devions de ce fait réinstaller librenms mais ne voulions plus retomber dans l'enfer des dépendences, c'est pourquoi nous avons opter pour la méthode docker.

Capture d’écran du 2023-01-07 12-50-31 Capture d’écran du 2023-01-07 12-55-17 Capture d’écran du 2023-01-07 13-37-51 Capture d’écran du 2023-01-07 13-01-04 Capture d’écran du 2023-01-07 13-31-54 Capture d’écran du 2023-01-07 13-32-57 Capture d’écran du 2023-01-07 13-33-27 Capture d’écran du 2023-01-07 13-33-49 Capture d’écran du 2023-01-07 13-23-15 Capture d’écran du 2023-01-07 13-24-31

Interface web LibreNMS

image
image
image
image
image
image
image
image
image
image
image

image
image

Problème image
image

image
Pour les alertes

Mise en place d'une alerte vérifiant la mémoire vive

On nous demande de d'envoyer une alerte si on vérifie que la mémoire vive dépasse 60% de la mémoire vive totale, et ce pendant au moins une minute. Nous utilisons mempools.mempool_perc pour mesurer le pourcentage de mémoire utilisée. On mets "1m" dans le Delay pour vérifier que cette règle reste vraie pendant pendant une minute. "Interval" permets de mettre en place un délai entre les alertes.

Capture d’écran 2022-12-17 à 18 01 55

Clone this wiki locally