Table des matières:

Installer et configurer Shinken Network Monitor sur Raspberry Pi : 14 étapes
Installer et configurer Shinken Network Monitor sur Raspberry Pi : 14 étapes

Vidéo: Installer et configurer Shinken Network Monitor sur Raspberry Pi : 14 étapes

Vidéo: Installer et configurer Shinken Network Monitor sur Raspberry Pi : 14 étapes
Vidéo: OSMC 2012 - Jean Gabes: Shinken (ENG) 2024, Novembre
Anonim
Installer et configurer Shinken Network Monitor sur Raspberry Pi
Installer et configurer Shinken Network Monitor sur Raspberry Pi

REMARQUE: shinken a été mis à jour pour la dernière fois en MAR2016 vers une version stable de 2.4.3. Ainsi, il y a plusieurs années, je suis passé à d'autres méthodes de surveillance du réseau domestique. De plus, php5 ne semble pas être disponible

Alors, veuillez ne pas utiliser cette instructable !

Installez et configurez la dernière version de Shinken Network Monitor pour une maison ou une petite entreprise.

Au travail, mon équipe développe le logiciel pour plus de 75 classes de serveurs, avec plus de 300 instances dans plusieurs centres de données et points de présence. Une équipe opérationnelle expérimentée surveille et maintient ces serveurs en fonctionnement 24h/24 et 7j/7. Je n'ai rien de proche de leurs connaissances ou de leur expertise. A part moi, je n'ai personne qui supporte mon réseau domestique. Et, je veux passer zéro temps à surveiller et à entretenir mon réseau domestique.

Mon réseau local domestique a plus de 40 appareils connectés, ce qui est beaucoup plus grand que ce à quoi je m'attendais. De nombreux foyers, peut-être même le vôtre, disposent d'un grand nombre d'appareils connectés. Voici des exemples d'appareils en réseau:

  • ordinateurs portables et tablettes
  • lecteurs de livres électroniques
  • téléphones portables
  • thermostats Nest, sonnettes
  • système de sécurité, système d'irrigation
  • téléviseurs intelligents, récepteurs U-verse et DVR
  • serveurs de diffusion multimédia en continu (Apple TV, Roku, ChromeCast FireStick)
  • projets de domotique raspberry pi

Au fur et à mesure que de plus en plus d'appareils domestiques se connectent, je m'attends à ce que mon réseau se développe.

Pourquoi une maison devrait-elle avoir un moniteur réseau ? Il existe des serveurs et des services critiques sur un réseau domestique. Exemples de serveurs critiques: passerelle ISP, point d'accès sans fil, système de sécurité et système d'irrigation. Voici des exemples de services critiques: la sauvegarde de PC ou de MAC, la garantie que le Wi-Fi ou Internet fonctionne à la vitesse requise. Pour s'assurer que les services/serveurs critiques fonctionnent, ils doivent être vérifiés manuellement à intervalles réguliers, ce qui prend beaucoup de temps. Alternativement, les serveurs doivent être automatiquement vérifiés à l'aide d'un moniteur réseau, qui tente de corriger le problème et envoie une alerte s'il ne parvient pas à le corriger.

Shinken est un moniteur réseau qui fonctionne sur n'importe quel ordinateur. Dans ce instructable, je vais le faire exécuter un Raspberry Pi (2 ou 3) exécutant Diet-Pi ou raspbian.

Il existe de nombreuses excellentes applications de surveillance de réseau. Exemples: SolarWinds, NetCool et nagios. Ces applications sont capables de surveiller, d'identifier les problèmes, de s'auto-corriger et d'envoyer des alertes.

En général, j'ai essayé de garder mon réseau à faible coût et simple à entretenir et à mettre à jour. Je me suis concentré sur les applications open source écrites dans un petit nombre de langues. Mes langages de prédilection sont: python, bash, html et css.

Shinken est une réécriture open source de nagios en python. Ainsi, shinken correspond à mes limites et répond à mes besoins.

L'instructable fournit des instructions étape par étape si vous voulez le faire à la main. Mais, je veux un processus reproductible, j'inclus donc également un script d'installation sans surveillance dans l'annexe, qui fait tout avec quelques commandes. Si quelque chose ne va pas, exécutez simplement l'installation sans surveillance et cela devrait résoudre la plupart des problèmes.

Étape 1: Rassemblez les pièces

Au fil du temps, j'ai trouvé que les pièces ci-dessous fonctionnent le mieux dans mes applications. Ces pièces sont plus chères que celles contenues dans le kit de démarrage habituel.

Obtenez des pièces et des outils (prix en USD):

  • Raspberry Pi 2 modèle B (Pi 3) Element14 35 $ (39 $)
  • Adaptateur WiFi Panda 300n Amazon 16,99 $ (pas nécessaire si Pi 3 est utilisé)
  • Adaptateur secteur USB 5.2V 2.1A d'Amazon 5,99 $
  • Câble micro USB vers USB 3 pieds d'Amazon 4,69 $
  • Câble Ethernet CAT5e/6 $x.xx, dépend de la longueur
  • Étui d'Amazon 6,99 $
  • SanDisk Ultra 16 Go microSDHC classe 10 avec adaptateur (SDSQUAN-016G-G4A) d'Amazon 8,99 $
  • Articles courants ou réutilisables:

    • MacBook Pro (j'utilise un MAC car il exécute Linux comme système d'exploitation de base. Cependant, un PC Windows peut être utilisé)
    • Câble série vers USB FTDI TTL-232R-RPI de Mouser 15 $
    • Téléviseur avec port HDMI
    • Clavier USB
    • souris USB
    • Câble HDMI (nécessaire uniquement au premier passage)

Remarques:

  • Le texte entre les piques, tel que « replace-this », doit être remplacé par une valeur réelle. Bien sûr, enlevez les piques.
  • Les commandes sont indiquées par un $. Si des commandes copier-coller, ne copiez pas le $.

Étape 2: Configurer Raspberry Pi

Utilisez cette instructable pour configurer le Raspberry Pi exécutant DietPi. Si vous préférez, Raspbian peut être utilisé avec cette instructable.

J'ai changé le nom d'hôte en monitor-hostname♣. Remplacez les éléments dans les par les valeurs réelles.

Étape 3: Ouvrez la fenêtre du terminal et connectez-vous

Avant chacune des étapes suivantes:

  • Ouvrez une fenêtre de terminal sur un MacBook ou un PC, puis
  • Connectez-vous au Raspberry Pi

$ ssh pi@♣raspberry-pi-ip-address♣

Si vous avez installé avahi-daemon sur votre Raspberry Pi, vous pouvez vous connecter de cette façon (je suis paresseux et je ne veux pas me souvenir des adresses IP):

$ ssh pi♣hostname♣.local

Étape 4: Toujours mettre à niveau et mettre à jour

Avant d'installer de nouveaux packages sur un serveur, mettez toujours à jour et mettez à niveau.

  • Update télécharge les dernières listes de packages à partir des référentiels appropriés.
  • Upgrade met à jour les packages
  • La suppression automatique supprime les packages qui ne sont plus nécessaires
  • Le redémarrage est facultatif. Certains services doivent être redémarrés après une mise à niveau. Le redémarrage est le moyen paresseux de s'assurer que tous les services requis sont correctement redémarrés

$ sudo apt-get update -y

$ sudo apt-get upgrade -y $ sudo apt-get autoremove $ sudo reboot

Ou vous pouvez ignorer toutes les étapes restantes et utiliser l'installation sans surveillance dans l'une des annexes.

Étape 5: Installer les dépendances Shinken

Souvent, Shinken s'exécute sur un très gros serveur et est installé sur une machine virtuelle (VM). Un gros serveur est capable d'exécuter plusieurs machines virtuelles. Les machines virtuelles présentent de nombreux avantages lors de l'administration de plusieurs serveurs ou de plusieurs instances du même serveur. Les machines virtuelles utilisent efficacement des ressources serveur coûteuses.

Une machine virtuelle peut fonctionner sur Raspberry Pi. Cependant, de nombreux avantages de l'exécution d'une machine virtuelle sur un Raspberry Pi à 35 $ sont perdus. Shinken ne nécessite PAS de VM. Cette instructable n'utilise pas de machine virtuelle.

Installez les dépendances Shinken: sqlite3, php5, python3 et certaines bibliothèques python:

$ sudo apt-get install sqlite3 -y

$ sudo apt-get install php5 -y $ sudo apt-get install python3 -y $ sudo apt-get install python-pip python-pycurl python-cherrypy3 python-setuptools -y

Étape 6: Installez Shinken

Ajoutez un utilisateur shinken et installez secoué à l'aide de pip.

$ sudo adduser shinken

$ sudo pip installer shinken $ sudo adduser shinken sudo

Ce qui précède installe shinken et certains démons dans /etc/init.d:

  • shinken-poller
  • shinken-reactionner
  • récepteur-shinken
  • shinken-planificateur
  • shinken-courtier

Étape 7: Initialiser et démarrer Shinken

Juste au cas où Shinken serait en marche, arrêtez-le. Créez également un répertoire de journaux et définissez les autorisations.

$ sudo mkdir /var/log/shinken

$ sudo chmod 777 /var/log/shinken $ sudo service shinken stop

Exécutez la commande suivante pour initialiser et démarrer shinken:

$ sudo shinken --init

$ sudo /etc/init.d/shinken start

Vérifiez que shinken est correctement configuré:

$ /usr/bin/shinken-arbiter -v -c /etc/shinken/shinken.cfg

Faire démarrer shinken au démarrage

$ sudo update-rc.d shinken par défaut

Étape 8: Installer et configurer Sqlite3

Configurez sqlite pour être la base de données Shinken:

$ sudo shinken installer sqlitedb

Créez un fichier de configuration pour ajouter sqlite:

$ sudo nano /etc/shinken/modules/sqlitedb.cfg

J'utilise sqlite3. On ne sait pas comment cela est mappé dans sqlite3 ou dans un fichier de base de données sqlite particulier.

définir le module {

nom_module sqlitedb type_module uri sqlitedb /var/lib/shinken/webui.db }

Modifier les autorisations sur le fichier

$ sudo chmod 777 /etc/shinken/modules/sqlitedb.cfg

Étape 9: Installer l'interface utilisateur Web Shinken

Installez l'interface utilisateur Web de Shinken:

$ sudo /usr/bin/shinken recherche webui

$ sudo /usr/bin/shinken install webui Saisie: webui OK webui

Modifiez la configuration de l'interface utilisateur Web et modifiez l'entrée: CHANGE_ME. Je ne sais pas en quoi il est censé changer. J'ai changé pour un mot aléatoire.

$ sudo nano /etc/shinken/modules/webui.cfg

Modifier le courtier principal pour inclure les modules de l'interface utilisateur Web

$ sudo nano /etc/shinken/brokers/broker-master.cfg

Changer la ligne:

modules

à

modules webui

Redémarrer shinken

$ sudo /etc/init.d/shinken restart

Étape 10: ajouter des utilisateurs et des mots de passe

Assurez-vous qu'il y a une méthode installée pour autoriser les utilisateurs shinken

$ sudo shinken installer auth-cfg-password Modifier la configuration de l'interface utilisateur Web de Shinken

$ sudo nano /etc/shinken/modules/webui.cfg

Changer pour ressembler à:

modules auth-cfg-mot de passe

Vince35 suggère qu'un redémarrage est nécessaire à ce stade:

$ sudo /etc/init.d/shinken restart

Ouvrez une fenêtre de navigateur et connectez-vous à l'aide du mot de passe et du nom d'utilisateur: admin, admin. Entrez ce qui suit dans l'URL du navigateur (supprimez les espaces autour des deux points):

♣nom d'hôte♣.local:7767

connectez-vous en utilisant admin, raspberry-pi-password

Et ça devrait marcher !

Étape 11: Annexe: Références

Surveillance du réseau

Document de présentation de la surveillance du réseau intéressant

Moniteurs de réseau

  • fing:
  • HowToGeek.com - excellente source
  • MRTG:
  • Netbeez:
  • Raspberry Pi Geek:
  • Shinken: réécriture de Nagios en python:
  • Installation de Shinken: https://www.roblayton.com/2015/07/réglage manuel…
  • Configuration de l'interface utilisateur Web Shinken:
  • GitHub systemd:
  • Rob Layton: Configuration manuelle d'un serveur de surveillance Shinken

Étape 12: Annexe: Mises à jour

15OCT2016: mise à jour de l'image de couverture pour inclure les logos Shinken et Raspberry Pi

16OCT2016: reformulation de certains passages. Aucune modification technique.

19OCT2016: mise à jour instructable et UAI pour démarrer shinken au redémarrage

Améliorations futures:

Ajoutez des systèmes à surveiller, soit dans l'instructable, soit en annexe avec des exemples de scripts

Étape 13: Annexe: Dépannage

Modifier les autorisations sur les répertoires

/usr/bin

/etc/init.d /etc/shinken /var/lib/shinken/modules/webui/ /etc/shinken/modules/

J'ai redémarré le Raspberry Pi, mais Shinken ne démarre pas. Je ne pouvais pas écrire dans les répertoires des journaux. J'ai donc effectué les modifications suivantes:

sudo mkdir /var/log/shinken

sudo chmod 777 /var/log/shinken

shinken localhost vers le bas

Si localhost s'affiche comme étant en panne.

$ sudo nano /etc/network/interfaces

Pour une raison quelconque, mon fichier /etc/network/interfaces est généralement foiré. Modifiez cette ligne:

bouclage automatique lo iface lo inet

à ces deux lignes:

lo auto

iface lo inet bouclage

Et redémarrer

$ sudo redémarrer

L'init.d devrait démarrer shinken automatiquement, mais je devais faire ceci:

$ sudo /etc/init.d/shinken restart

Étape 14: Annexe: Installation sans surveillance

Facilitez l'installation et la configuration de shinken en automatisant les étapes instructables à l'aide d'un script d'installation sans surveillance bash. Le script suppose un raspberry pi exécutant raspbian ou dietpi, qui a été configuré à l'aide de l'un des liens intégrés.

J'ai fini le script sur github et

  • testé la source sur dietpi
  • script d'installation sans surveillance testé sur dietpi

    • couru une fois
    • exécuté plusieurs fois, avec des interruptions CTRL-c
  • script d'installation sans surveillance testé sur raspbian et diet-pi

Le script suppose que le nom d'utilisateur = pi et le mot de passe = framboise, et le script essaie d'installer shinken. S'ils ne sont pas corrects, modifiez le fichier en conséquence.

Ouvrez la fenêtre du terminal sur un MacBook ou un PC et exécutez les commandes suivantes:

$ ssh pi@♣adresse-ip♣

$ sudo wget https://raw.githubusercontent.com/dumbo25/uai_install_shinken_rpi/master/shinken_uai.sh $ sudo chmod o+x shinken_uai.sh $ sudo bash shinken_uai.sh $ sudo reboot $ sudo /etc/init.d/ redémarrage en panne

Le script prend quelques minutes à s'exécuter sur diet-pi.

Assurez-vous de redémarrer le Raspberry Pi et attendez que Shinken commence

Ouvrez un navigateur et dans la fenêtre URL, saisissez:

♣adresse-ip♣:7767

Connectez-vous en utilisant admin et ♣raspberry-pi-password♣

Et ça devrait marcher !

Conseillé: