Observium est un outil de monitoring d’équipements réseaux que l’on utilise chez Eurofiber France pour obtenir les métriques des différents équipements que l’on a en place. Il en existe deux : l’Observium du backbone, et l’Observium des CPE (Customer Premised Equipment).

Chez les clients nous pouvons installer deux types de CPE : des switchs (CPS) et des routeurs (CPR)

Compétences mise en oeuvre

Voir Annexe [annexe:observium]{reference-type=“ref” reference=“annexe:observium”}.

Schéma de fonctionnement d’Observium

flowchart TD devices["Sources de données\n(Équipements réseau)"] observium["Observium"] alerts["Alertes et notifications"] ui["Interface utilisateur"] devices -->|Collecte des données| observium observium -->|Stockage des données| alerts alerts -->|Notifications| ui observium -->|Analyse des données| ui

Installation et configuration

Que ce soit l’Observium du backbone ou des CPE, l’installation d’Observium reste la même.

Ressources et création de la VM

Se référer à la Procédure de création de VM pour la création de la VM.

Voici les inforamtions nécessaires à avoir :

  • 8Go de RAM
  • 4vCPU
  • 40Go de stockage
  • Nom des VM : business-monitoring-03 et 04

Installer les dépendances requises

sudo apt install -y apache2 mariadb-server mariadb-client php php-cli php-mysql php-pear php-xml php-mbstring php-gd snmp fping rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick unzip

Configurer la base de données

sudo mysql_secure_installation

Créer une base de données et un utilisateur pour Observium.

sudo mysql -u root -p

Dans le shell MySQL :

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'votremotdepasse'; 
FLUSH PRIVILEGES;
EXIT;

Veiller à bien changer la mention votremotdepasse par quelque chose de compliqué et aléatoire.

Installer Observium

cd /opt
sudo wget http://www.observium.org/observium-community-latest.tar.gz
sudo tar zxvf observium-community-latest.tar.gz
sudo mv observium /opt/observium

Configurer Observium

Changer les permissions pour donner l’accès à Apache et faire la configuration de base.

sudo chown -R www-data:www-data /opt/observium
sudo cp /opt/observium/config.php.default /opt/observium/config.php
sudo vim /opt/observium/config.php

Ajouter les paramètres de connexion à la base de données :

$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'votre_mot_de_passe';
$config['db_name'] = 'observium';

Créer les répertoires RRD et configurer les permissions

RRD (Round-Robin Database) est une base de données optimisée pour stocker des séries temporelles et des données de performance en utilisant un modèle de stockage circulaire, ce qui permet de maintenir une taille fixe tout en conservant des résumés agrégés des données. Elle est couramment utilisée dans les systèmes de surveillance pour gérer efficacement les données de mesure en continu.

sudo mkdir -p /opt/observium/rrd
sudo chown -R www-data:www-data /opt/observium/rrd

Initialiser la base de données Observium

cd /opt/observium
sudo php includes/sql-schema/update.php

Configurer Apache

Créer un fichier de configuration Apache pour Observium.

sudo vim /etc/apache2/sites-available/observium.ef-fr.net.conf

Ajouter le contenu du fichier ./observium/observium.ef-fr.net.conf du dépôt Git. Remarque : Cette configuration est aussi valable pour observium-cpe.ef-fr.net.

Activer le site Observium et les modules Apache requis.

sudo a2ensite observium.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Configurer le mot de passe de la base de données.

sudo mysql -u root -p

Dans le shell MySQL :

ALTER USER 'observium'@'localhost' IDENTIFIED BY 'observiumpassword';
FLUSH PRIVILEGES;
EXIT;

Veiller à bien changer la mention observiumpassword par quelque chose de compliqué et aléatoire.

Mettre à jour la configuration d’Observium

sudo nano /opt/observium/config.php

Mettre à jour les paramètres de connexion à la base de données :

$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'observium_password';
$config['db_name'] = 'observium';

Veiller à bien changer la mention observiumpassword par quelque chose de compliqué et aléatoire.

Redémarrer Apache

sudo systemctl restart apache2

Finaliser l’installation

Créer un utilisateur administrateur pour Observium

sudo /opt/observium/adduser.php admin votremotdepasse 10

Configurer la planification de tâches pour Observium

sudo cp /opt/observium/observium.cron /etc/cron.d/observium

Configuration des devices pour le SNMP

Pour voir la configuration des devices (Cisco, Huawei et RAD). Aller sur le dépôt Git sous ./observium/MARQUE.txt. Remplacer MARQUE par Cisco, Huawei ou RAD en minuscule.

Cisco IOS XR (Cisco NCS-5501)

Les IOS XR font partie du backbone d’Eurofiber, donc ils sont sur : observium.ef-fr.net

J’ai configuré uniquement les équipements Cisco du backbone, il y a aussi du JunOS et d’autres types d’équipements que je n’ai pas eu à configurer (car c’était déjà fait).

Huawei (Huawei AR651)

Les équipements Huawei font partie des CPE (Customer Premised Equipment), ce sont principalement des routeurs. Nous les catégorisont en CPR (Customer Premised Router).

Note personnelle : Les Huawei sont extrêmement pénibles. Leur interface en CLI est affreuse à utiliser ! Ça fonctionne mais c’est ultra fastidieux à configurer.

RAD (RAD ETX-203AX)

Les RAD sont aussi des CPE, ce sont plus précisemment des CPS (Customer Premised Switch). En terme commun on appel ça la box !

Ajouter des devices à Observium

Pour ajouter des équipements à Observium, on peut utiliser le fichier php add_device.php ou par l’interface graphique.

L’avantage d’utiliser le fichier php c’est qu’on peut créer un fichier PHP qui vient interagir avec le fichier add_device.php.

J’ai créé un fichier php qui vient réutiliser le fichier add_device.php. Celui-ci est disponible dans le dépôt Git. ./observium/netbox.php