Sommario:

Installa e configura Shinken Network Monitor su Raspberry Pi: 14 passaggi
Installa e configura Shinken Network Monitor su Raspberry Pi: 14 passaggi

Video: Installa e configura Shinken Network Monitor su Raspberry Pi: 14 passaggi

Video: Installa e configura Shinken Network Monitor su Raspberry Pi: 14 passaggi
Video: Best Server & Application Monitor for free with Checkmk 2024, Novembre
Anonim
Installa e configura Shinken Network Monitor su Raspberry Pi
Installa e configura Shinken Network Monitor su Raspberry Pi

NOTA: Shinken è stato aggiornato l'ultima volta in MAR2016 a una versione stabile di 2.4.3. Così, diversi anni fa sono passato ad altri modi di monitorare la rete domestica. Inoltre, php5 non sembra essere disponibile

Quindi, per favore, non usare questo istruibile!

Installa e configura l'ultima versione di shinken Network Monitor per una casa o una piccola impresa.

Al lavoro, il mio team sviluppa il software per più di 75 classi di server, con oltre 300 istanze in più data center e punti di presenza. C'è un team operativo esperto che monitora e mantiene questi server in esecuzione 24x7. Non ho nulla vicino alle loro conoscenze o competenze. Oltre a me stesso, non ho nessuno che supporti la mia rete domestica. E voglio dedicare zero tempo al monitoraggio e alla manutenzione della mia rete domestica.

La mia LAN domestica ha più di 40 dispositivi collegati, che è molto più grande di quanto mi aspettassi. Molte case, forse anche la tua, hanno un gran numero di dispositivi connessi. Esempi di dispositivi in rete sono:

  • laptop e tablet
  • lettori di eBook
  • telefono cellulare
  • termostati nido, campanelli suonati
  • sistema di sicurezza, sistema di irrigazione
  • smart TV, ricevitori U-verse e DVR
  • server multimediali in streaming (Apple TV, Roku, ChromeCast FireStick)
  • progetti di domotica lampone pi

Man mano che più dispositivi domestici si connettono, mi aspetto che la mia rete cresca.

Perché una casa dovrebbe avere un monitor di rete? Ci sono server e servizi critici su una rete domestica. Esempi di server critici includono: gateway ISP, punto di accesso wireless, sistema di sicurezza e sistema di irrigazione. Esempi di servizi critici includono: backup di PC o MAC, garanzia che il Wi-Fi o Internet funzioni alla velocità richiesta. Per garantire che i servizi/server critici siano in esecuzione, dovrebbero essere controllati manualmente a intervalli regolari, il che richiede molto tempo. In alternativa, i server dovrebbero essere controllati automaticamente utilizzando un monitor di rete, che tenta di correggere il problema e invia un avviso se non è in grado di correggere.

Shinken è un Network Monitor che funziona su qualsiasi computer. In questo tutorial, lo farò eseguire su un Raspberry Pi (2 o 3) con Diet-Pi o raspbian.

Esistono molte eccellenti applicazioni di monitoraggio della rete. Esempi sono: SolarWinds, NetCool e nagios. Queste applicazioni sono in grado di monitorare, identificare problemi, autocorreggersi e inviare avvisi.

In generale, ho cercato di mantenere la mia rete a basso costo e semplice da mantenere e aggiornare. Ho ristretto la mia attenzione alle applicazioni open source scritte in un piccolo numero di lingue. I miei linguaggi preferiti sono: python, bash, html e css.

Shinken è una riscrittura open source di nagios in Python. Quindi, Shinken rientra nei miei limiti e soddisfa le mie esigenze.

L'istruzioni fornisce istruzioni passo passo se vuoi farlo a mano. Ma voglio un processo ripetibile, quindi includo anche uno script di installazione automatica nell'appendice, che fa tutto con un paio di comandi. Se qualcosa va storto, esegui l'installazione automatica e dovrebbe risolvere la maggior parte dei problemi.

Passaggio 1: raccogliere le parti

Nel corso del tempo, ho riscontrato che le parti seguenti funzionano meglio nelle mie applicazioni. Queste parti sono più costose di quelle contenute nel solito kit di partenza.

Ottieni parti e strumenti (prezzi in USD):

  • Raspberry Pi 2 modello B (Pi 3) Element14 $ 35 ($ 39)
  • Adattatore WiFi Panda 300n Amazon $ 16,99 (non necessario se si utilizza Pi 3)
  • Adattatore di alimentazione USB da 5,2 V 2,1 A da Amazon $ 5,99
  • Cavo da micro USB a USB 3 piedi da Amazon $ 4,69
  • Cavo Ethernet CAT5e/6 $x.xx, dipende dalla lunghezza
  • Custodia da Amazon $ 6,99
  • SanDisk Ultra 16 GB microSDHC Classe 10 con adattatore (SDSQUAN-016G-G4A) da Amazon $ 8,99
  • Articoli comuni o riutilizzabili:

    • MacBook Pro (uso un MAC perché esegue Linux come sistema operativo di base. Tuttavia, è possibile utilizzare un PC Windows)
    • Cavo da seriale a USB FTDI TTL-232R-RPI da Mouser $ 15
    • TV con porta HDMI
    • Tastiera USB
    • Mouse USB
    • Cavo HDMI (necessario solo al primo passaggio)

Appunti:

  • Il testo racchiuso tra picche, ad esempio ♣replace-this♣, deve essere sostituito con un valore effettivo. Ovviamente togliete le picche.
  • I comandi sono indicati da $. Se i comandi taglia e incolla, non copiare il file $.

Passaggio 2: imposta Raspberry Pi

Usa questa istruzione per configurare il Raspberry Pi con DietPi. Se preferisci, Raspbian può essere utilizzato con questo istruibile.

Ho cambiato il nome host in "monitor-hostname". Sostituisci gli elementi in con i valori effettivi.

Passaggio 3: apri la finestra del terminale e accedi

Prima di ciascuno dei seguenti passaggi:

  • Apri una finestra del terminale su un MacBook o un PC, quindi
  • Accedi a Raspberry Pi

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

Se hai installato avahi-daemon sul tuo Raspberry Pi, puoi accedere in questo modo (sono pigro e non voglio ricordare gli indirizzi IP):

$ ssh pi♣hostname♣.local

Passaggio 4: aggiorna e aggiorna sempre

Prima di installare nuovi pacchetti su un server, aggiorna e aggiorna sempre.

  • Aggiorna scarica gli elenchi di pacchetti più recenti dai repository appropriati.
  • L'aggiornamento aggiorna i pacchetti
  • La rimozione automatica elimina i pacchetti che non sono più necessari
  • Il riavvio è facoltativo. Alcuni servizi devono essere riavviati dopo un aggiornamento. Il riavvio è il modo più pigro per garantire che tutti i servizi richiesti vengano riavviati correttamente

$ sudo apt-get update -y

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

Oppure puoi saltare tutti i passaggi rimanenti e utilizzare l'installazione automatica in una delle appendici.

Passaggio 5: installare le dipendenze Shinken

Spesso Shinken viene eseguito su un server molto grande ed è installato su una macchina virtuale (VM). Un server di grandi dimensioni è in grado di eseguire più VM. Le macchine virtuali hanno molti vantaggi quando si amministrano più server o più istanze dello stesso server. Le VM fanno un uso efficiente delle costose risorse del server.

Una macchina virtuale può essere eseguita su Raspberry Pi. Tuttavia, molti dei vantaggi dell'esecuzione di una VM su un Raspberry Pi da $ 35 vengono persi. Shinken NON richiede una VM. Questa istruzione non utilizza una macchina virtuale.

Installa le dipendenze shinken: sqlite3, php5, python3 e alcune librerie 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

Passaggio 6: installa Shinken

Aggiungi l'utente shinken e installa shakerato usando pip.

$ sudo adduser shinken

$ sudo pip install shinken $ sudo adduser shinken sudo

Quanto sopra installa shinken e alcuni demoni in /etc/init.d:

  • shinken-poller
  • shinken-reactionner
  • shinken-ricevitore
  • Shinken-scheduler
  • shinken-broker

Passaggio 7: inizializzazione e avvio di Shinken

Nel caso in cui Shinken stia correndo, fermalo. Inoltre, crea una directory di registro e imposta i permessi.

$ sudo mkdir /var/log/shinken

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

Esegui quanto segue per inizializzare e avviare shinken:

$ sudo shinken --init

$ sudo /etc/init.d/shinken start

Verifica che Shinken sia configurato correttamente:

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

Fai partire Shinken all'avvio

$ sudo update-rc.d shinken defaults

Passaggio 8: impostare e configurare Sqlite3

Imposta sqlite come database shinken:

$ sudo shinken install sqlitedb

Crea un file di configurazione per aggiungere sqlite:

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

Sto usando sqlite3. Non è chiaro come questo venga mappato in sqlite3 o in un particolare file DB sqlite.

definire modulo {

nome_modulo sqlitedb tipo_modulo sqlitedb uri /var/lib/shinken/webui.db }

Modificare i permessi sul file

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

Passaggio 9: installare l'interfaccia utente Web Shinken

Installa l'interfaccia utente Web di Shinken:

$ sudo /usr/bin/shinken search webui

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

Modifica la configurazione dell'interfaccia utente Web e cambia la voce: CHANGE_ME. Non sono sicuro di cosa dovrebbe essere cambiato. Ho cambiato in una parola a caso.

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

Modifica il broker principale per includere i moduli dell'interfaccia utente Web

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

Cambia la linea:

moduli

a

moduli webui

Riavvia shinken

$ sudo /etc/init.d/shinken restart

Passaggio 10: aggiungi utenti e password

Assicurati che sia installato un metodo per autorizzare gli utenti Shinken

$ sudo shinken install auth-cfg-password Modifica la configurazione dell'interfaccia utente Web di Shinken

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

Cambia per assomigliare a:

moduli auth-cfg-password

Vince35 suggerisce che è necessario riavviare a questo punto:

$ sudo /etc/init.d/shinken restart

Apri una finestra del browser e accedi utilizzando password e nome utente: admin, admin. Inserisci quanto segue nell'URL del browser (rimuovi gli spazi intorno ai due punti):

♣hostname♣.local:7767

accedi usando admin, raspberry-pi-password

E dovrebbe funzionare!

Passaggio 11: Appendice: Riferimenti

Monitoraggio della rete

Interessante documento di panoramica sul monitoraggio della rete

Monitor di rete

  • fing:
  • HowToGeek.com - ottima fonte
  • MRTG:
  • Netbeez:
  • Raspberry Pi Geek:
  • Shinken: riscrittura di Nagios in python:
  • Shinken Install:
  • Configurazione dell'interfaccia utente web Shinken:
  • Sistema GitHub:
  • Rob Layton: configurazione manuale di un server di monitoraggio Shinken

Passaggio 12: Appendice: Aggiornamenti

15 OTTOBRE 2016: Immagine di copertina aggiornata per includere i loghi Shinken e Raspberry Pi

16OTT2016: Riformulati alcuni passaggi. Nessuna modifica tecnica.

19 OTTOBRE 2016: Aggiornato istruibile e UAI per avviare shinken al riavvio

Miglioramenti futuri:

Aggiungi i sistemi da monitorare, nell'istruzione o come appendice con script di esempio

Passaggio 13: Appendice: risoluzione dei problemi

Modificare le autorizzazioni sulle directory

/usr/bin

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

Ho riavviato il Raspberry Pi, ma shinken non si avviava. Non sono riuscito a scrivere nelle directory di registro. Quindi, ho apportato le seguenti modifiche:

sudo mkdir /var/log/shinken

sudo chmod 777 /var/log/shinken

shinken localhost down

Se localhost mostra come inattivo.

$ sudo nano /etc/network/interfaces

Per qualsiasi motivo, il mio file /etc/network/interfaces di solito è incasinato. Cambia questa riga:

auto lo iface lo inet loopback

a queste due righe:

spegnimento automatico

iface lo inet loopback

E riavvia

$ sudo reboot

Init.d dovrebbe iniziare automaticamente lo shinken, ma ho dovuto fare questo:

$ sudo /etc/init.d/shinken restart

Passaggio 14: Appendice: installazione automatica

Semplifica l'installazione e la configurazione di Shinken automatizzando i passaggi indicati utilizzando uno script di installazione automatica bash. Lo script presuppone un raspberry pi con raspbian o dietpi, che è stato configurato utilizzando uno dei collegamenti incorporati.

Ho finito lo script su github e

  • testato la fonte su dietpi
  • script di installazione automatica testato su dietpi

    • corse una volta
    • eseguito più volte, con interruzioni CTRL-c
  • script di installazione non presidiato testato su raspbian e diet-pi

Lo script assume il nome utente = pi e la password = raspberry e lo script sta tentando di installare shinken. Se questi non sono corretti, modifica il file di conseguenza.

Apri la finestra del terminale su un MacBook o un PC ed esegui i seguenti comandi:

$ ssh pi@♣indirizzo-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/ riavvio shinken

Lo script impiega alcuni minuti per essere eseguito su diet-pi.

Assicurati di riavviare il Raspberry Pi e attendi fino all'avvio di shinken

Apri un browser e nella finestra dell'URL inserisci:

♣indirizzo-ip♣:7767

Accedi utilizzando admin e raspberry-pi-password♣

E dovrebbe funzionare!

Consigliato: