ZhoubaWiki:IcingaMonitoredServer
Jak připravit server pro vzdálené monitorování
Kromě možnosti monitorovat jednotlivé služby serveru přístupné přes síť je samozřejmě možné kontrolovat i služby (či spíše vlastnosti) serveru, které nejou běžně zpřistupňovány po síti.
Jak to funguje?
Icinga daemon na monitotovacím serveru v nastavených intervalech pomocí pluginu check_nrpe
kontaktuje NRPE
daemon na vzdáleném serveru. Tento daemon následně spustí konkrétní plugin (skript) a zprostředkuje jeho návratový kód a status informace zpět check_nrpe
pluginu, který je předá (jako vlastní) Icinga daemonu.
Instalace
Základní balík pluginů
- check_apt
- check_load
- check_disk
- check_swap
- check_raid
- check_mem
- check_iftrafficn
- check_ntp_time
- check_process
- check_open_files
- check_iostat_overall
- check_smart_raid0
- check_smart_raid1
Při instalaci na VPS v tomto balíku vynecháváme pluginy, které vyžadují HW HDD nebo bez něj nedává smysl je používat (check_raid
, check_smart_raid
a občas i check_iostat_overall
).
Co nainstalovat
apt-get install nagios-nrpe-server nagios-plugins sysstat bc
- sysstat a bc jsou instalovány, jelikož některé pluginy vyžadují jejich přítomnost v systému
Protože ale oficiální balík pluginů nepokryje naši základní skupinu monitorovaných služeb, jsou připraveny další pluginy.
Tyto je šikovné nakopírovat mezi již nainstalované pluginy sem /usr/lib/nagios/plugins/
.
- některé pluginy jako třeba
check_raid
potřebují ke své funkci další utility, některé z nich lze najít na webu zmíněném zde Zhouba:IcingaIntroduction#Communitycreatedplugins
Více k NRPE konkrétně Zhouba:IcingaIntroduction#NRPE anebo v oficiální dokumentaci http://docs.icinga.org/latest/en/nrpe.html .
Nastavení
Veškeré nastavení nrpe daemona probíhá úpravou konfiguráku zde /etc/nagios/nrpe.cfg
.
Důležité je hlavně upravit:
- Port použitý pro komunikaci
server_port=5666
- IP monitorovacího serveru; IP localhosta je vhodné zanechat pro testovací účely
allowed_hosts=31.31.73.149,127.0.0.1
- Je možné, že bude třeba upravit tuto direktivu - zvláště u dlouhotrvajících pluginů - po tomto intervalu
NRPE
konkrétní plugin zabije a vrátíUNKNOWN
status
command_timeout=60
- A konečně jména, cesty a parametry jednotlivých pluginů. např:
command[check_Phong_apt]=/usr/lib/nagios/plugins/check_apt -t 45 command[check_Phong_load]=/usr/lib/nagios/plugins/check_load -w 25,20,15 -c 30,25,20 command[check_Phong_disk]=/usr/lib/nagios/plugins/check_disk -w 15% -c 10% -p / command[check_Phong_swap]=/usr/lib/nagios/plugins/check_swap -w 10% -c 5% command[check_Phong_swap_activity]=/usr/lib/nagios/plugins/nagios_check_swap_activity -d 45 -w 1 -c 1024 command[check_Phong_mem]=/usr/lib/nagios/plugins/check_mem -w 90 -c 95 -u -C command[check_Phong_iftrafficn]=/usr/lib/nagios/plugins/check_iftrafficn -i eth0 -u m -b 100 command[check_Phong_ntp_time]=/usr/lib/nagios/plugins/check_ntp_time -H 'us.pool.ntp.org' -w '0.5' -c '1' -t 45 command[check_Phong_process]=/usr/lib/nagios/plugins/check_process -w 500 -c 750 command[check_Phong_open_files]=/usr/lib/nagios/plugins/check_open_files -w '80' -c '90' command[check_Phong_iostat_overall]=/usr/lib/nagios/plugins/check_iostat_overall -w 800,100,100 -c 1000,150,150 -d vda
- Příklad z praxe
- Všimněte si jména serveru ve jméně příkazu - takováto praxe velmi zjednoduší konfiguraci na straně monitorovacího serveru, jelikož v definici příkazu lze použít "globální makro" - v podstatě icinga proměnnou - v tomto případě
$HOSTNAME$
=>check_nrpe -H $HOSTNAME$ -c check_$HOSTNAME$_apt
, kterou si Icinga doplní před spuštěním a v důsledku ušetříme nutnost definovat stejnou či podobnou službu zbytečně pro haždý host.
- Některé pluginy potřebují ke své funkci (
check_smart
,check_raid
) root oprávnění. Přidáme tedy uživatelenagios
(nebo pokud máme vnrpe.cfg
nastaveno pro NRPE jiné uid použijeme toto) do/etc/sudoers
a umožníme mu spouštět jen skripty z/usr/lib/nagios/plugins
. Poté stačí vnrpe.cfg
před konkrétní cestu k pluginu přidat/usr/bin/sudo
.
Více ke konfiguraci nrpe.cfg
Zhouba:IcingaIntroduction#Configuration1 anebo v oficiální dokumentaci http://docs.icinga.org/latest/en/nrpe.html .