Namestitev Shinken 2.0 na Debian Wheezy
Do sedaj sem za nadzor vedno uporabljal slavni par Nagios / Centreon. Le da se danes oba projekta ne razumeta preveč. Razvijalci Nagiosa se od različice 4 ne trudijo več, da bi svoje orodje naredili združljivo z zgodovinskim prekrivanjem Centreon. In obratno, ekipa Centreon tega ne želi več dodati v Nagios iz stabilne različice njihovega motorja z imenom Centreon Engine. Slednjemu sem poskušal dati priložnost. Toda po nekaj urah, preživetih na tibetanskih forumih, ki so iskali popravek za napako SQL, sem se odločil, da začnem iz nič in si najdem novo orodje za spremljanje.
Namestitev Shinken
Shinken potrebuje uporabnika za delovanje.
1
|
useradd –m shinken
|
Preidemo na namestitev odvisnosti python, ki so potrebne za namestitev
1
|
apt–get install python–pycurl python–setuptools python–pip
|
Namestitev Shinkena se izvede preko pip
1
|
pip install shinken
|
Ta namestitev nam daje naslednjo drevesno strukturo
- / etc / shinken : vsa konfiguracija programa
- / usr / bin / shinken- * : skripti za zagon demona
- / var / lib / shinken : moduli shinken in vtičniki za spremljanje (na to se bomo vrnili)
- / var / log / shinken : strogo zaupno
Orodje zaženemo z njegovim init skriptom
1
|
/etc/init.d/shinken start
|
Shinken privzeto nadzoruje samo sebe. Še več, ta nadzor je zelo lahek. Če pogledate stran konfiguracije gostitelja pod /etc/shinken/hosts/localhost.cfg, lahko vidite, da slednji uporablja »predlogo« z imenom »generic-host«, ki samo preveri, ali je gostitelj vzpostavljen.
Dodali bomo nekaj osnovnih preverjanj našega gostitelja. Za to bomo uporabili specializiran paket. Paketi so skriptna polja za spremljanje določene naprave in so na voljo na tej strani.
Gremo pod uporabnika Shinken, da namestimo paket
1
|
su – shinken
|
Shinken CLI je treba inicializirati, da ustvarite ini datoteko, ki vsebuje poti do različnih imenikov konfiguracije orodja.
1
|
shinken —init
|
Zdaj lahko poiščemo naš paket Linux
1
|
shinken search linux
|
Kar daje naslednji rezultat
1
2
3
4
5
|
glances (david–guenault) [pack,system,linux,glances] : Standard check through checkglances.py and glances server
linux–snmp (naparuba) [pack,linux,snmp] : Linux checks based on SNMP
linux–ssh (naparuba) [pack,linux,ssh] : Linux checks based on SSH without any script on distant server
pack–glances (david–guenault) [pack,system,linux,glances] : Standard check through checkglances.py and glances server
raspberrypi (frescha) [pack,linux,raspberrypi,server,os] : Standard checks
|
Izbrali bomo paket linux-ssh, ki je način agenta. Skript odpre povezavo ssh za zagon ukaza na oddaljenem strežniku in pridobivanje informacij. Vedeti morate, da ta način ni najbolj priporočljiv, ker porabi več virov kot klasična zahteva SNMP.
1
|
shinken install linux–ssh
|
Paket je nameščen z vsemi vtičniki v mapi / var / lib / shinken / libexec /.
Ti vtičniki potrebujejo knjižnico z imenom python-paramiko. Za izvedbo te namestitve se vrnemo na root.
1
2
3
|
exit # pour repasser root
apt–get install python–paramiko
su – shinken # retour sur l’user shinken
|
Ti vtičniki zaženejo ssh povezavo na oddaljenem strežniku, v tem primeru lokalnem strežniku v našem primeru. Zato bomo ustvarili par ključev ssh in dali javni ključ uporabniku shinken.
1
|
ssh–keygen
|
Ne vnašajte gesla, sicer bi skript ob vsaki izvedbi čakal na človeško posredovanje, da ga vnese.
Namestitev javnega ključa
1
|
ssh–copy–id –i ~/.ssh/id_rsa shinken@localhost
|
Preizkusili bomo vtičnik, da se prepričamo, da vse deluje brezhibno
1
|
/var/lib/shinken/libexec/check_load_average_by_ssh.py –H localhost
|
Kaj mora dati
1
|
Ok: load average is good 0.59,0.27,0.15 | load1=0.59;1.00;2.00;; load5=0.27;1.00;2.00;; load15=0.15;1.00;2.00;;
|
Zato bomo v definicijo našega gostitelja dodali oznako linux-ssh. Za to uredimo /etc/shinken/hosts/localhost.cfg
1
2
3
4
5
6
|
define host{
use linux–ssh,generic–host
contact_groups admins
host_name localhost
address localhost
}
|
Za več podrobnosti o konfiguraciji gostitelja vas napotim na uradno dokumentacijo.
Znova zaženemo shinken, da upoštevamo
1
|
/etc/init.d/shinken restart
|
Opozorila si lahko ogledate v dnevniški datoteki
1
|
tail –f /var/log/shinken/schedulerd.log
|
No, konzola ni odlična za prikaz stanja naših strojev. Namestili bomo spletni vmesnik Shinken, da bo bolj prijeten.
Namestitev spletnega vmesnika
Spletni vmesnik je modul posrednika demonov, ki bo bral, interpretiral in prikazal rezultate, pridobljene v dnevniških datotekah.
Namestitev se izvede s pozivom uporabnika shinken
1
|
shinken install webui
|
Konfiguracija je v datoteki /etc/shinken/modules/webui.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
define module {
module_name webui
module_type webui
host 0.0.0.0
port 7767
auth_secret CHANGE_ME
allow_html_output 1
max_output_length 1024
manage_acl 1
play_sound 0
login_text Welcome on Shinken WebUI
modules
}
|
Ta modul je treba dodati glavnemu posredniku v datoteki /etc/shinken/brokers/broker-master.cfg
1
|
modules webui
|
Ponovno zaženemo shinken
1
|
/etc/init.d/shinken restart
|
S spletno stranjo se povežete prek brskalnika na naslovu naprave na pristanišču, ki je določeno v konfiguracijski datoteki modula webui.
Prijavite se s skrbniškimi identifikatorji, ki jih najdete v konfiguracijski datoteki /etc/shinken/contacts/admin.cfg
1
2
3
4
5
6
7
8
|
define contact{
use generic–contact
contact_name admin
email shinken@localhost
pager 0600000000 ; contact phone number
password admin
is_admin 1
}
|
In … .. neuspešno!
To je normalno, pomirjam vas. Preverjanje pristnosti upravlja modul. Treba ga je dodati. Oglejmo si razpoložljive module za preverjanje pristnosti
1
|
shinken search webui auth
|
Kdo daje:
1
2
3
|
auth–cfg–password (naparuba) [module,auth,authentification,mod–auth–cfg–password,auth–cfg–password,cfg–password,webui] : Shinken module for UI authentification from simple password for configuration file
auth–htpasswd (naparuba) [module,webui,auth,authentification] : Shinken module for UI authentification from Apache passwd files
auth–pam (mingbo_wan) [module,auth,authentification,auth–cfg–pam,cfg–pam,webui] : Shinken module for UI authentification via pam
|
- cfg-password: preprosto preverjanje pristnosti na podlagi gesla, shranjenega v konf.
- htpassword: temelji na datoteki apache htaccess
- aktivni imenik: preverjanje pristnosti na podlagi AD ali LDAP
Namestimo prvega
1
|
shinken install auth–cfg–password
|
V datoteki conf modula ni ničesar za deklarirati (/etc/shinken/modules/auth_cfg_password.cfg), vendar morate slednje še vedno navesti kot za druge v modulu webui pod / etc / shinken / modules / webui.cfg
1
|
modules auth–cfg–password
|
In ponovni zagon, ki je zraven
1
|
/etc/init.d/shinken restart
|
Tokrat prijava poteka. V pogledu »vse« bi morali videti svojega gostitelja in vse storitve paketa linux-ssh.
Normalno je, da pride do napake v vrsti
1
|
Error : cannot fetch cpu stats values from host
|
Vtičnik za obnovitev informacij CPE temelji na programu sysstat. Mora biti nameščen v sistemu.
1
|
apt–get install sysstat
|
Če gremo v pogled "/ nadzorna plošča", dobimo veliko sporočilo o napaki
To je tudi normalno. Nadzorna plošča je specifična za vsakega uporabnika. Modul WebUI mora shraniti nastavitve vsakega uporabnika v ravno datoteko ali bazo podatkov. Tukaj bomo uporabili sqlite.
Namestitev prek uporabnika shinken
1
|
shinken install sqlitedb
|
In dodamo modul v modul Webui pod /etc/shinken/modules/webui.cfg
1
|
modules auth–cfg–password,sqlitedb
|
Slavni ponovni zagon
1
|
/etc/init.d/shinken restart
|
Zdaj lahko dodate pripomočke na stran/nadzorno ploščo
Tukaj je končana namestitev. V naslednjem članku bom govoril o dodajanju gostiteljev in storitev. Medtem je še vedno uradna dokumentacija.