Spisu treści:

Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi: 14 kroków
Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi: 14 kroków

Wideo: Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi: 14 kroków

Wideo: Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi: 14 kroków
Wideo: VMS твоя СИСТЕМА ВИДЕОНАБЛЮДЕНИЯ на ПК ноутбуке 2024, Listopad
Anonim
Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi
Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi

UWAGA: shinken został ostatnio zaktualizowany w MAR2016 do stabilnej wersji 2.4.3. Tak więc kilka lat temu przeszedłem na inne sposoby monitorowania sieci domowej. Ponadto wydaje się, że php5 nie jest dostępne

Więc proszę, nie używaj tej instrukcji!

Zainstaluj i skonfiguruj najnowszą wersję Shinken Network Monitor dla domu lub małej firmy.

W pracy mój zespół tworzy oprogramowanie dla ponad 75 klas serwerów, z ponad 300 instancjami w wielu centrach danych i punktach obecności. Istnieje doświadczony zespół operacyjny, który monitoruje i utrzymuje te serwery działające 24x7. Nie mam niczego bliskiego ich wiedzy lub doświadczeniu. Poza sobą nie mam nikogo, kto wspiera moją sieć domową. I nie chcę spędzać czasu na monitorowaniu i utrzymywaniu mojej sieci domowej.

Moja domowa sieć LAN ma ponad 40 podłączonych urządzeń, czyli znacznie więcej, niż się spodziewałem. Wiele domów, a może nawet Twój, ma dużą liczbę podłączonych urządzeń. Przykładami urządzeń sieciowych są:

  • laptopy i tablety
  • Czytniki e-booków
  • telefony komórkowe
  • termostaty gniazdowe, dzwonki do drzwi
  • system bezpieczeństwa, system nawadniający
  • telewizory smart, odbiorniki U-verse i DVR
  • serwery mediów strumieniowych (Apple TV, Roku, ChromeCast FireStick)
  • projekty automatyki domowej raspberry pi

W miarę podłączania coraz większej liczby urządzeń domowych oczekuję, że moja sieć będzie się rozwijać.

Dlaczego w domu powinien być monitor sieciowy? W sieci domowej znajdują się krytyczne serwery i usługi. Przykłady serwerów o znaczeniu krytycznym to: brama dostawcy usług internetowych, punkt dostępu bezprzewodowego, system bezpieczeństwa i system nawadniający. Przykłady usług o znaczeniu krytycznym obejmują: tworzenie kopii zapasowych komputerów PC lub MAC, zapewnienie działania Wi-Fi lub Internetu z wymaganą szybkością. Aby upewnić się, że krytyczne usługi/serwery działają, należy je ręcznie sprawdzać w regularnych odstępach czasu, co zajmuje dużo czasu. Alternatywnie serwery powinny być automatycznie sprawdzane za pomocą monitora sieci, który próbuje naprawić problem i wysyła alert, jeśli nie jest w stanie naprawić.

Shinken to monitor sieci działający na dowolnym komputerze. W tym instruktażu zdobędę go do uruchomienia Raspberry Pi (2 lub 3) z systemem Diet-Pi lub raspbian.

Istnieje wiele doskonałych aplikacji do monitorowania sieci. Przykładami są: SolarWinds, NetCool i nagios. Aplikacje te są w stanie monitorować, identyfikować problemy, samonaprawiać się i wysyłać alerty.

Ogólnie starałem się, aby moja sieć była tania i prosta w utrzymaniu i aktualizacji. Skupiłem się na aplikacjach open source napisanych w niewielkiej liczbie języków. Moje języki do wyboru to: python, bash, html i css.

Shinken to nowa wersja nagios w języku python o otwartym kodzie źródłowym. Shinken pasuje więc do moich ograniczeń i spełnia moje potrzeby.

Instrukcja zawiera instrukcje krok po kroku, jeśli chcesz to zrobić ręcznie. Ale chcę, aby proces był powtarzalny, więc dołączam również skrypt instalacji nienadzorowanej w dodatku, który robi wszystko za pomocą kilku poleceń. Jeśli coś pójdzie nie tak, po prostu uruchom instalację nienadzorowaną, która powinna rozwiązać większość problemów.

Krok 1: Zbierz części

Z biegiem czasu odkryłem, że poniższe części najlepiej sprawdzają się w moich aplikacjach. Te części są droższe niż te zawarte w zwykłym zestawie startowym.

Uzyskaj części i narzędzia (ceny w USD):

  • Raspberry Pi 2 model B (Pi 3) Element14 35 USD (39 USD)
  • Adapter WiFi Panda 300n Amazon 16,99 USD (nie jest potrzebny, jeśli używane jest Pi 3)
  • Zasilacz USB 5,2 V 2,1 A firmy Amazon 5,99 USD
  • Kabel Micro USB na USB 3 stopy od Amazon 4,69 USD
  • Kabel Ethernet CAT5e/6 $x.xx, w zależności od długości
  • Etui z Amazon $6,99
  • SanDisk Ultra 16 GB microSDHC klasy 10 z adapterem (SDSQUAN-016G-G4A) od Amazon $ 8,99
  • Przedmioty powszechne lub wielokrotnego użytku:

    • MacBook Pro (używam MAC, ponieważ działa na nim Linux jako podstawowy system operacyjny. Można jednak użyć komputera z systemem Windows)
    • Kabel FTDI TTL-232R-RPI Serial na USB od Mouser $15
    • Telewizor z portem HDMI
    • Klawiatura USB
    • Mysz USB
    • Kabel HDMI (wymagany tylko przy pierwszym przejściu)

Uwagi:

  • Tekst ujęty w pik, taki jak „zamień to”, należy zastąpić rzeczywistą wartością. Oczywiście wyjmij łopaty.
  • Polecenia są oznaczone znakiem $. W przypadku poleceń wycinania i wklejania nie należy kopiować znaku $.

Krok 2: Skonfiguruj Raspberry Pi

Użyj tej instrukcji, aby skonfigurować Raspberry Pi z systemem DietPi. Jeśli wolisz, Raspbian może być używany z tą instrukcją.

Zmieniłem nazwę hosta na „monitor-hostname”. Zastąp elementy w ♣ rzeczywistymi wartościami.

Krok 3: Otwórz okno terminala i zaloguj się

Przed każdym z poniższych kroków:

  • Otwórz okno terminala na MacBooku lub PC, a następnie
  • Zaloguj się do Raspberry Pi

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

Jeśli zainstalowałeś avahi-daemon na swoim Raspberry Pi, możesz zalogować się w ten sposób (jestem leniwy i nie chcę pamiętać adresów IP):

$ ssh pi♣nazwa hosta♣.local

Krok 4: Zawsze aktualizuj i aktualizuj

Przed zainstalowaniem nowych pakietów na serwerze zawsze aktualizuj i aktualizuj.

  • Aktualizacja pobiera najnowsze listy pakietów z odpowiednich repozytoriów.
  • Upgrade aktualizuje pakiety
  • Automatyczne usuwanie usuwa pakiety, które nie są już potrzebne
  • Ponowne uruchomienie jest opcjonalne. Niektóre usługi wymagają ponownego uruchomienia po uaktualnieniu. Ponowne uruchomienie to leniwy sposób na zapewnienie prawidłowego ponownego uruchomienia wszystkich wymaganych usług

$ sudo apt-get update -y

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

Możesz też pominąć wszystkie pozostałe kroki i użyć instalacji nienadzorowanej w jednym z załączników.

Krok 5: Zainstaluj zależności Shinken

Często shinken działa na bardzo dużym serwerze i jest instalowany na maszynie wirtualnej (VM). Duży serwer może obsługiwać wiele maszyn wirtualnych. Maszyny wirtualne mają wiele zalet w przypadku administrowania wieloma serwerami lub wieloma wystąpieniami tego samego serwera. Maszyny wirtualne efektywnie wykorzystują drogie zasoby serwera.

Maszyna wirtualna może działać na Raspberry Pi. Jednak wiele korzyści płynących z uruchamiania maszyny wirtualnej na Raspberry Pi za 35 USD zostaje utraconych. Shinken NIE wymaga maszyny wirtualnej. Ta instrukcja nie używa maszyny wirtualnej.

Zainstaluj zależności shinken: sqlite3, php5, python3 i niektóre biblioteki Pythona:

$ 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

Krok 6: Zainstaluj Shinken

Dodaj użytkownika shinken i zainstaluj wstrząśnięty za pomocą pip.

$ sudo adduser zmniejszy się

$ sudo pip install shinken $ sudo adduser shinken sudo

Powyższe instaluje shinken i niektóre demony w /etc/init.d:

  • shinken-poller
  • shuken-reactionner
  • Shinken-odbiornik
  • shinken-scheduler
  • shinken-broker

Krok 7: Zainicjuj i uruchom Shinken

Na wypadek, gdyby Shinken działał, zatrzymaj go. Utwórz także katalog dziennika i ustaw uprawnienia.

$ sudo mkdir /var/log/shinken

$ sudo chmod 777 /var/log/shinken $ sudo usługa shinken stop

Uruchom następujące polecenie, aby zainicjować i rozpocząć shinken:

$ sudo shinken --init

$ sudo /etc/init.d/shinken start

Sprawdź, czy shinken jest poprawnie skonfigurowany:

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

Rozpocznij shinken przy starcie

$ sudo update-rc.d shinken domyślne

Krok 8: Konfiguracja i konfiguracja Sqlite3

Skonfiguruj sqlite jako bazę danych shinken:

$ sudo shinken zainstaluj sqlitedb

Utwórz plik konfiguracyjny, aby dodać sqlite:

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

Używam sqlite3. Nie jest jasne, w jaki sposób to mapuje się do sqlite3 lub do konkretnego pliku sqlite DB.

zdefiniuj moduł {

nazwa_modułu sqlitedb typ_modułu sqlitedb uri /var/lib/shinken/webui.db }

Zmień uprawnienia do pliku

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

Krok 9: Zainstaluj Shinken Web UI

Zainstaluj interfejs WWW Shinkena:

$ sudo /usr/bin/shinken search webui

$ sudo /usr/bin/shinken zainstaluj webui Chwytanie: webui OK webui

Edytuj konfigurację Web UI i zmień wpis: CHANGE_ME. Nie jestem pewien, na co ma to być zmiana. Zmieniłem się na przypadkowe słowo.

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

Edytuj głównego brokera, aby zawierał moduły interfejsu internetowego

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

Zmień linię:

moduły

do

moduły webui

Zrestartuj pomniejsz

$ sudo /etc/init.d/shinken restart

Krok 10: Dodaj użytkowników i hasła

Upewnij się, że jest zainstalowana metoda autoryzacji użytkowników Shinken

$ sudo shinken zainstaluj auth-cfg-password Edytuj konfigurację webowego interfejsu użytkownika shinken

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

Zmień na:

moduły auth-cfg-password

Vince35 sugeruje, że w tym momencie potrzebny jest restart:

$ sudo /etc/init.d/shinken restart

Otwórz okno przeglądarki i zaloguj się używając hasła i nazwy użytkownika: admin, admin. Wprowadź następujące informacje w adresie URL przeglądarki (usuń spacje wokół dwukropka):

♣nazwa hosta♣.local:7767

zaloguj się za pomocą admina, raspberry-pi-password

I powinno działać!

Krok 11: Dodatek: Referencje

Monitorowanie sieci

Ciekawy dokument przeglądowy monitorowania sieci

Monitory sieciowe

  • fing:
  • HowToGeek.com - doskonałe źródło
  • MRTG:
  • Netbeez:
  • Raspberry Pi Geek:
  • Shinken: przepisanie Nagios w Pythonie:
  • Instalacja Shinken:
  • Konfiguracja interfejsu internetowego Shinken:
  • System GitHub:
  • Rob Layton: Ręczne konfigurowanie serwera monitorowania Shinken

Krok 12: Dodatek: Aktualizacje

15PAŹ2016: Zaktualizowano obraz okładki, aby uwzględnić logo Shinken i Raspberry Pi

16PAŹ2016: Przeformułowano niektóre fragmenty. Bez zmian technicznych.

19PAŹ2016: Zaktualizowano instrukcje i UAI, aby zacząć zmniejszać się po ponownym uruchomieniu

Przyszłe ulepszenia:

Dodaj systemy, które mają być monitorowane, w instrukcji lub jako dodatek z przykładowymi skryptami

Krok 13: Dodatek: Rozwiązywanie problemów

Zmień uprawnienia w katalogach

/usr/bin

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

Zrestartowałem Raspberry Pi, ale shinken nie chciał się uruchomić. Nie mogłem pisać do katalogów dziennika. Wprowadziłem więc następujące zmiany:

sudo mkdir /var/log/shinken

sudo chmod 777 /var/log/shinken

zmniejszony localhost w dół

Jeśli host lokalny pokazuje się jako wyłączony.

$ sudo nano /etc/sieć/interfejsy

Z jakiegoś powodu mój plik /etc/network/interfaces jest zwykle zawalony. Zmień ten jeden wiersz:

auto lo iface lo inet sprzężenie zwrotne

do tych dwóch wierszy:

auto lo

iface lo inet sprzężenie zwrotne

I uruchom ponownie

$ restart sudo

Plik init.d powinien automatycznie zacząć się zmniejszać, ale musiałem to zrobić:

$ sudo /etc/init.d/shinken restart

Krok 14: Dodatek: Instalacja nienadzorowana

Ułatw instalację i konfigurację shinken, automatyzując instrukcje, które można wykonać za pomocą skryptu instalacji nienadzorowanej bash. Skrypt zakłada raspberry pi z systemem raspbian lub dietpi, który został skonfigurowany przy użyciu jednego z osadzonych linków.

Skończyłem skrypt na githubie i

  • przetestowałem źródło na dietpi
  • przetestowany skrypt instalacji nienadzorowanej na dietpi

    • pobiegł raz
    • uruchomiony wiele razy, z przerwaniami CTRL-c
  • przetestowany skrypt instalacji nienadzorowanej na raspbian i diet-pi

Skrypt przyjmuje nazwę użytkownika = pi, a hasło = malina, a skrypt próbuje zainstalować shinken. Jeśli nie są one poprawne, edytuj odpowiednio plik.

Otwórz okno terminala na MacBooku lub PC i uruchom następujące polecenia:

$ ssh pi@♣adres-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/ shinken restart

Uruchomienie skryptu na diet-pi zajmuje kilka minut.

Pamiętaj, aby ponownie uruchomić Raspberry Pi i poczekać, aż zacznie się shinken

Otwórz przeglądarkę iw oknie URL wpisz:

♣adres-ip♣:7767

Zaloguj się przy użyciu admina i ♣raspberry-pi-password♣

I powinno działać!

Zalecana: