Pandora FMS, également connu sous le nom de "Pandora Flexible Monitoring System", est un outil de surveillance utilisé pour les serveurs, les réseaux, les applications et l'infrastructure virtuelle. Il est simple, évolutif et adapté aux environnements complexes et plus vastes. Il utilise plusieurs protocoles, notamment TCP, UDP, SNMP, HTTP et des agents pour collecter les différentes métriques. Vous pouvez surveiller l'état et les performances des serveurs Web, des serveurs de base de données, des applications, des routeurs et d'autres périphériques réseau à l'aide de Pandora FMS.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer Pandora FMS sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Nom de domaine valide pointant vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Tout d'abord, il est recommandé de mettre à jour vos packages système vers la version mise à jour. Vous pouvez les mettre à jour avec la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, installez toutes les dépendances requises pour Pandora FMS avec la commande suivante :
apt-get install snmp snmpd libnet-telnet-perl libgeo-ip-perl libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl xprobe2 nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl libsnmp-perl libjson-perl -y
Installer le serveur LAMP
Ensuite, vous devrez installer le serveur Apache, MariaDB, PHP et les autres dépendances requises sur votre système. Vous pouvez tous les installer à l'aide de la commande suivante :
apt-get install apache2 mariadb-server php php-common php-gmp php-curl php-mbstring php-xmlrpc php-mysql php-gd php-bcmath php-xml php-cli php-zip php-pear php-zip php-sqlite3 php-snmp php-db graphviz php-curl php-ldap dbconfig-common unzip git -y
Après avoir installé tous les packages, éditez le fichier php.ini et définissez les paramètres recommandés :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 max_input_vars = 2000 date.timezone = Asia/Kolkata
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer la base de données MariaDB
Par défaut, le mot de passe root de MariaDB n'est pas défini. Vous devrez donc le configurer dans votre système. Vous pouvez le faire en exécutant le script suivant :
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous pour définir le mot de passe root :
Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Ensuite, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Fournissez votre mot de passe root lorsque vous y êtes invité, puis activez le plugin mysql_native_password avec la commande suivante :
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
Ensuite, créez une base de données et un utilisateur pour Pandora avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE pandora;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON pandora.* to [email protected]'localhost' IDENTIFIED BY 'pandora';
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Ensuite, vous devrez éditer le fichier /etc/mysql/my.cnf et définir le sql_mode.
nano /etc/mysql/my.cnf
Ajoutez les lignes suivantes :
[mysqld] sql_mode=NO_ENGINE_SUBSTITUTION
Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service MariaDB pour appliquer les modifications :
systemctl restart mariadb
Télécharger Pandoa FMS
Ensuite, vous devrez télécharger la dernière version de Pandora FMS à partir du référentiel Git. Vous pouvez le télécharger avec la commande suivante :
cd /var/www/html/
git clone https://github.com/pandorafms/pandorafms.git
Ensuite, donnez l'autorisation et la propriété appropriées au répertoire téléchargé :
chown -R www-data:www-data /var/www/html/pandorafms
chown -R www-data:www-data /var/www/html/pandorafms/pandora_console/
chmod -R 775 /var/www/html/pandorafms/pandora_console/
Modifiez ensuite le fichier de configuration de Pandora :
nano /var/www/html/pandorafms/pandora_console/include/config.inc.php
Décommentez et modifiez les lignes suivantes en fonction des paramètres de votre base de données :
// Default values $config["dbname"]="pandora"; $config["dbuser"]="pandora"; $config["dbpass"]="pandora"; $config["dbhost"]="localhost"; // This is used for reporting, please add "/" character at the end // $config["homedir"]="/var/www/pandora_console/"; // $config["homeurl"]="/pandora_console/"; $config["auth"]["scheme"] = "mysql";
Enregistrez et fermez le fichier lorsque vous avez terminé.
Configurer Apache pour Pandora FMS
Ensuite, vous devrez créer un nouveau fichier de configuration d'hôte virtuel Apache pour servir Pandora FMS. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/pandora.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] ServerName pandora.linuxbuz.com DocumentRoot /var/www/html/pandorafms/pandora_console <Directory /var/www/html/pandorafms/pandora_console> AllowOverride All </Directory> ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Pandora avec la commande suivante :
a2ensite pandora
Ensuite, rechargez le service Apache pour appliquer les modifications de configuration :
systemctl restart apache2
Accéder à Pandora FMS
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://pandora.linuxbuz.com/install.php pour accéder à Pandora FMS. Vous devriez voir l'assistant d'installation Web de Pandora FMS comme indiqué ci-dessous :
Cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Cliquez sur "Oui, j'accepte les termes de la licence ". Vous devriez voir la page suivante :
Assurez-vous que toutes les extensions PHP sont installées puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Indiquez votre nom d'utilisateur root, votre mot de passe root MariaDB, le nom de la base de données, le chemin de Pandora et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Cela changera le mot de passe de l'utilisateur de la base de données Pandora. Vous devrez donc définir votre mot de passe original pour la base de données Pandora dans le fichier config.php.
Ouvrez votre terminal et éditez le fichier config.php :
nano /var/www/html/pandorafms/pandora_console/include/config.php
Modifiez le champ "$config["dbpass"]" avec votre mot de passe d'origine :
// Begin of automatic config file $config["dbtype"] = "mysql"; //DB type (mysql, postgresql...in future others) $config["mysqli"] = true; $config["dbname"]="pandora"; $config["dbuser"]="pandora"; $config["dbpass"]="pandora"; $config["dbhost"]="localhost";
Enregistrez et fermez le fichier. Ensuite, revenez à l'assistant d'installation de Pandora et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Ensuite, ouvrez à nouveau votre terminal et supprimez le fichier install.php :
rm -rf /var/www/html/pandorafms/pandora_console/install.php
Ensuite, retournez à l'assistant d'installation de Pandora FMS et cliquez sur "Cliquez ici pour accéder à votre console Pandora FMS ". Vous devriez voir l'écran de connexion Pandora FMS :
Indiquez le nom d'utilisateur par défaut de l'administrateur en tant qu'administrateur et le mot de passe en tant que pandora, puis cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Pandora dans l'écran suivant :
Sécuriser Pandora FMS avec Let's Encrypt
Ensuite, il est recommandé de sécuriser votre site Web avec Let's Encrypt SSL. Commencez par installer le client Certbot à l'aide de la commande suivante :
apt-get install python3-certbot-apache -y
Une fois installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d pandora.linuxbuz.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for pandora.linuxbuz.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/pandora-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/pandora-le-ssl.conf Enabling available site: /etc/apache2/sites-available/pandora-le-ssl.conf
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/pandora.conf to ssl vhost in /etc/apache2/sites-available/pandora-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://pandora.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=pandora.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/pandora.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/pandora.linuxbuz.com/privkey.pem Your cert will expire on 2020-10-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Désormais, vous pouvez accéder à Pandora FMS en toute sécurité à l'aide de l'URL https://pandora.linuxbuz.com.
Conclusion
Toutes nos félicitations! vous avez installé avec succès l'outil de surveillance Pandora FMS avec Apache et Let's Encrypt SSL sur le serveur Ubuntu 20.04. Vous pouvez maintenant ajouter des systèmes clients et commencer la surveillance à partir de Pandora FMS.