• Check URL w Nagios

    dodany przez Przemysław Sikora

    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: GPL

    Website: 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.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony