Librenms - Un outil de surveillance réseau entièrement en vedette pour Linux

Librenms - Un outil de surveillance réseau entièrement en vedette pour Linux

Greffes est un système de surveillance de réseaux basé sur le PHP open source, puissant et riche en fonctionnalités. Il prend en charge une large gamme de systèmes d'exploitation, notamment Linux, FreeBSD, ainsi que des appareils réseau, notamment Cisco, Juniper, Brocade, Foundry, HP et bien d'autres.

Fonctionnalités de Librenms:

  1. Il est entendu automatiquement un réseau entier en utilisant ces protocoles: CDP, FDP, LLDP, OSPF, BGP, SNMP et ARP.
  2. Il a une interface utilisateur Web conviviale, avec des tableaux de bord personnalisables.
  3. Prend en charge un agent Unix.
  4. Prend en charge la mise à l'échelle horizontale pour se développer avec votre réseau.
  5. Prend en charge un système d'alerte hautement flexible et personnalisable; Envoie des notifications par e-mail, IRC, Slack et plus.
  6. Prend en charge une API pour gérer, graphiquement et récupérer les données de votre système.
  7. Offre un système de facturation de trafic.
  8. Prend également en charge une application Android et iOS qui offre des fonctionnalités fondamentales.
  9. Soutient l'intégration avec NFSEN, collectd, fumée, rance et oxydé.
  10. Prend en charge plusieurs méthodes d'authentification telles que MySQL, HTTP, LDAP, RADIUS et Active Directory.
  11. Permet une mise à jour automatique et de nombreuses autres fonctionnalités.

Une démo en ligne est disponible pour que vous puissiez essayer avant d'installer Greffes Sur les systèmes Linux.

URL de démonstration: https: // démo.greffes.org / Nom d'utilisateur: Demo Mot de passe: Demo 

Environnement de test:

  1. Ubuntu 16.04 avec pile de lemp
  2. Centos 7 avec pile de lemp

Dans ce tutoriel, nous apprendrons à installer Outil de surveillance du réseau des Limières sur un fraîchement installé Ubuntu ou Centos Linux (les mêmes instructions fonctionnent également sur Debian et Rhel distributions basées).

NOTE: Toutes ces instructions dans cet article doivent être exécutées comme le racine Utilisateur, si vous ne l'êtes pas, utilisez la commande sudo pour obtenir des privilèges de l'utilisateur racine.

Étape 1: Installez les packages requis

1. Démarrez d'abord par installation de tous les packages requis à l'aide du gestionnaire de package par défaut comme indiqué.

Sur Ubuntu / Debian

$ sudo apt install composer fpping git graphviz imageMagick mariaDb-client mariaDb-server mtr-tiny nginx-full nmap php7.0-CLI PHP7.0-curl php7.0-FPM PHP7.0-GD PHP7.0-mcrypt php7.0-Mysql PHP7.0-SNMP PHP7.0-xml php7.0-Zip Python-Memcache Python-Mysqldb rrdtool snmp snmpd whois 

Sur Centos / Rhel

# yum installer ePEL-Release # rpm -UVH https: // miroir.webtatique.com / yum / el7 / webtatic-release.RPM # YUM INSTALLATION COMPOSER CRONIE FPPING GIT IMAMEMAGICK JWHOIS MARIADB MARIADB-SERVER MYSQL-PYTHON NET-SNMP NET-SNMP-ULS NGINX NMAP Php72W Php72W-CLI PHP72W-COMMON PHP72W-CURL PHP72W-FPM PHP72W-GD-GP72W-CURL PHP72W-FPM PHP72W PHP72W CURL PHP72W-FPM php72w-snmp php72w-xml php72w-zip python-memcached rrdtool 

2. Une fois tous les packages installés, nginx, php-fpm, mariadb et snmp Les services seront démarrés et activés pour démarrer automatiquement au moment du démarrage (c'est normalement le cas avec Ubuntu), sinon, vous pouvez exécuter les commandes ci-dessous pour démarrer et leur activer.

------------ Sur Debian / Ubuntu ------------ $ sudo systemctl nginx start php7.0-fpm mysql snmp $ sudo systemctl activer nginx php7.0-fpm mysql snmp ------------ Sur Centos / Rhel ------------ # systemctl nginx start php-fpm mariaDb snmpd # systemctl activer nginx php-fpm mariaDb snmpd 

Étape 2: Installez l'outil de surveillance des Liberrenms

3. Ensuite, créez un utilisateur système appelé greffes, avec la commande userAdd; où le -M Indicateur désactive la création du répertoire personnel de l'utilisateur et -r permet la création d'un compte système. Puis ajoutez le greffes Utilisateur du groupe www-data (sur Ubuntu) ou nginx (sur Centos) comme suit.

------------ Sur Debian / Ubuntu ------------ $ sudo userAdd Librenms -d / opt / librenms -m -r $ sudo usermod -a -g librenms www-data ------------ Sur Centos / Rhel ------------ # userAdd Librenms -D / Opt / Liberenms -M -R # UserMod -a -g Liberenms Nginx 

4. Puis installer Greffes via compositeur Commande comme indiqué.

------------ Sur Debian / Ubuntu ------------ $ cd / opt $ sudo composer create-project --no-dev --keep-vcs Liberenms / Liberenms librenms dev-master ------------ Sur Centos / Rhel ------------ # CD / OPT # composer Create-Project --no-Dev --keep-vcs Librenms / Liberenms Liberenms Dev-Master 

Étape 3: Créer une base de données Liberenms

5. Avant de pouvoir commencer à utiliser le Mariadb serveur, vous devez sécuriser votre installation, exécuter le script de sécurité fourni dans le package binaire. Il vous demandera de définir un mot de passe racine, de supprimer les utilisateurs anonymes, de désactiver la connexion racine à distance et de supprimer la base de données de test.

Vous pouvez lancer le script en émettant la commande ci-dessous et répondez à toutes les questions avec Oui / Y.

$ sudo mysql_secure_installation [sur Debian / Ubuntu] # mysql_secure_installation [sur Centos / Rhel]] 

6. Ensuite, connectez-vous à Mariadb Base de données pour créer une base de données pour les Liberenms (n'oubliez pas d'utiliser un mot de passe fort / sécurisé dans un environnement de production).

$ sudo mysql -u root -p MariaDb [(aucun)]> Créer des caractéristiques de la base de données SET UTF8 COLLATE UTF8_UNICODE_CI; MariaDb [(aucun)]> CRÉER UN UTILISATEUR 'greffes'@' localhost 'identifié par'[Protégé par e-mail]!# @% $ libre';; MariaDb [(aucun)]> Accorder tous les privilèges sur les Librenms.* À 'Liberenms' @ 'localhost'; MariaDb [(aucun)]> Privilèges de rinçage; MariaDb [(aucun)]> sortie 

7. Après, désactiver Mysql Mode strict pour l'instant (la compatibilité avec le mode strict MySQL reste à ajouter).

$ sudo vim / etc / mysql / mariadb.confli.d / 50-serveur.CNF [sur Debian / Ubuntu] # vi / etc / mon.CNF [sur Centos / Rhel]] 

Dans [mysqld] Section Veuillez ajouter.

innodb_file_per_table = 1 inférieur_case_table_names = 0 

Puis redémarrez le serveur de base de données pour effectuer les modifications.

$ sudo systemctl redémarrer mysql [sur Debian / Ubuntu] # systemctl redémarrer mariaDb [sur Centos / Rhel]] 

Étape 4: Configurer et démarrer PHP-FPM

8. Ensuite, définissez votre date.fuseau horaire dans le php.ini à votre fuseau horaire actuel, par exemple «Afrique / Kampala», comme indiqué dans la capture d'écran suivante.

------------ Sur Debian / Ubuntu ------------ $ sudo vim / etc / php / 7.0 / FPM / PHP.ini $ sudo vim / etc / php / 7.0 / CLI / PHP.ini ------------ Sur Centos / Rhel ------------ # vi / etc / php.ini 
Définir le fuseau horaire dans le fichier PHP

9. Ensuite, activez le Mcrypt Module PHP dans Ubuntu et redémarrer php-fpm comme montré.

------------ Sur Debian / Ubuntu ------------ $ sudo phpenmod mcrypt $ sudo systemctl redémarrer php7.0-FPM 

dix. Sur Centos / Rhel vous devez apporter des modifications suivantes dans php-fpm fichier de configuration.

# vi / etc / php-fpm.d / www.confli 

Apporter les modifications suivantes.

; user = apache user = nginx group = apache; Gardez le groupe comme Apache; écouter = 127.0.0.1: 9000 écouter = / var / run / php-fpm / php7.2-FPM.chaussette à écouter.propriétaire = nginx écouter.groupe = nginx écouter.mode = 0660 

11. Redémarrage php-fpm Service comme indiqué.

# SystemCTL Redémarrer PHP-FPM 

Étape 5: Configurez Nginx pour les libréages

12. Dans cette étape, vous devez configurer un Nginx bloc de serveur pour greffes Afin d'accéder à l'interface utilisateur Web. Créer un .confli fichier pour cela comme indiqué.

$ sudo vim / etc / nginx / confr.d / bibliothèque.confr [sur Debian / Ubuntu] # vi / etc / nginx / confre.d / bibliothèque.confr [sur Centos / Rhel]] 

Ajouter ce qui suit configurer, modifier nom du serveur comme demandé.

Server écouter 80; nom du serveur greffes.exemple.com; root / opt / librenms / html; Index index.PHP; Charset UTF-8; gzip sur; GZIP_TYPES TEXT / CSS Application / JavaScript Text / JavaScript Application / X-Javascript Image / SVG + Texte XML / Texte en clair / Texte XSD / Texte XSL / Image XML / X-ICON; Emplacement / try_files $ uri $ uri / / index.php?$ query_string;  Emplacement / API / V0 try_files $ uri $ uri / / api_v0.php?$ query_string;  Emplacement ~ \.php inclure fastcgi.conf; fastcgi_split_path_info ^ (.+\.php) (/.+) $; fastcgi_pass Unix: / var / run / php / php7.0-FPM.chaussette;  emplacement ~ / \.ht nier tout;  

13. Puis enregistrer et quitter le fichier. Supprimez également la configuration du bloc de serveur par défaut et redémarrez le serveur Nginx.

------------ Sur Debian / Ubuntu ------------ $ sudo rm / etc / nginx / sites compatible / par défaut $ sudo systemctl redémarrer nginx ------------ Sur Centos / Rhel ------------ # systemctl redémarrer nginx 

NOTE: Sur Centos / Rhel, vous devrez désactiver le site par défaut Section, si c'est le seul site que vous hébergez. Supprimer la section du serveur de / etc / nginx / nginx.confli déposer.

14. Aussi sur Centos / Rhel, vous devez installer le outil politique pour Selinux et configurer le contextes nécessaire par les libréms en utilisant les commandes suivantes.

------------ Sur Centos / Rhel ------------ # yum installer la politique de Policycoreutils-python # Semanage fContext -a -t httpd_sys_content_t '/ opt / librénms / logs (/.*)?'# SEMANAGE FContext -a -t httpd_sys_rw_content_t' / opt / librénms / logs (/.*)?'# RestoreCon -rfvv / Opt / Liberenms / Logs / # SEMANAGE FContext -a -t httpd_sys_content_t' / opt / librenms / rrd (/.*)?'# SEMANAGE Fcontext -a -t httpd_sys_rw_content_t' / opt / librenms / rrd (/.*)?'# restoreCon -rfvv / opt / librenms / rrd / # setSebool -p httpd_can_sendmail = 1 # setSebool -p httpd_execmem 1 

15. Permettre fpping En créant le fichier http_fping.tt avec le contenu suivant.

Sur Centos / Rhel
module http_fping 1.0; require type httpd_t; Capacité de classe Net_raw; class rawip_socket getOPT Create SetOpt Write Read;  # ============= httpd_t ============= Autoriser httpd_t self: capabilité net_raw; Autoriser httpd_t self: rawip_socket getOPT Create setOpt write read; 

16. Puis exécutez ces commandes.

------------ Sur Centos / Rhel ------------ # checkmodule -m -m -o http_fping.mod http_fping.tt # semodule_package -o http_fping.pp -m http_fping.mod # Semodule -i http_fping.pp 

17. Si vous utilisez un pare-feu Centos / Rhel, Activer l'accès HTTP / HTTPS via un pare-feu.

------------ Sur Centos / Rhel ------------ # Firewall-CMD - Zone Public - Add-Service HTTP # Firewall-CMD - PERMANENT --ZONE PUBLIC - ADDD-SERVICE HTTP # Firewall-CMD --Zone Public --Add-Service HTTPS # Firewall-CMD - -Permanent - Zone Public - Add-Service HTTPS 

Étape 6: Configurez SNMPD pour les libréages

18. Utilisez maintenant l'exemple de configuration SNMP pour créer votre fichier de configuration et ouvrez-le pour l'édition, comme suit.

------------ Sur Debian / Ubuntu ------------ $ sudo cp / opt / librenms / snmpd.confli.Exemple / etc / snmp / snmpd.Conf $ sudo vim / etc / snmp / snmpd.confli ------------ Sur Centos / Rhel ------------ # cp / opt / librenms / snmpd.confli.Exemple / etc / snmp / snmpd.conf # vi / etc / snmp / snmpd.confli 

Trouvez la chaîne RandomStringgoeshere Et changez-le par votre propre chaîne de communauté comme indiqué dans la capture d'écran.

Définir la chaîne SNMP

19. Ensuite, téléchargez un script shell sur votre système, qui aide à détecter le système d'exploitation et s'il est Linux, il détectera la distribution Linux, vous utilisez:

------------ Sur Debian / Ubuntu ------------ $ sudo curl -o / usr / bin / distro https: // brut.githubusercontent.com / librenms / librenms-agent / maître / snmp / distro $ sudo chmod + x / usr / bin / distro $ sudo systemctl redémarrer snmpd ------------ Sur Centos / Rhel ------------ # curl -o / usr / bin / distro https: // brut.githubusercontent.com / librenms / librenms-agent / maître / snmp / distro # chmod + x / usr / bin / distro # systemctl redémarrer snmpd 

Étape 7: Créez cron et configurez Logrotate

20. Maintenant, exécutez la commande ci-dessous pour configurer un travail cron pour Greffes.

# cp / opt / librenms / librenms.non-rattraper.cron / etc / cron.d / bibliothèque 

21. Ensuite, tout Greffes Les journaux sont enregistrés dans / opt / librenms / journaux, Vous pouvez avoir besoin de configurer ces journaux pour être rotatifs automatiquement, en utilisant le fichier de configuration Logrotate fourni, comme celui-ci.

# cp / opt / librenms / misc / librenms.Logrotate / etc / Logrotate.d / bibliothèque 

Définissez ensuite les autorisations appropriées sur le répertoire root d'installation des Libérenmes et les fichiers journaux.

------------ Sur Debian / Ubuntu ------------ $ sudo chown -r Librenms: Liberenms / Opt / Librenms $ sudo setfacl -d -m g :: rwx / opt / librenms / rrd / opt / librenms / logs $ sudo setfacl -r -m g :: rwx / opt / librenms / rrd / opt / librenms / journaux ------------ Sur Centos / Rhel ------------ # chown -r Librenms: Liberenms / Opt / Liberenms # setfacl -d -m g :: rwx / opt / librenms / rrd / opt / librenms / logs # setfacl -r -m g :: rwx / opt / librenms / rrd / opt / opt / Libéres / journaux 

Étape 8: Installateur Web d'accès aux Libredms

22. Ensuite, utilisez l'URL suivante pour accéder à l'installateur Web et suivre les instructions à l'écran.

http: // Librenms.Tecmint.LAN / installation.php 

Pour que cette adresse fonctionne sur une machine locale, vous devez configurer un DNS local à l'aide du fichier hosts (/ etc / hôtes), à des fins de résolution ou de test du domaine local avant de passer en ligne.

192.168.43.31 Tecmint.LAN 192.168.43.31 greffeurs.Tecmint.lan 
Configuration du DNS local pour le domaine

23. Vous verrez la page d'accueil de l'installation comme indiqué dans la capture d'écran suivante, cliquez Étape suivante continuer.

Installateur Web Liberenms

24. Entrez ensuite les paramètres (Hôte de la base de données, port, nom d'utilisateur et mot de passe utilisateur) pour la base de données des libréns et cliquez Étape suivante procéder.

Paramètres de la base de données des Librems

25. L'installateur Web commencera désormais à importer la base de données MySQL, cela prendra un certain temps. Notez que le processus essaiera de faire une pause à certains moments, cliquez simple sur Recommencez Pour poursuivre le processus d'importation.

Libérendms Base de données Importation

26. Une fois l'importation de la base de données terminée, vous devriez voir le message "La base de données est à jour!», Comme indiqué dans la capture d'écran ci-dessous. Puis cliquez sur Goto Ajouter l'utilisateur procéder.

Base de données des Libredms mis à jour

27. Ensuite, ajoutez un Greffes utilisateur, spécifiez le nom d'utilisateur, le mot de passe et l'e-mail, puis cliquez sur Ajouter l'utilisateur Pour effectuer les changements.

Ajouter l'utilisateur des Liberenms

28. Maintenant, cliquez sur Créer le Greffes Configuration de votre système, en cliquant Générer une configuration.

Générer des libréms config Configuration des libréages

29. Une fois la configuration générée, comme indiqué dans l'écran précédent, copiez-le et enregistrez-le dans le répertoire racine de votre installation, dans un fichier appelé / opt / librenms / config.php.

# vi / opt / librenms / config.php 
Configuration des libréages
 

30. Enregistrez et fermez le fichier. Revenez ensuite au programme Web pour continuer le processus d'installation, en cliquant Installation de finition.

Installation de finition des Libres

31. Maintenant votre Greffes L'installation est complète, vous pouvez cliquer sur "Valider votre installation et résoudre tous les problèmes», La page de connexion devrait apparaître.

Valider l'installation des Liberrenms

32. Ensuite, entrez vos informations d'identification de l'utilisateur pour accéder à la page de validation.

Page de connexion Liberenms

33. À partir du processus de validation d'installation, Greffes a découvert deux problèmes, l'un est que les appareils n'ont pas été ajoutés (c'est un avertissement pour l'instant), et deuxièmement, nous n'avons pas défini l'autorisation appropriée sur le fichier de configuration (/ opt / librenms / config.php) qui a été ajouté manuellement, comme indiqué dans la capture d'écran ci-dessous.

Problèmes d'autorisation des Librems

Maintenant, exécutez la commande suivante pour définir l'autorisation correcte sur le fichier de configuration.

$ sudo chown -r Liberenms: Liberenms / Opt / Liberenms / Config.php 

34. Pour ajouter des appareils, allez sur: http: // Librenms.Tecmint.LAN / ADDHOST. Après avoir ajouté des appareils, vous pouvez accéder à la page d'accueil et ajouter divers tableaux de bord.

Brenersms Dashboard

C'est ça! Vous pouvez trouver plus d'informations, y compris l'installation et la configuration sur la documentation des Librenms sur https: // docs.greffes.org /.

Greffes est un système de surveillance réseau entièrement en vedette qui prend en charge une variété de matériel réseau. Nous espérons qu'il s'agissait d'un guide d'installation lucide, si vous avez des questions, parvenez-nous via le formulaire de rétroaction ci-dessous.