Monitoring baz danych w Zabbixie

Monitoring to nierozłączna część życia w świecie IT. Monitorować można wiele podzespołów w warstwie fizycznej (hardware), jak i aplikacyjnej (software). Dzisiaj przedstawię w jaki sposób można obserwować dane zawarte w relacyjnych bazach danych, ponieważ błędy w aplikacjach mogą być spowodowane nie tylko brakami w połączeniu z bazą, ale również z nieaktualnymi już danymi, które są zawarte w tabelach.

Jakie są skutki nieaktualnych danych w bazie

Wyobraźmy sobie taką sytuację. Do banku przychodzi Klient, który chce wypłacić pieniądze ze swojego konta. Aplikacja, z której korzysta Pani „w okienku” jest połączona z bazą danych, która jest wykorzystywana również przez inne aplikacje. W momencie próby wykonania transakcji na tabele w bazie zostały nałożone tzw. „Locki”, co oznacza że można wyświetlić dane, lecz nie można ich zaktualizować. Spowodowane jest to tym, że dany rekord został wcześniej wykorzystany przez inną aplikację. Pieniądze klientowi zostają wypłacone, lecz w bazie nie księguje się informacja, że pieniądze zostały pobrane. Z perspektywy konsumenta sytuacja idealna – pieniądze za darmo. Z perspektywy banku – realna awaria i straty. Na szczęście można się przed taką sytuacją odpowiednio szybko zabezpieczyć. Poprzez monitoring bazy danych.

Jak korzystać z silników ODBC

System monitoringu Zabbix pozwala na skorzystanie z silników ODBC (Open DataBase Connectivity) różnych baz danych, takich jak MSSQL, MySQL, Oracle DB2, PostgreSQL i inne. Jak to działa? Z poziomu serwera Zabbix wysyłamy zapytanie bazodanowe (odpowiednie do typu bazy), które zwrócić ma nam daną zawartą w bazie danych.

Sprawdź jak możemy Ci pomóc!

  • proof of concept, czyli wdrożenie prezentacyjnej wersji systemu Zabbix
  • konsultacje w zakresie konfiguracji monitoringu i automatyzacji infrastruktury
  • monitoring IT 24/7
  • wsparcie powdrożeniowe w tym autoryzowane wsparcie producenta
  • szkolenia użytkownika
×

Mamy nadzieję, że lektura tego tekstu sprawi Ci przyjemność.

Jeśli chcesz, byśmy pokazali Ci jak to narzędzie sprawdzi się w Twojej firmie, po prostu zarezerwuj rozmowę.

Jak przygotować serwer Zabbix

Zaprezentuję przygotowanie serwera Zabbixa na przykładzie systemu CentOS i mySQLowej bazy danych Zabbixa. Do monitorowania bazy danych trzeba odpowiednio przygotować środowisko, na którym pracuje serwer Zabbix. Należy zainstalować silnik MySQL ODBC do bazy danych. Pozwolą na to polecenia:

# yum install unixODBC unixODBC-devel -y
# yum install mysql-connector-odbc -y

Po wykonaniu powyższych poleceń pojawi się plik w lokalizacji /etc o nazwie odbcinst.ini. Współgra z nim plik odbc.ini, który należy wytworzyć samodzielnie.

  • /etc/odbcinst.ini  – Plik konfiguracyjny silników baz danych
  • /etc/odbc.ini – Plik konfiguracyjny do połączenia z bazą danych, wskazujący na silnik ODBC z pliku /etc/odbcinst.ini

 

 

Po zainstalowaniu paczki mysql-connector-odbc plik odbcinst.ini automatycznie uzupełnia się potrzebnymi danymi w następujący sposób:

[MySQL] # DSN określający sterownik silnika
Description=opis # Opis silnika
Driver= /usr/lib/libmyidbc5.so # Lokalizacja sterownika 32-bitowego
Setup= /usr/lib/libodbcmyS.so # Setup sterownika 32-bitowego
Driver64= /usr/lib64/libmyodbc5.so # Lokalizacja sterownika 64-bitowego
Setup64= /usr/lib64/libodbcmyS.so # Setup sterownika 64-bitowego
FileUsage=1 # Wpis informujący o zmianie w pliku konfiguracyjnym

Posiadając tak skonfigurowany plik odbcinst.ini możemy wytworzyć plik do łączenia się z bazami danych wykorzystując DSN wpisany w plik odbcinst.ini.

# touch /etc/odbc.ini

 

Wytworzony plik należy uzupełnić poniższymi danymi:

[BazaDanych] # DSN pliku odbc.ini
Description= Opis, której bazy dotyczy # Opcjonalny opis
Driver= MySQL # DSN z pliku /etc/odbcinst.ini
Server=127.0.0.1 # Adres IP/DNS serwera bazy danych
Port=3306 # Port do bazy danych
User=zabbix # Nazwa użytkownika w bazie danych
Password=zabbix123 # Hasło do bazy danych
Database=zabbix # Nazwa bazy danych

 

Serwer został skonfigurowany. Zabbix ma teraz możliwość korzystania z silników ODBC. Następnie skonfigurować można monitoring.

Jak wytworzyć monitoring

Do celów testowych wytworzymy monitoring ilości wszystkich wyzwalaczy w naszym własnym systemie Zabbix. Takie dane znajdują się w tabeli triggers  w bazie zabbix, do której mamy dostęp dzięki plikowi odbc.ini skonfigurowanemu powyżej. Do zrealizowania takiego zadania musimy wytworzyć odpowiednie zapytanie SQL, zwracające nam tylko jedną daną dowolnego typu (liczba całkowita, liczba zmiennoprzecinkowa, tekst). W naszym przypadku to będzie funkcja zliczająca Count.

Monitoring Baz Danych Zabbix obraz 1

W bazie danych zapisanych jest 543 wyzwalaczy. Tworzymy więc pozycje podpięte do Hosta „Localhost” z takimi informacjami jak:

  • Nazwa: Ilość wyzwalaczy w systemie Zabbix
  • Typ: Monitor bazy danych
  • Klucz: db.odbc.select[ilosc_wyzwalaczy,BazaDanych]
  • Zapytanie SQL: select count(triggerid) from triggers;
  • Typ informacji: Numerycznie (liczba całkowita bez znaku)
  • Interwał aktualizacji: 5m
  • Okres przechowywania historii: 30d
  • Okres przechowywania trendu: 90d
  • Aplikacje: Z bazy danych

W kluczu pierwszym parametrem jest dowolny wpis – aby zachować unikatowość nazwy klucza. Natomiast drugi parametr to DSN wpisany w plik odbc.ini. Dzięki temu Zabbix wie, z którego silnika bazy danych ma skorzystać. Ważne jest, aby nie odpytywać zbyt często bazy danych i jej tym samym nie przeciążyć. Zapytania co 5 min. powinny być wystarczające.

Monitoring Baz Danych Zabbix obraz 2

Po zatwierdzeniu wykonania powyższej pozycji, w niedługim czasie na hoście „Localhost” w zakładce „Ostatnie Dane” powinny pojawić się dane z naszej pozycji odpytujące bezpośrednio bazę danych z wartości w niej zawartych.

Monitoring Baz Danych Zabbix obraz 3

Monitoring baz danych jest wykorzystywany powszechnie, również w naszej usłudze rabbIT, bezpośrednio u nas i u naszych Klientów. Powyżej zaprezentowany został koncept w jaki sposób można monitorować środowisko bazodanowe. Problemów, sytuacji i koncepcji jest wiele – np. odpytywanie bazy danych pod kątem rekordów, czy nawet pod kątem weryfikacji zadań tzw. „Jobów” bazodanowych, czy zostały wykonane pomyślnie i zasilają aplikacje. A wszystko dzięki zaawansowanemu monitoringowi poleceń języka SQL.

W Aplitt mierzymy się z tym na co dzień. Wykonujemy takie zadania powszechnie i systematycznie, więc jeśli chcesz zapobiec problemom z bazami danych w Twojej organizacji, skontaktuj się z nami.

Summary
Monitoring Baz Danych w Zabbixie
Article Name
Monitoring Baz Danych w Zabbixie
Description
Skutki nieaktualnych danych w bazie mogą być nieodwracalne. Sprawdź jak korzystać z silników ODBC, jak przygotować serwer i skonfigurować system monitoringu infrastruktury Zabbix żeby tego uniknąć.
Author
Publisher Name
Aplitt sp. z o.o.
Publisher Logo

Podziel się treścią:

Zostaw kontakt, aby dowiedzieć się więcej!

    Potrzebujesz wsparcia? Skontaktuj się z nami!

    * Imię i nazwisko:
    * Firma:
    * Telefon:
    E-mail:
    Wyrażam zgodę na przetwarzanie przez Aplitt sp. z o.o. moich danych osobowych wskazanych w formularzu kontaktowym w celu otrzymywania informacji handlowych i marketingowych dotyczących produktów i usług z oferty Aplitt sp. z o.o.. Więcej informacji w Polityce Prywatności.* Wyrażam zgodę na przetwarzanie przez Aplitt sp. z o.o. moich danych osobowych wskazanych w formularzu kontaktowym w celu otrzymywania informacji handlowych i marketingowych dotyczących produktów i usług z oferty Aplitt sp. z o.o.. Więcej informacji w Polityce Prywatności.
    Wyrażam zgodę na kontakt za pomocą wyżej wymienionych kanałów komunikacji w celu przedstawienia mi informacji handlowych lub w celu marketingu bezpośredniego Aplitt sp. z o.o..* Wyrażam zgodę na kontakt za pomocą wyżej wymienionych kanałów komunikacji w celu przedstawienia mi informacji handlowych lub w celu marketingu bezpośredniego Aplitt sp. z o.o..
    * pola wymagane
    Mateusz Dampc | Architekt ds. monitoringu infrastruktury IT w Aplitt
    Mateusz Dampc | Architekt ds. monitoringu infrastruktury IT w Aplitt
    Zabbix 3.0 & 4.0 & 5.0 & 6.0 Certified Trainer z wieloletnim doświadczeniem w administracji systemami Windows i Linux. Absolwent WSB w Gdańsku na kierunku Informatyka, ze specjalizacją Inżynieria Sieci Komputerowych. Absolwent Zarządzania na WSB ze specjalizacją Zarządzanie projektami i usługami IT. Prowadzi szkolenia autorskie i autoryzowane Zabbix.

    Zobacz także:

    thumb image

    9 sierpnia 2022

    Handy Tips #4: Jak wstrzymać niechciane alarmy w Zabbix


    Czytaj
    thumb image

    30 marca 2021

    2 Zabbix MeetUp Online – zapis sesji Q&A cz.2


    Czytaj
    thumb image

    25 marca 2021

    Jak się tworzy skrypty zewnętrzne w Zabbixie


    Czytaj

    Obejrzyj nasze filmy:

    Summary
    Monitoring Baz Danych w Zabbixie
    Article Name
    Monitoring Baz Danych w Zabbixie
    Description
    Skutki nieaktualnych danych w bazie mogą być nieodwracalne. Sprawdź jak korzystać z silników ODBC, jak przygotować serwer i skonfigurować system monitoringu infrastruktury Zabbix żeby tego uniknąć.
    Author
    Publisher Name
    Aplitt sp. z o.o.
    Publisher Logo