Recherche de site Web

Comment installer Cacti avec Cacti-Spine dans Debian et Ubuntu


Dans ce didacticiel, nous apprendrons comment installer et configurer l'outil de surveillance réseau Cacti dans la dernière version de Debian et Ubuntu 16.04 LTS. Cacti sera construit et installé à partir des fichiers sources au cours de ce guide.

Cacti est un outil de surveillance open source créé pour surveiller les réseaux, en particulier les périphériques réseau, tels que les commutateurs, les routeurs et les serveurs via le protocole SNMP. Cacti interagit avec les utilisateurs finaux et peut être administré via une interface d'outil Web.

Exigences

  1. Pile LAMP installée dans Debian 9
  2. Pile LAMP installée dans Ubuntu 16.04 LTS

Étape 1 : Installer et configurer les prérequis pour Cacti

1. Dans Debian 9, ouvrez le fichier de liste des sources pour le modifier et ajoutez les dépôts contrib et non libres à le fichier en modifiant les lignes suivantes :

nano /etc/apt/sources.list

Ajoutez les lignes suivantes au fichier sources.list.

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. Ensuite, assurez-vous de mettre à jour le système en exécutant la commande ci-dessous.

apt update
apt upgrade

3. Dans votre pile LAMP, assurez-vous que les extensions PHP suivantes sont présentes dans le système.

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. Ensuite, modifiez le fichier de configuration PHP et modifiez le paramètre de fuseau horaire pour qu'il corresponde à l'emplacement physique de votre serveur, en exécutant la commande ci-dessous.

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. Ensuite, connectez-vous à la base de données MariaDB ou MySQL à partir de l'installation de votre pile LAMP et créez une base de données pour installer Cacti . en exécutant les commandes suivantes.

Remplacez le nom, l'utilisateur et le mot de passe de la base de données cactus pour qu'ils correspondent à vos propres configurations et choisissez un mot de passe fort pour la base de données cactus.

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. Émettez également les commandes ci-dessous pour accorder aux utilisateurs de cactus les autorisations de sélection sur le paramètre MySQL data.timezone en exécutant les commandes ci-dessous.

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. Ensuite, ouvrez le fichier de configuration du serveur MySQL et ajoutez les lignes suivantes à la fin du fichier.

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

Ajoutez les lignes suivantes à la fin du fichier 50-server.cnf ou mysqld.cnf.

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

Pour la base de données MariaDB, ajoutez également la ligne suivante à la fin du fichier 50-server.cnf :

innodb_additional_mem_pool_size	= 80M

8. Enfin, redémarrez les services MySQL et Apache pour appliquer tous les paramètres et vérifier l'état des deux services en exécutant les commandes suivantes.

systemctl restart mysql apache2
systemctl status mysql apache2

Étape 2 : Téléchargez et préparez l'installation de Cacti

9. Commencez à installer Cacti à partir des sources en téléchargeant et en extrayant la dernière version de l'archive Cacti et copiez tous les fichiers d'extraction à la racine du document Web Apache, en exécutant les commandes suivantes.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. Supprimez le fichier index.html du répertoire /var/www/html, créez le fichier journal Cacti et accordez à Apache des autorisations d'écriture sur le Web. chemin racine.

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. Ensuite, éditez le fichier de configuration de cactus et modifiez les lignes suivantes comme indiqué dans l'exemple ci-dessous.

nano /var/www/html/include/config.php

Exemple de fichier Cacti config.php. Remplacez le nom, l'utilisateur et le mot de passe de la base de données Cactus en conséquence.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. Ensuite, remplissez la base de données cactus avec le script cacti.sql du répertoire /var/www/html/ en exécutant la commande ci-dessous.

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. Installez maintenant quelques ressources supplémentaires, car le moteur Cacti collecte les données des appareils via le protocole SNMP et affiche des graphiques à l'aide de RRDtool. Installez-les tous en exécutant la commande suivante.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Vérifiez si le service SNMP est opérationnel en redémarrant le démon snmpd en exécutant la commande ci-dessous. Vérifiez également l'état du démon snmpd et ses ports ouverts.

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

Étape 3 : Téléchargez et installez Cacti-Spine

15. Cacti-Spine est un remplacement écrit en C du sondeur cmd.php par défaut. Cacti-Spine offre un temps d'exécution plus rapide. Pour compiler le pooler Cacti-Spine à partir des sources, installez les dépendances requises ci-dessous sur votre système.

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. Après avoir installé les dépendances ci-dessus, téléchargez la dernière version de l'archive Cacti-Spine, extrayez l'archive tar et compilez cactus-spine en exécutant la série de commandes suivante .

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. Compilez et installez Cacti-Spine à partir des sources en exécutant les commandes suivantes.

./bootstrap 
./configure 
make
make install

18. Ensuite, assurez-vous que le binaire spine appartient au compte root et définissez le bit suid pour l'utilitaire spine en exécutant les commandes suivantes.

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. Maintenant, modifiez le fichier de configuration de Cacti Spine et ajoutez le nom, l'utilisateur et le mot de passe de la base de données Cactus au fichier de configuration Spine, comme illustré dans l'exemple ci-dessous.

nano /usr/local/spine/etc/spine.conf

Ajoutez la configuration suivante au fichier spine.conf.

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

Étape 4 : Configuration de l'assistant d'installation de Cactus

20. Pour installer Cacti, ouvrez un navigateur et accédez à l'adresse IP ou au nom de domaine de votre système à l'URL suivante.

http://your_IP/install

Tout d'abord, cochez Accepter le contrat de licence et cliquez sur le bouton Suivant pour continuer.

21. Ensuite, vérifiez la configuration système requise et cliquez sur le bouton Suivant pour continuer.

22. Dans la fenêtre suivante, sélectionnez Nouveau serveur principal et cliquez sur le bouton Suivant pour continuer.

23. Ensuite, vérifiez les emplacements et versions binaires critiques et remplacez le chemin binaire Spine par /usr/local/spine/bin/spine. Lorsque vous avez terminé, appuyez sur le bouton Suivant pour continuer.

24. Ensuite, vérifiez si toutes les autorisations du répertoire du serveur Web sont en place (les autorisations d'écriture sont définies) et cliquez sur le bouton Suivant pour continuer.

25. À l'étape suivante, vérifiez tous les modèles et cliquez sur le bouton Terminer afin de terminer le processus d'installation.

26. Connectez-vous à l'interface Web de Cacti avec les informations d'identification par défaut indiquées ci-dessous et modifiez le mot de passe administrateur, comme illustré dans les captures d'écran suivantes.

Username: admin
Password: admin

27. Ensuite, allez dans Console -> Configuration -> Paramètres -> Poller et modifiez le Type d'interrogation de cmd.php< au binaire Spine et faites défiler jusqu'au bouton Enregistrer pour enregistrer la configuration.

28. Ensuite, allez dans Console -> Configuration -> Paramètres -> Chemins et ajoutez le chemin suivant au fichier de configuration Cacti-Spine :

/usr/local/spine/etc/spine.conf 

Appuyez sur le bouton Enregistrer pour appliquer la configuration.

29. La configuration finale qui permet à Cacti poller de commencer à collecter des données à partir des appareils surveillés consiste à ajouter une nouvelle tâche crontab afin d'interroger chaque appareil via SNMP toutes les 5 minutes.

La tâche crontab doit appartenir au compte www-data.

crontab -u www-data -e

Ajouter une entrée de fichier Cron :

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Attendez quelques minutes que Cacti collecte les données et accédez à Graphiques -> Arbre par défaut et vous devriez voir les graphiques collectés pour vos appareils surveillés.

C'est tout! Vous avez installé et configuré avec succès Cacti avec le pooler Cacti-Spine, à partir des sources, dans la dernière version de Debian 9 et Ubuntu 16.04. Serveur LTS.