ZhoubaWiki:IcingaMonitoredServer

From ZhoubaWiki
Jump to navigation Jump to search

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?

File:Nrpe.png

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/.

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živatele nagios (nebo pokud máme v nrpe.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čí v nrpe.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 .