04.09.2017 | 06:54

krystian

Administrator na urlopie część 2, czyli monitoring dla bardziej wymagających

Monitorowanie działania systemów i aplikacji to jeden z najczęściej zaniedbywanych obszarów pracy administratorów. Wielu incydentów można było uniknąć gdyby ktoś analizował proste anomalie. Czas to zmienić.

Miesiąc temu w naszym cyklu poradników dla początkujących i średnio zaawansowanych administratorów opisaliśmy, jak uruchomić monitoring serwera za pomocą narzędzia munin. Munin jest fajny, jeśli ktoś lubi oglądać wykresy. W komentarzach do tamtego artykułu poprosiliście jednak, by w kolejnym wpisie pójść w stronę Zabbixa. Słuchamy naszych Czytelników, zatem dzisiaj czas na kolejne narzędzie. Jeśli chcecie większej elastyczności niż oferowana przez munina i lubicie konfigurować powiadomienia o problemach, to czas zainteresować się Zabbixem. Przydaje się, by nie zachowywać się jak administratorzy na obrazku poniżej.

Administratorzy przed urlopem

Artykuł pod patronatem Aruba Cloud

We współpracy z firmą ArubaCloud pokazaliśmy Wam, jak postawić swój serwer backupów, jak skonfigurować własny serwer VPN i podłączyć do niego komputer, telefony komórkowe oraz domowy ruter a także jak schować się przed cenzurą sieci i jak zacząć serwer zabezpieczać, jak postawić swój własny zdalny pulpitswój serwer WWWjak monitorować zmiany w plikachjak zablokować reklamy na komórce, jak skonfigurować bezpieczną kopię zapasową a także jak zabezpieczyć logowanie do serwera za pomocą jednorazowych tokenów  lub za pomocą klucza Yubikey.

Jeśli nie macie jeszcze swojego własnego serwera, to jest to dobra okazja by się w taki wyposażyć. Aruba oferuje dwa miesiące korzystania ze swojego podstawowego serwera gratis – a po zakończeniu promocji będzie on Was kosztował zaledwie 4 złote miesięcznie. Instrukcję jak krok po kroku skorzystać z promocji i uruchomić swój serwer znajdziecie w tym artykule. Jeśli macie już swój serwer – to zapraszamy do lektury kolejnych akapitów.

Wstęp

Zabbix oferuje kilka opcji monitorowania:

  • monitorowanie i weryfikowanie dostępności zdalnych usług takich jak SMTP czy HTTP,
  • monitorowanie za pomocą dedykowanego agenta który może być zainstalowany na systemach Linux/Windows,
  • monitorowanie za pomocą m.in. SNMP jako alternatywa do instalacji dedykowanego agenta.

Poniżej przedstawiamy instrukcję instalacji serwera Zabbix oraz usługi agenta na tym samym serwerze. Możecie cały proces obejrzeć na filmie lub przeczytać krok po kroku kawałek niżej.

Instalacja frontendu i backendu

W systemie Debian 8 posłużymy się oficjalnymi pakietami Zabbix ze strony projektu. Dodajemy oficjalne repozytorium Zabbix do systemu Debian 8:

# wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb

Instalujemy pobrany pakiet:

# dpkg -i zabbix-release_3.2-1+jessie_all.deb

Aktualizujemy informacje o pakietach:

# apt-get update

Instalujemy backend oraz frontend Zabbix:

# apt-get install zabbix-server-mysql zabbix-frontend-php

Jeśli na serwerze nie posiadamy bazy danych MySQL, baza ta zostanie zainstalowana oraz zostaniemy poproszeni o ustawienie hasła dla użytkownika 'root’.

Ustawienie hasła w bazie danych MySQL dla użytkownika 'root’

Zabbix będzie zapisywał dane w bazie danych MySQL. W tym celu utworzymy dedykowanego użytkownika o loginie zabbix z prostym hasłem zabbixhaslo. Użytkownik ten będzie miał pełne prawa do bazy o nazwie zabbix.

# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;

Ustalamy prawa dostępu oraz hasło dla użytkownika 'zabbix’:

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixhaslo';
mysql> FLUSH PRIVILEGES;
mysql> quit;

Importujemy schemat bazy danych:

# cd /usr/share/doc/zabbix-server-mysql
# zcat create.sql.gz | mysql -uzabbix -pzabbixhaslo zabbix

W pliku/etc/zabbix/zabbix_server.conf musimy wprowadzić informacje o utworzonym użytkowniku w bazie danych. Wprowadzamy następujące zmiany:

# vi /etc/zabbix/zabbix_server.conf

W linii 82 dopisujemy adres serwera MySQL:
DBHost=localhost

W linii 91 wprowadzamy nazwę bazy danych:
DBName=zabbix

W linii 107 wprowadzamy nazwę użytkownika bazy danych:
DBUser=zabbix

W linii 116 wpisujemy hasło:
DBPassword=zabbixhaslo

Ustawiamy strefę czasową w pliku /etc/apache2/conf-enabled/zabbix.conf:

# vi /etc/apache2/conf-enabled/zabbix.conf
W linii 19 oraz 28 ustawiamy:
php_value date.timezone Europe/Warsaw

Uruchamiamy serwer Zabbix podczas startu systemu:

# systemctl enable zabbix-server

Uruchamiamy usługi zabbix-server oraz apache2:

# service zabbix-server restart
# service apache2 restart

Instalacja i konfiguracja agenta

W repozytorium Zabbixa znajduje się pakiet 'zabbix-agent’. Na serwerach, które chcemy monitorować, instalujemy wspomniany pakiet.

# apt-get install zabbix-agent

Wprowadzamy zmiany w pliku konfiguracyjnym /etc/zabbix/zabbix_agentd.conf. W pliku tym wprowadzamy adres IP serwera, który będzie mógł się podłączyć do agenta oraz wprowadzimy nazwę hosta.

# vi /etc/zabbix/zabbix_agentd.conf
[...]
Server=127.0.0.1
[...]
Hostname=Zabbix ArubaCloud
[...]

Uruchamiamy agenta podczas startu systemu:

# systemctl enable zabbix-agent

Uruchamiamy usługę agenta:

# service zabbix-agent start

Konfiguracja frontendu

W przeglądarce podajemy adres naszego serwera gdzie zainstalowaliśmy frontend Zabbix. W domyślnej konfiguracji panel dostępny jest w katalogu /zabbix/.

Kreator konfiguracji Zabbix

W drugim kroku kreator sprawdzi nasze ustawienia PHP na serwerze:

Sprawdzenie konfiguracji

Jeśli kreator stwierdzi, że obecna konfiguracja PHP na serwerze jest poprawna, to w kolejnym kroku zostaniemy poproszeni o wprowadzenie danych uwierzytelniających do bazy danych. Wpisujemy informacje, które podaliśmy podczas instalacji i konfiguracji hosta. W naszym przypadku będzie to użytkownik zabbix z hasłem zabbixhaslo.

Wprowadzenie danych uwierzytelniających dla MySQL

Przedostatnim krokiem kreatora konfiguracji jest dodanie serwera do monitorowania. Na potrzeby artykułu będziemy monitorować serwer na którym zainstalowaliśmy backend oraz frontend Zabbix.

Dodanie serwera do monitorowania

Ostatnim krokiem kreatora jest informacja, że konfiguracja przebiegła pomyślnie, a wprowadzone przez nas dane zostały zapisane do pliku /usr/share/zabbix/conf/zabbix.conf.php.

Monitorowanie serwera Zabbix

Logujemy się do panelu administracyjnego jako użytkownik Admin z hasłem zabbix.

Panel logowania

Aby Zabbix monitorował serwer który podaliśmy podczas kreatora konfiguracji należy wybrać opcję Configuration > Hosts i przy pozycji „Zabbix server” w kolumnie Status nacisnąć na „Disabled”.

Monitorowanie lokalnego serwera

Po chwili serwer podłączy się do agenta.

Dane odebrane od agenta

Podsumowanie

W powyższym artykule pokazaliśmy Wam podstawy konfiguracji Zabbixa, by każdy, nawet początkujący Czytelnik mógł go uruchomić na swoim serwerze. W domyślnych ustawieniach Zabbixa pewnie dowiecie się sporo o swoim serwerze, jednak biorąc pod uwagę elastyczność tego narzędzia ledwo dotknęliśmy powierzchni tematu – zapraszamy Was do dalszego eksplorowania możliwości, bo naprawdę warto. A gdy wymyślicie ciekawe zastosowanie to podzielcie się z nami i innymi Czytelnikami w komentarzach.

Dla zachowania pełnej przejrzystości – artykuł ten to tekst sponsorowany, za który otrzymujemy wynagrodzenie.

Powrót

Komentarze

  • 2017.09.04 07:47 olo

    Jak wg Was wypada check_mk w porównaniu do Zabbixa?

    Odpowiedz
  • 2017.09.04 08:22 zakius

    jak to się stało, że cały cykl był na CentOSie, a tu nagle debian?

    Odpowiedz
    • 2017.09.04 08:55 azg

      Obstawiam inną osobę popełniającą artykuł ;)

      Odpowiedz
  • 2017.09.04 08:23 a

    „podstawy konfiguracji Zabbixa” – artykuł to bardziej liźnięcie podstaw właściwych podstaw

    Odpowiedz
  • 2017.09.04 16:12 kszh

    Ciąg dalszy na [stronach Digital Ocean][1], skąd najprawdopodobniej ten artykuł został przeredagowany.

    Ciekawe ilu czytelników pozostawi zabbix@localhost, zabbixhaslo, użyszkodnika z „grant all privileges” w configu, itp.
    Zamiast kolejnego bezmyślnego „walić least privilege, admin i ch*” spodziewałbym się nacisku na bezpieczeństwo instalowanej aplikacji.
    Po artykułach o zabezpieczaniu servera, VPN czy YubiKey, wtopa trochę.

    [1]: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-zabbix-to-securely-monitor-remote-servers-on-centos-7#step-5-—-installing-and-configuring-the-zabbix-agent

    Odpowiedz
    • 2017.09.04 17:45 hzsk

      Jakie uprawnienia powinien mieć użytkownik zabbix do tabeli zabbix?

      Odpowiedz
    • 2017.09.04 17:49 Adam

      Możesz określić co dokładnie masz na myśli mówiąc, ze artykuł został „przeredagowany” z innego źródła? Pytam serio, jest naprawdę tak dużo sposobów instalowania Zabbixa że trudno by kroki się powtarzały w dwóch różnych instrukcjach?

      Odpowiedz
    • 2017.09.04 17:51 Krystian

      ’zabbixhaslo’ zostało podane jako wskazanie, że w tym określonym miejscu należy podać hasło. Liczę na to, że widząc pole „podaj hasło” nikt nie ustawia haseł typu 'admin123′ albo '123456′ ;)
      Co do uprawnień do określonej tabeli – jeśli masz jakiś zdefiniowany schemat uprawnień dla tego użytkownika – podziel się z nami.

      Odpowiedz
  • 2017.09.04 22:54 Łukasz

    Ja liczyłem na coś więcej niż instrukcja do instalacji.. tego pełno w sieci. Wcześniej ktoś napisał, przydało by się coś o bezpieczeństwie dobrych praktykach itp.
    Dziękujemy i prosimy o więcej ;-) Pozdrawiam

    Odpowiedz
  • 2017.09.04 23:11 alek

    Dziekuję działa — uruchomiłem na instancji i zbieram dane z moich nodów :)
    +1

    Odpowiedz
  • 2017.09.05 10:15 bbb

    Od lat korzystam z nagiosa ( pnp + nagiosql ). Czy ktoś z Was przesiadł się na zabbixa i bazując na doświadczeniu podać jego przewagę/zalety ?

    Odpowiedz
    • 2017.09.07 14:47 markossx

      Testowałem zabbix i nagios. Nagios wymiata.

      Odpowiedz
  • 2017.09.05 13:17 Kacper

    A jak przeciwdziałać cichemu wyłączeniu serwera z zabbixem?
    (np. nagły brak prądu/kernel panic/przepełnienie w samym zabbiksie). Przecież ten serwer/aplikacja też może ulec awarii. Jak monitorujecie krytyczne aplikacje, takie powyżej 99% dostępności?

    Odpowiedz
    • 2017.09.06 20:51 Kacper

      Load balancing i replikacja horyzontalna.

      Odpowiedz
  • 2017.09.06 20:51 Obserwator

    Lepszy jest cgroup, tyle że nie do monitorowania, ale pilnowania,żeby przez jakąś awarię jednego programu cały system nie dostał czkawki.
    Do tego Apparmor do totalnej kontroli ACL (albo SELinux), porządnie przemyślany i skonfigurowany firewall,i można jechać na urlop.
    Chociaż Grsecurity&Pax czyniły ten urlop dużo spokojniejszym. :P

    Przy okazji, do 'cichego wyłączenia” czy zatkania serwera przez zbyt wysoki load jest watchdog, a o problemach każdy Linux może raportować przez email albo np jabbera.

    Także Zabbix i Munin to nie monitoring ale raczej przeglądanie statystyk obciążenia.
    Ani jeden ani drugi nie zrestartuje maszyny, gdy coś się źle dzieje, nie odetnie niebezpiecznych połączeń sieciowych jak Snort+Ipset, i nie zablokuje prób siłowego łamania haseł,
    co potrafi sam Netfilter (moduły hashlimit, recent, connlimit,
    a także czasami string ) albo np fail2ban.

    To by było na tyle

    Odpowiedz
  • 2017.09.07 02:15 gość

    Mam banalnie proste pytanie i ufam, że nie zetniecie mi głowy, że zadaję je tutaj.

    Spotkałam się z poglądem, że umieszczając w folderze serwisu plik .htaccess z dyrektywą Options +DirList – (umożliwiającą listowanie zawartości katalogu) – „ingeruje się w konfigurację serwera www”.
    Moim zdaniem jest to pogląd błędny, ale może to ja nie mam racji.

    Czy mogę prosić o ustosunkowanie się do tego stwierdzenia.

    Odpowiedz
  • 2020.05.20 09:37 Arek

    Jest już Zabbix 5. Polecam przetestować nową wersję. Sporo ułatwiających życie zmian i odmieniony interfejs. Do tego rozszerzyli zabezpieczenia, dodali autentykację SAML i usprawnili podstawowe funkcjonalności.

    Odpowiedz

Zostaw odpowiedź do hzsk

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Administrator na urlopie część 2, czyli monitoring dla bardziej wymagających

Komentarze