-
Check URL w Nagios
Standardową metodą monitorowania działania serwera www jest sprawdzanie jego kodu odpowiedzi -> 200 (OK), inny to alert. Może to być jednak złudne, ponieważ serwer może działać i odpowiadać prawidłowo, a nasza strona może nie działać wcale lub częściowo. W Zabbixie jest wbudowana do tego funkcja sprawdzająca wykorzystująca wyrażenia regularne np. czy strona zawiera „Ceny netto”. Nagios czegoś takiego nie posiada. Z pomocą przychodzi nam jednak internet. Na stronie https://mig5.net/content/nagios-website-regex-pattern-check znalazłem skrypt perlowy, który wykorzystałem do monitorowania dostępności danej strony po wyrazach kluczowych. Zacznijmy od instalacji niezbędnego pakietu na maszynie, która jest monitorem.
yum install perl-WWW-Curl
Następnie powinniśmy wyedytować plik „/etc/nagios/objects/commands.cfg”
vim /etc/nagios/objects/commands.cfg
Dodajemy następujący wpis i zapisujemy:
define command{
command_name check_regex_url
command_line /usr/lib64/nagios/plugins/check_regex $ARG1$ $ARG2$
}
Następnie pobieramy stąd omawiamy skrypt do monitorowania stron www przy użyciu wyrażeń regularnych. Wrzucamy go do katalogu z pluginami Nagiosa (w moim przypadku do „/usr/lib64/nagios/plugins/”). Dla pewności ustawmy mu atrybut wykonywalności.chmod +x /usr/lib64/nagios/plugins/check_regex
Kolejnym krokiem jest dodanie do monitoringu konkretnej strony. W tym celu definiujemy tzw. „service”. Dodajemy go do pliku z innymi, które mamy już zdefiniowane ( w moim przypadku „/etc/nagios/objects/klienci.cfg”).
vim /etc/nagios/objects/klienci.cfg
define service {
host_name monitorowany.serwer.pl
service_description czy-strona-dziala
check_command check_regex_url!https://monitorowana.strona.pl!"Podane ceny są cenami netto"
use generic-service
contact_groups admins
}
Pamiętajmy, że pierwszym argumentem naszej komendy monitorującej jest adres url strony, a drugim poszukiwane wyrażenie. Po dodaniu powyższego wpisu do odpowiedniego pliku, warto sprawdzić czy konfiguracja Nagiosa jest poprawna. W tym celu wydajemy komendęnagios -v /etc/nagios/nagios.cfg
Powinniśmy otrzymać zwrotkę podobną do poniższej:
Nagios Core 4.3.4
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2017-08-24
License: GPLWebsite: https://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...Running pre-flight check on configuration data...
Checking objects...
Checked 342 services.
Checked 75 hosts.
Checked 3 host groups.
Checked 0 service groups.
Checked 8 contacts.
Checked 3 contact groups.
Checked 50 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 148 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...Total Warnings: 0
Total Errors: 0
Czas na restart usługi:systemctl restart nagios
Od teraz podana strona powinna być kontrolowana na obecność wybranego wyrażenia.