Nagios Core monitoring Windows mašine.
Imamo podignut Nagios core i pokazali smo kako da dodamo Linux klijent mašinu da je nagios prati.
Sada ćemo da uradimo isto to samo sa windows mašinom.
Da bi nagios pratio Windows mašinu potrebno je da se na windows-u instalira NSClinet++ koji će da komunicira sa Nagios Coere serverom i da mu da željene paratmetre koje nagios prati.
Prilikom testiranja ja sam isključio firewall na windows 10 klijentu.
1. Preuzimamo NSClinet++
Sa sajta nsclient preuzmemo fajl na windows. I pokrenemo ga. https://www.nsclient.org/download/
Kada ga pokrenemo kliknemo na Next
Sada idemo na generic.
Onda izaberemo Complete.
U polje allowed host stavite adresu nagiosa, password ja sam stavio samo password, štikliramo Enable nsclient server (check_nt), štkliramo Enable NRPE (check_nrpe), i štikliramo dole Enable NSCA client i Enable Web server. Idemo onda na Next.
Kliknite na install
Kada se završi instalacija idite na finish.
2. Proverimo Servis NSClinet++
Treba da vidimo da li je servis posle instalacije pokrenut. Trebalo bi da se sam autormatski pokrenuo.
U windowsu pritisnemo WIN+r i otkucamo services.msc
Pronadjete NSClient++ Monitoring i treba da piše status running
3. Testiramo da li radi plugin NSClinet++
Ulogujte se sada na Nagios server da testiramo da li radi NSClinet tako što ćemo da mu zatražimo uptime mašine.
cd /usr/local/nagios/libexec
./check_nt -H 192.168.100.129 -s password -p 12489 -v UPTIME
Kada pokrenemo ovo dobićemo error pošto treba još neka podešavanja da uradimo na windowsu.
4. Podešavanje fajla nslicent.ini
Odemo u Windows mašinu i na putanji ispod nadjemo fajl nsclinet.ini i otvorimo ga u notepad editoru.
c:\Program Files\NSClient++
Pronadjemo sada nsclient.ini i otvorimo ga sa notepad editorom.
Svuda gde piše disabled promenite u enabled i snimite fajl.
Kada snimite promene na fajlu idite sada opet na servis nsclinet++ kao u delu broj 2 restartujte ga. Pronadjete NSClinet++ desni klik na njega i restart.
5. Testiramo da li radi NSClinet++ opet
Idemo sada opet na Nagios Core server da otkucamo opet komandu da proverimo da li nam radi NSClinet.
cd /usr/local/nagios/libexec
./check_nt -H 192.168.100.129 -s password -p 12489 -v UPTIME
Ja sam dobio da mi je mašina up već 57 minuta. Plugin radi sada treba da podesimo još neke fajlove na Nagios Core serveru kako bi on uspostavio komunikaciju sa Windows klijent mašinom.
6. Dodavanje Windows cfg fajla u Nagios
Treba sada na nagiosu da napravimo konfiguracioni fajl od te windows mašine kako bi Nagios Core znao gde je i šta da je pita. Kopiraćemo već postojeći template za windows ili ako vam je lakše napravite novi fajl i kopirajte moje parametre.
cd /usr/local/nagios/etc/objects
cp windows.cfg windows10.cfg
vi windows10.cfg
Promeniti host_name da bude svuda isti, alias stavite nešto vaše, address od vaše windows mašine, service definition popunite delove ispod use isto kao i ja. Ako je lakše samo kopirajte sve što sam ja napisao dole i napravite novi dokument prekopirajte parametre i oabavezno zamenite host_name svuda isti, alias, address.
Imamo sada definisan Host a ispod toga imamo definisane servise. Neke delove sam izbrisao u fajlu tako da vas ne brine ako ih imate više nego ja. Ispod je primer mog windows10.cfg
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
define host {
use windows-server
host_name windows10.domen.com
alias Windows 10 masina
address 192.168.100.129
}
###############################################################################
#
# HOST GROUP DEFINITIONS
#
###############################################################################
define hostgroup {
hostgroup_name windows-servers
alias Windows Servers
}
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
define service {
host_name windows10.domen.com
service_description CPU Usage
use generic-service
check_command check_nt!CPULOAD!-l 5,90,95
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
define service {
host_name windows10.domen.com
service_description Drive C: Disk Usage
use generic-service
check_command check_nt!USEDDISKSPACE!-l C -w 90 -c 95
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
define service {
host_name windows10.domen.com
service_description Memory Usage
use generic-service
check_command check_nt!MEMUSE!-w 90 -c 95
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
define service {
host_name windows10.domen.com
service_description Page File Usage
use generic-service
check_command check_nt!COUNTER!-l “\\Paging File(_Total)\\% Usage”,”Paging File usage is %.2f %%” -w 90 -c 95
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
define service {
host_name windows10.domen.com
service_description Uptime
use generic-service
check_command check_nt!UPTIME
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
##########
#Dodatna dva Servisa #
###########
define service {
use generic-service
host_name windows10.domen.com
service_description BitDefender AV servis
check_command check_nt!SERVICESTATE!-d SHOWALL -l vsserv
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
define service {
use generic-service
host_name windows10.domen.com
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
max_check_attempts 5
check_interval 5
retry_interval 1
check_period 24×7
notification_interval 0
notification_period 24×7
notifications_enabled 1
contacts nagiosadmin
contact_groups admins
}
7. Dodavanje putanje Windows cfg fajla
Moramo sada da dodamo taj fajl što samo napravili u nagios konfiguracioni fajl da bi on znao gde da traži taj windwos klijent.
cd /usr/local/nagios/etc
vi nagios.cfg
Nadjemo linju koda # Definitions for monitoring a Windows machine i dodamo ispod kao na slici putanju gde se nalazi konfiguracioni fajl za windows klijenta koji Nagios Core treba da nadgleda.
cfg_file=/usr/local/nagios/etc/objects/windows10.cfg
8. Dodavanje komande u commands.cfg
Moramo da dodamo i kako nam ide šifra koju smo stavili prilikom instalacije NSClinet++ plugina za windows. U mom slučaju ja sam stavio password.
cd /usr/local/nagios/etc/objects/
vi commands.cfg
Pronadjete ovu liniju koda ispod i ubacite -s [vaša šifra] ispred -v
define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
9. Provera da li nagios Core ima Error
Treba sada da proverimo da li nam Nagios Core prikazuje neke greške jer smo radili dosta modifikaciju u cfg fajlovima. Možda neki od tih fajlova sadrži neku grešku koja nam je promakla.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Ukoliko je sve prošlo bez greške onda primenite restart Nagios Core servisa.
systemctl restart nagios
Sada se ulogujte na Nagios Core admin panel ip/nagios da proverite da li se windows mašina prikazala i da li su servisi počeli da zelene. Potrebno je do pet minuta da se sačeka kako bi se svi servisi javili.
Vidimo da je mašina windows10.domen.com dostupan. Na slici ispod ako kliknete na servise da pogledate videćemo da su i oni pozeleneli.
Ako primetite prvi servis mi je BitDefender AV. Kod vas ovaj servis će verovatno biti crven jer sam ja dodao da nadgledam taj kao poseban da mi je bitan. Time sam hteo da vam pokažem da možete vi koji god želite da stavite samo ideite u ondaj fajl windwos10.cfg i nadjite na delu gde piše Bit Defender AV primetićete da u jednoj liniji koda piše vsserv, tako se zove taj servise. Ako želite neki poseban da vi pratite samo idite u service.msc najdite servis pogledajte mu ime i zamenite sa vsserv.
Ukoliko se desi da imate problema probajte da ugasite na windows mašini firewall ako već niste.
Ovim smo pokazali kako da u Nagios Core serveru podesimo nadgledanje Windows klijenta.