Cacti est un outil de surveillance de réseau gratuit, open source et basé sur le Web écrit en PHP. Il s'agit d'une application frontale pour RRDtool. Il utilise le protocole SNMP pour surveiller l'utilisation de la bande passante et le trafic réseau d'un routeur ou d'un commutateur. Il affiche la charge du processeur et l'utilisation de la bande passante du réseau sous forme de graphique et les remplit avec des données dans une base de données MySQL.
Dans ce tutoriel, nous allons vous montrer comment installer l'outil de surveillance Cacti sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, il est conseillé de mettre à jour tous les packages système vers la dernière version. Vous pouvez les mettre à jour avec la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, installez les autres dépendances requises en exécutant la commande suivante :
apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y
Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.
Installer le serveur LAMP
Ensuite, vous devrez installer le serveur Web Apache, MariaDB, PHP et les autres extensions PHP requises sur votre serveur. Vous pouvez tous les installer en exécutant la commande suivante :
apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y
Après avoir installé tous les packages, modifiez le fichier php.ini et apportez quelques modifications :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier, puis modifiez un autre fichier php.ini et apportez quelques modifications :
nano /etc/php/7.4/cli/php.ini
Modifiez les lignes suivantes :
memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service Apache pour appliquer les modifications :
systemctl restart apache2
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer le serveur MariaDB
Cacti utilise MariaDB comme backend de base de données. Vous devrez donc créer une base de données et un utilisateur pour Cacti.
Tout d'abord, modifiez le fichier de configuration par défaut de MariaDB et modifiez certains paramètres :
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ajoutez/Modifiez les lignes suivantes dans la section [mysqld] :
collation-server = utf8mb4_unicode_ci max_heap_table_size = 128M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 512M innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000
Enregistrez et fermez le fichier puis redémarrez le service MariaDB pour appliquer les modifications :
systemctl redémarre mariadb
Ensuite, connectez-vous au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur pour Cacti avec la commande suivante :
MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Ensuite, vous devrez importer les données de fuseau horaire dans la base de données MySQL. Vous pouvez l'importer avec la commande suivante :
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Ensuite, connectez-vous au shell MariaDB et accordez les privilèges requis sur le fuseau horaire MySQL avec la commande suivante :
mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer et configurer Cactus
Tout d'abord, vous devrez télécharger la dernière version de Cacti à partir de son site officiel. Vous pouvez le télécharger avec la commande suivante :
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -zxvf cacti-latest.tar.gz
Ensuite, déplacez le répertoire extrait vers le répertoire racine d'Apache avec la commande suivante :
mv cacti-1* /var/www/html/cacti
Ensuite, importez la base de données dans cactidb avec la commande suivante :
mysql cactidb < /var/www/html/cacti/cacti.sql
Ensuite, éditez le fichier Cacti config.php et définissez les paramètres de votre base de données :
nano /var/www/html/cacti/include/config.php
Modifiez les lignes suivantes :
$database_type = 'mysql'; $database_default = 'cactidb'; $database_hostname = 'localhost'; $database_username = 'cactiuser'; $database_password = 'password'; $database_port = '3306';
Enregistrez et fermez le fichier, puis créez un fichier journal pour Cacti.
touch /var/www/html/cacti/log/cacti.log
Ensuite, définissez la propriété et l'autorisation du répertoire cacti avec la commande suivante :
chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/
Ensuite, créez un nouveau fichier de travail Cacti cron avec la commande suivante :
nano /etc/cron.d/cacti
Ajoutez la ligne suivante :
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
Enregistrez et fermez le fichier lorsque vous avez terminé.
À ce stade, Cacti est installé et configuré. Vous pouvez maintenant passer à l'étape suivante.
Configurer Apache pour Cacti
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour Cacti. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/cacti.conf
Ajoutez les lignes suivantes :
Alias /cacti /var/www/html/cacti <Directory /var/www/html/cacti> Options +FollowSymLinks AllowOverride None <IfVersion >= 2.3> Require all granted </IfVersion> <IfVersion < 2.3> Order Allow,Deny Allow from all </IfVersion> AddType application/x-httpd-php .php <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # this setting is necessary for some locales php_value mbstring.func_overload 0 php_value include_path . </IfModule> DirectoryIndex index.php </Directory>
Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel avec la commande suivante :
a2ensite cacti
Ensuite, redémarrez le service Apache pour appliquer les modifications de configuration :
systemctl restart apache2
Vous pouvez également vérifier l'état du service Apache avec la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-12-02 03:11:25 UTC; 9s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 15445 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 15459 (apache2) Tasks: 6 (limit: 4691) Memory: 13.2M CGroup: /system.slice/apache2.service ??15459 /usr/sbin/apache2 -k start ??15460 /usr/sbin/apache2 -k start ??15461 /usr/sbin/apache2 -k start ??15462 /usr/sbin/apache2 -k start ??15463 /usr/sbin/apache2 -k start ??15464 /usr/sbin/apache2 -k start Dec 02 03:11:25 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web de Cacti
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Cacti en utilisant l'URL http://your-server-ip/cacti . Vous serez redirigé vers la page de connexion Cacti :
Indiquez le nom d'utilisateur et le mot de passe de l'administrateur par défaut en tant qu'administrateur et cliquez sur Connexion bouton. Vous devriez voir l'écran de réinitialisation du mot de passe :
Modifiez votre mot de passe par défaut et cliquez sur Enregistrer bouton. Vous devriez voir la page du contrat de licence :
Acceptez l'accord et cliquez sur Commencer bouton. Vous devriez voir l'écran de vérification de pré-installation :
Cliquez sur Suivant bouton. Vous devriez voir l'écran Type d'installation :
Sélectionnez le type d'installation souhaité et cliquez sur Suivant bouton. Vous devriez voir l'écran de vérification des autorisations du répertoire :
Cliquez sur Suivant bouton. Vous devriez voir l'écran de vérification des emplacements binaires et des versions :
Cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :
Cochez la case "J'ai lu cette déclaration" et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :
Sélectionnez les options souhaitées et cliquez sur Suivant bouton. Vous devriez voir l'écran de configuration du modèle :
Cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :
Cliquez sur Suivant bouton. Vous devriez voir l'écran Confirmer l'installation :
Cochez la case "Confirmer l'installation " et cliquez sur Installer bouton. Une fois l'installation terminée, vous devriez voir l'écran suivant :
Cliquez sur Obtenir Démarré bouton. Vous devriez voir le tableau de bord Cacti dans l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès l'outil de surveillance Cacti sur le serveur Ubuntu 20.04. Vous pouvez maintenant ajouter des périphériques réseau à partir du tableau de bord Cacti et commencer à les surveiller à partir du navigateur Web. N'hésitez pas à me demander si vous avez des questions.