Shinken je open source počítačový a síťový monitorovací rámec napsaný v pythonu a kompatibilní s Nagios. Shinken lze použít na všech operačních systémech, které mohou spouštět aplikace python, jako je Linux, Unix a Windows. Shinken napsal Jean Gabes jako důkaz koncepce pro novou architekturu Nagios, ale byla zamítnuta autorem Nagios a stala se nezávislým nástrojem pro monitorování sítě a systému, který zůstává kompatibilní s Nagios.
V tomto tutoriálu vám ukážu, jak nainstalovat Shinken ze zdroje a přidat hostitele Linuxu do monitorovacího systému. Jako operační systém pro server Shinken a monitorovaného hostitele budu používat Ubuntu 16.04 Xenial Xerus.
Krok 1 – Instalace serveru Shinken
Shinken je python framework, můžeme jej nainstalovat pomocí pip nebo jej nainstalovat ze zdroje. V tomto kroku nainstalujeme Shinken ze zdroje.
Než začneme instalovat Shinken, je třeba dokončit některé úkoly.
Nainstalujte si nějaké nové balíčky pythonu a vytvořte uživatele Linuxu se jménem "shinken":
sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinken
Stáhněte si zdroj Shinken z úložiště GitHub:
klon git https://github.com/naparuba/shinken.git
cd shinken/
Poté nainstalujte Shinken pomocí příkazu níže:
git checkout 2.4.3
instalace pythonu setup.py
Dále, pro lepší výsledky, musíme nainstalovat 'python-cherrypy3' z úložiště ubuntu:
sudo apt-get install python-cherrypy3
Nyní je Shinken nainstalován, poté přidáme Shinken, aby se spustil při bootování, a spustíme jej:
update-rc.d shinken defaults
systemctl start shinken
Krok 2 – Instalace Shinken Webui2
Webui2 je webové rozhraní Shinken dostupné na webu shinken.io. Nejjednodušší způsob instalace Sshinken webui2 je pomocí shinken CLI příkaz (který musí být proveden jako shinken uživatel).
Přihlaste se k uživateli shinken:
su - shinken
Inicializujte konfigurační soubor shinken - Příkaz vytvoří novou konfiguraci .shinken.ini:
shinken --init
A nainstalujte webui2 pomocí tohoto příkazu shinken CLI:
shinken install webui2
Webui2 je nainstalován, ale musíme nainstalovat MongoDB a další balíček python s pip. Spusťte níže uvedený příkaz jako root:
sudo apt-get install mongodb
pip install pymongo>=3.0.3 požadavků arrow bottle==0.12.8
Dále přejděte do adresáře shinken a přidejte nový modul webui2 úpravou souboru 'broker-master.cfg':
cd /etc/shinken/brokers/
vim broker-master.cfg
Přidejte novou možnost do modulu na řádek 40:
moduly webui2
Uložte soubor a ukončete editor.
Nyní přejděte do adresáře kontaktů a upravte soubor 'admin.cfg' pro konfiguraci správce.
cd /etc/shinken/contacts/
vim admin.cfg
Změňte hodnoty zobrazené níže:
contact_name admin # Uživatelské jméno 'admin'
heslo vaše heslo # Pass 'mypass'
Uložte a ukončete.
Krok 3 – Instalace Nagios-plugins a balíčků Shinken
V tomto kroku nainstalujeme pluginy Nagios a nějaký modul Perl. Poté nainstalujte další balíčky shinken z webu shinken.io, abyste provedli monitorování.
Nainstalujte pluginy Nagios a cpanminus, které jsou nutné pro sestavení a instalaci modulů Perl:
sudo apt-get install nagios-plugins* cpanminus
Nainstalujte tyto moduly Perl pomocí příkazu cpanm:
cpanm Net::SNMP
Cpanm Time::HiRes
cpanm DBI
Nyní vytvořte nový odkaz na soubor utils.pm, abyste odstranili adresář a vytvořte nový adresář pro Log_File_Health:
chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/
mkdir -p /var/log/rhosts/
dotkněte se /var/log/rhosts/remote-hosts.log
Dále nainstalujte balíčky shinken ssh a linux-snmp pro monitorování zdrojů SSH a SNMP z webu shinken.io:
su - shinken
instalace shinken ssh
instalace shinken linux-snmp
Krok 4 – Přidání nového hostitele Linuxu/hostitele
Přidáme nového hostitele Linuxu, který bude monitorován pomocí serveru Ubuntu 16.04 s IP adresou 192.168.1.121 a názvem hostitele 'host-one'.
Připojte se k hostiteli Linux:
ssh [e-mail chráněný]
Nainstalujte balíčky snmp a snmpd z úložiště Ubuntu:
sudo apt-get install snmp snmpd
Dále upravte konfigurační soubor 'snmpd.conf' pomocí vim:
vim /etc/snmp/snmpd.conf
Řádek 15 komentáře a 17. řádek:
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161
Zakomentujte řádek 51 a 53 a poté přidejte novou konfiguraci řádku níže:
#rocommunity mypass výchozí -V systemonly
#rocommunity6 mypass výchozí -V systemonly
rocommunity mypass
Uložte a ukončete.
Nyní spusťte snmpd službu pomocí příkazu systemctl:
systemctl start snmpd
Přejděte na server shinken a definujte nového hostitele vytvořením nového souboru v adresáři 'hosts'.
cd /etc/shinken/hosts/
vim host-one.cfg
Vložte konfiguraci níže:
Použijte generický hostitel, Linux-SNMP, SSH
Contact_groups Admins
host_name hostitel-one
Adresa 192.168.1.121
_SNMPComMunity myspass # SNMP Předejte Config na snmpd.conf
}
Uložte a ukončete.
Upravte konfiguraci SNMP na serveru Shinken:
vim /etc/shinken/resource.d/snmp.cfg
Změňte 'public' na 'mypass' – musí to být stejné heslo, jaké jste použili v konfiguračním souboru snmpd na klientském hostiteli-one.
$SNMPCOMMUNITYREAD$=mypass
Uložte a ukončete.
Nyní restartujte oba servery – server Shinken a monitorovaného hostitele Linuxu:
restartovat
Nový hostitel Linuxu byl úspěšně přidán na server Shinken.
Krok 5 – Přístup k Shinken Webui2
Navštivte Shinken webui2 na portu 7677 (nahraďte IP v URL svou IP):
http://192.168.1.120:7767
Přihlaste se jako uživatel admin a vaše heslo (to, které jste nastavili v konfiguračním souboru admin.cfg).
Shinken Dashboard ve Webui2.
Naše 2 servery jsou monitorovány pomocí Shinken.
Seznam všech služeb, které jsou monitorovány pomocí linux-snmp.
Stav všech hostitelů a služeb.
Krok 6 – Běžné problémy se Shinken
– Problémy se serverem NTP
Když se u NTP zobrazí tato chyba.
TimeSync – KRITICKÉ ( NTP KRITICKÉ:Žádná odpověď ze serveru NTP)
TimeSync – KRITICKÉ ( NTP KRITICKÉ:Offset neznámý )
Chcete-li tento problém vyřešit, nainstalujte ntp na všechny hostitele Linuxu.
sudo apt-get install ntp ntpdate
Upravte konfiguraci ntp:
vim /etc/ntp.conf
Okomentujte všechny fondy a nahraďte je:
#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.org
Dále přidejte nový řádek do omezení:
# Místní uživatelé mohou blíže zkoumat ntp server.
omezit 127.0.0.1
omezit 192.168.1.120 #shinken IP adresa serveru
omezit ::1
POZNÁMKA :192.168.1.120 je IP adresa serveru Shinken.
Uložte a ukončete.
Spusťte ntp a zkontrolujte řídicí panel Shinken:
ntpd
- Problém check_netint.pl nenalezen
Stáhněte si zdrojový kód z úložiště github do adresáře shinken lib:
cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl
– Problém s používáním sítě
Objevila se chybová zpráva:
CHYBA:Neznámé rozhraní eth\d+
Zkontrolujte své síťové rozhraní a upravte šablonu linux-snmp.
Na mém serveru Ubuntu je síťové rozhraní 'enp0s8', nikoli eth0, takže se mi zobrazila tato chyba.
Upravte balíčky šablon linux-snmp pomocí vim:
vim /etc/shinken/packs/linux-snmp/templates.cfg
Přidejte síťové rozhraní do řádku 24:
_NET_IFACES eth\d+|em\d+|enp0s8
Uložte a ukončete.
Odkazy
- http://shinken.readthedocs.io/en/latest/
- http://www.roblayton.com/search/label/monitoring