Nagios konfigurálás

Fórumok

Sziasztok,

Nem tudom ki mennyire járatos Nagios konfigurálásában, de gondolom találok itt valakit. Szal a probléma a következő: ahhoz, hogy különböző service -okat megfigyeljünk definiálni kell ugye hostokat, hostgroupokat, serviceokat. Ugye nekem józan paraszti ésszel úgy lenne logikus, hogy elkészítek egy fájl csak és kizárólag host definíciókkal, egy másikat hostgroupok számára, egy harmadikat serviceok számára. Legyen ez az alap. Evileg a hostokat rendezhetem hostgroupokba és kellene is.

ÉS itt az én problémám, hogy hiába definiálok hosts.cfg, hostgroups.cfg, valamint services.cfg néven fájlokat a megfelelő könyvtárban amikor megpróbálom restartolni a Nagios szolgáltatást, hibát dob. nagios -v -re a következő szűkszavú morgást kapom:

"Error in configuration file '/usr/local/nagios/etc/servers/hosts.cfg' - Line 1 (NULL value)"

A konfig fájlok a következpképpen néznek ki (pl.!):

host.cfg
"# HOST definíciók

define host{
use windows-server; #Gondolom a template file miatt kell, a példa templatet használom.
host_name server1;
alias server1;
address 000.000.00.0;
}

define host{
use windows-server;
host_name server2;
alias server2;
address 000.000.00.0;
}
"

hostgroups.cfg:

"define hostgroup{
hostgroup_name servers;
alias ALL servers;
members server1, server2;
}"

services.cfg

"# SERVICE definíciók

define service {
hostgroup_name servers;
service_description Uptime;
check_command check_nt!UPTIME;
}
"

Valamit én értek félre? Lehet egyébként ... valami javaslat vagy példa akkor ami alapján megértem?

Előre is köszi a segítséget... :)

Hozzászólások

A LOK 2009 hatasara probaltad ki a nagiost? :):P

a
use generic-host ; Inherit default values from a template
miatt

Nekem ez igy néz ki:
define host{
name generic-host ; The name of this host template - referenced in other host definitions, used for template recursion/resolution
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is disabled
flap_detection_enabled 1 ; Flap detection is disabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}

Oh ... ige naz elírtam. Windows Serverről lévén szó ott persze windows-server kifejezés áll nem pedig generic host. Én is az alap template -et használom egyenlőre. A probléma az, hogyha minden host definíciót külön cfg -be rakok, és mindegyik CFG-ben definiálok egy hostgroupot akkor működik és figyel. Viszont így hogy külön szedtem nem.

Gondolom neked az adott objetkutom azért vannak a host fileban mert nem használsz template -et. Én az egyszerűség kedvéért szeretném használni.

En ugy csinalom, hogy van a hosttemplates.cfg meg a hosts.cfg, es csak ebbe a kettobe vannak dolgok. A nagios szamara elvben mindegy, hany cfg fajlban vannak a cuccok, arra kell odafigyleni, hogy a nagios.cfg-ben az include-olas sorrendje jo legyen, mert a parsolas linearis.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

foci beállításához magyarázat.
A hostgroup definició és a template két külön dolog.
Ha tényleg template-et akarsz használni, akkor a template-ben szerepelnie kell a következő soroknak (a kötelező paraméterekkkel)--

name Generic-Host // Generic-Host vagy bármi más név
register 0 // hogy a Nagios nehogy valós host-nak vegye

a hosts.cfg-ben pedig az eltérő szerver adatokat, valamint:
use Generic-Host // vagy bármi más név

Esetleg, hogy te a host.cfg fájlt állítottad be, a Nagios pedig alapértelmezetten hosts.cfg-t keres?

Újabb ötlet --
A dokumentáció szerint az alábbi paramétereknek szerepelnie kell a hosts.cfg fájlban:

define host{
host_name server1
alias server1
address xxx.xxx.xxx.xxx
max_check_attempts 3
check_period 24x7
contact_groups localadmins
notification_interval 120
notification_period 24x7
notification_options d,u,r,f
}

Én is kérdezek: összeraktam egy fail-over nagiost rendszert. Működik is, de nem teljesen úgy, ahogy én akarom, mert nem tudom hogyan lehetne átvinni a másik (passzívan check result-okat fogadó) nagiosra a tervezett leállásokat, commenteket, acknowledge-okat, stb.
Tehát minden mást, ami nem check result. Erre van valami ötlet?

És mire megyek a shared storage-al? Mit tároljak rajta?

Jelen állapotban van egy nagios, aki aktívan ellenőrízi a gépeket, szolgáltatásokat. Ezeknek a checkeknek az eredményét áttolom egy másik nagiosba, amin a notification és az aktív check ki van kapcsolva.
Át akarom juttatni az egyéb státusz infókat is (dowtime, comment, stb.)
Még lesz egy figyelés, hogy ha az aktív nagios meghal, vagy nem frissül, akkor a másik nagios lesz az akítv (ellenőríz és riaszt). Ha észhez tér az első nagios, akkor a második visszaáll passzívra és nem riasztósra.

Értem az elgondolást, az alkalmazás szintjén szeretnéd megoldani a HA-t.

Én heartbeat-2 vel oldom meg.
Nekem shared storage-n van a /var/lib/nagios könyvár és a konfigok is. Itt van a status.sav file is.

Ha az egyik nagios meghal, a másik nodeon elindul a másik, a status.sav alapján minden szervíz a megfelelő állaptban van. Plusz a konfig állományok is full szimmetrikusak.
Kell még egy szervíz IP ami ide oda billen, illetve lehet ellenőrzizni a nagios futását processz szinten, illetve a nagios.cmd -n keresztüli check-el is.

Persze ehhez be kell állitani néhány opciót a doksiban a "State Retention" címszó alatt vannak a dolgok.

http://nagios.sourceforge.net/docs/3_0/configmain.html#retain_state_inf…

Persze kultúráltabb lenne adatbázissal, de az NDOutils addon-ba még nem mélyedtem bele.

Szia

Van config verify-je: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

például

-----------
A válaszok már készen állnak, csak jól kell kérdeznie.