Cacti est un outil de surveillance de réseau basé sur le Web open source conçu comme l'application frontale pour le RRDtool (outil de base de données Round-Robin), il permet à un utilisateur d'interroger les services à un intervalle de temps et d'obtenir le format graphique.
Cacti est utilisé pour obtenir des données graphiques pour l'utilisation du processeur et de la bande passante du réseau, il surveille le trafic réseau en interrogeant un routeur ou un commutateur via SNMP.
Ici, nous allons voir comment installer Cacti sur CentOS 7 / RHEL 7.
Prérequis
Configurer le référentiel EPEL
Configurer le référentiel EPEL uniquement CentOS 7 / RHEL 7.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installer SNMP
Installez SNMP et RRDTool.
yum -y install net-snmp net-snmp-utils net-snmp-libs rrdtool
Installer PHP et les extensions PHP
La version PHP disponible dans le référentiel du système d'exploitation de base est déjà en fin de vie et pour l'installation de Cacti, vous devrez peut-être opter pour PHP v7.2+.
Nous allons donc utiliser le dépôt Remi pour installer PHP 7.x.
LIRE : Comment installer PHP 7.3/7.2 sur CentOS 7 / RHEL 7
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
PHP v7.3
yum install -y --enablerepo=remi-php73 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
PHP v7.2
yum install -y --enablerepo=remi-php723 php php-xml php-session php-sockets php-ldap php-gd php-gmp php-intl php-mbstring php-mysqlnd php-pdo php-process php-snmp
Installer MariaDB
Le package MariaDB (v5.4) disponible dans le référentiel du système d'exploitation de base ne répond pas aux exigences minimales de Cacti car Cacti nécessite MariaDB v5.6+ ou MariaDB v10+ pour l'installation. Alors, installez la dernière version de MariaDB disponible sur le site officiel de la communauté MariaDB.
LIRE : Comment installer MariaDB sur CentOS 7 / RHEL 7
Vous pouvez également installer MySQL 8 sur CentOS 7 / RHEL 7 en tant que base de données pour l'installation de Cacti### CentOS 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF ### RHEL 7 ### cat <<EOF>> /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/rhel7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
Installez le serveur MariaDB à l'aide de la commande suivante.
yum install -y MariaDB-server MariaDB-client
Réglage de la base de données
Cacti recommande de modifier les paramètres de MariaDB pour de meilleures performances. Modifiez le fichier de configuration MariaDB.
vi /etc/my.cnf.d/server.cnf
Ajoutez des variables dans la section [mysqld].
collation-server = utf8mb4_unicode_ci character-set-server=utf8mb4 max_heap_table_size = 64M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_flush_log_at_timeout = 3 innodb_buffer_pool_size = 1GB innodb_buffer_pool_instances = 10 # Based on what type for storage you use. The below values are for SSD drives. # Change it if Cacti reports issues during the installation innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000
Démarrer et activer les services
Démarrez les services suivants.
systemctl start httpd snmpd mariadb
Activez les services pour qu'ils démarrent automatiquement au démarrage du système.
systemctl enable httpd snmpd mariadb
Créer une base de données
Si vous configurez MySQL pour la première fois ; découvrez comment sécuriser MariaDB.
Créez une base de données pour l'installation de Cacti.
mysql -u root -p
Créez une base de données pour Cacti.
create database cacti;
Accordez l'autorisation à la base de données nouvellement créée.
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword'; flush privileges; exit
L'utilisateur de base de données nouvellement créé (cactiuser ) doit avoir accès à la table mysql.time_zone_name. Pour ce faire, importez d'abord mysql_test_data_timezone.sql dans la base de données mysql.
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Ensuite, connectez-vous à MySQL.
mysql -u root -p
Accordez l'autorisation à cactiuser.
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost; flush privileges; exit
Installer Cactus
Utilisez la commande yum sur CentOS / RHEL pour installer le package Cacti.
yum -y install cacti
Importez la base de données par défaut dans la base de données de cactus.
mysql cacti < /usr/share/doc/cacti-*/cacti.sql -u root -p
Modifiez le fichier de configuration pour spécifier le type de base de données, le nom, le nom d'hôte, l'utilisateur et le mot de passe.
vi /usr/share/cacti/include/config.php
Apportez les modifications en conséquence.
/* make sure these values reflect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipassword"; $database_port = "3306"; $database_ssl = false;
Modifiez le fichier crontab.
vi /etc/cron.d/cacti
Décommentez l'entrée suivante pour interroger toutes les cinq minutes.
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Définissez le fuseau horaire en modifiant le fichier /etc/php.ini.
vi /etc/php.ini
Mettez à jour le fuseau horaire.
date.timezone = US/Central memory_limit = 512M max_execution_time = 60
Modifiez le fichier de configuration Apache pour effectuer l'installation à distance.
vi /etc/httpd/conf.d/cacti.conf
Modifiez la première strophe du répertoire, à partir de Require host localhost.
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require host localhost </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory>
Exiger que tout soit accordé.
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> <IfModule mod_authz_core.c> # httpd 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # httpd 2.2 Order deny,allow Deny from all Allow from localhost </IfModule> </Directory>
Redémarrez les services.
systemctl restart httpd
Pare-feu
Configurez le pare-feu pour autoriser le service HTTP.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Définissez le contexte SELinux pour les journaux Cacti.
yum install -y policycoreutils-python semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/cacti(/.*)?" restorecon -Rv /var/log/cacti/Si vous ne parvenez toujours pas à faire fonctionner correctement Cacti, pensez à désactiver définitivement SELinux. Pour désactiver temporairement SELinux, exécutez la commande suivante dans le terminal.
setenforce 0
Configurer les cactus
Visitez l'URL suivante pour démarrer l'installation de cactus.
http://votre-adresse-ip/cactiConnectez-vous à Cacti pour configurer l'installation de Cacti.
Nom d'utilisateur : administrateur
Mot de passe : administrateur
Vous devez modifier le mot de passe de l'utilisateur administrateur de Cacti avant de configurer Cacti.
Acceptez le contrat de licence sur cette page, puis cliquez sur Suivant pour continuer.
Cacti effectue des vérifications de pré-installation pour l'installation de Cacti. Vous devez résoudre les problèmes si l'assistant d'installation signale.
Passez à l'étape suivante en cliquant sur le bouton Suivant situé en bas à droite de la page.
Sélectionnez Nouveau serveur primaire ou la nouvelle installation, puis cliquez sur Suivant.
Cette étape vérifie et signale les problèmes d'autorisation que vous pourriez rencontrer dans le répertoire d'installation de Cacti.
Il vous indiquera s'il manque un paquet, ce qui est obligatoire pour les cactus.
Cliquez sur Suivant sur la page de profil par défaut car nous avons déjà configuré cron pour interroger toutes les cinq minutes.
Sélectionnez tous les modèles et cliquez sur Terminer pour terminer l'installation de Cacti.
Cliquez sur Suivant sur la page de résumé du test final.
Sélectionnez Confirmer l'installation et appuyez sur Installer pour commencer l'installation de Cacti.
Attendez que l'installation soit terminée.
Dans une minute ou deux, l'installation de Cacti sera terminée.
En cliquant sur Démarrer sur la page ci-dessus, vous accéderez directement au tableau de bord Cacti. Sinon, vous pouvez vous connecter à Cacti avec le nom d'utilisateur et le mot de passe que vous avez définis lors de l'installation de Cacti.
Accéder aux cactus
Entrez le nom d'utilisateur et le mot de passe pour vous connecter à Cacti.
Nom d'utilisateur : administrateurMot de passe :
Tableau de bord Cactus :
Par défaut, la machine locale (votre serveur Cacti) sera ajoutée pour la surveillance dans Cacti. Vous pouvez accéder aux graphiques>> Arbre par défaut>> Machine Linux locale pour voir le graphique d'utilisation du serveur Cacti.
Conclusion
C'est tout. J'espère que vous avez appris à installer Cacti sur CenOS 7 / RHEL 7. Vous pouvez maintenant découvrir comment surveiller des machines Linux distantes avec l'outil de surveillance Cacti. Veuillez partager vos commentaires dans la section des commentaires.