---
title: 'Integracja MySQL z systemami monitorowania Zabbix i Grafana | Zomro'
description: 'Terminowy i jakościowy monitoring MySQL umożliwia szybkie wykrywanie i eliminowanie wąskich gardeł, unikanie przestojów i awarii.'
image: 'https://zomro.com/static/site/images/logo/logo-white.png?v=1789728819'
---

![opened image]()

  * [Zomro](https://zomro.com/pl/)
  * [Przydatne artykuły](https://zomro.com/pl/blog/articles/)
  * Integracja MySQL z systemami monitorowania Zabbix i Grafana 



# Integracja MySQL z systemami monitorowania Zabbix i Grafana

10-02-2025

Obserwacja baz danych, takich jak MySQL, odgrywa kluczową rolę w zapewnieniu stabilnej i efektywnej pracy systemów IT. Aktualne usługi i oprogramowanie w dużej mierze zależą od poziomu wydajności baz danych, ponieważ różne usterki w działaniu MySQL mogą spowodować znaczne straty wizerunkowe i materialne.

Terminowe i wysokiej jakości monitorowanie MySQL umożliwia szybkie wykrywanie i eliminowanie wąskich gardeł, unikanie przestojów i usterek. Ponadto pozwala na analizowanie obciążenia, co przyczynia się do poprawy jakości eksploatacji dostępnych zasobów. Jest to szczególnie istotne w warunkach zmiennych obciążeń roboczych i rosnących wymagań dotyczących wydajności. 

## **1.2. Przegląd popularnych systemów monitorowania**

  * **Zabbix** : potężny system monitorowania z obsługą wyzwalaczy i elastycznymi powiadomieniami. Nadaje się do kompleksowego monitorowania infrastruktury.

  * **Grafana** : oferuje potężne możliwości wizualizacji danych w połączeniu z Prometheus, co czyni go doskonałym narzędziem do analizy metryk. 




### 

### **Zalety wyboru Zabbix i Grafana jako narzędzi do monitorowania MySQL**

  
Te narzędzia oferują wszechstronne podejście: Zabbix doskonale radzi sobie z konfiguracją alertów, a Grafana oferuje wygodne pulpity do wizualizacji metryk.

**2\. Organizacja przestrzeni MySQL do dalszego monitorowania**

**2.1. Włączenie i konfiguracja metryk wydajności MySQL**

Aby zapewnić dostęp do kluczowych metryk, należy aktywować performance_schema.

**Kroki aktywacji:**

Otwórz plik konfiguracyjny MySQL (/etc/my.cnf lub /etc/mysql/my.cnf).

Dodaj następujące parametry:
    
    
    performance_schema=ON

Zrestartuj MySQL:
    
    
    systemctl restart mysql

**2.2. Instalacja wtyczki do eksportowania metryk**

**MySQL Exporter** — to wygodne narzędzie do integracji metryk MySQL z systemami monitorowania, takimi jak Prometheus.

**Kroki instalacji:**

Pobierz plik binarny:
    
    
    wget https://github.com/prometheus/mysqld_exporter/releases/latest/download/mysqld_exporter

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeGCpfAgNN82aM1etyiPuxxbAO_ltLR4kM8nLGh8mjH18-_XvZdcCcZWqSkN16mDoMwWcGb0LGdjon63aGO8RUbWHPMG9pnG247BQbyKWFVJKCaEeqDRU-iNXP_DiRRAQ8AygyrAw?key=uegezFkyQ9cr9GR9d2aK9GHL)
    
    
    chmod +x mysqld_exporter

Uruchom Exporter:
    
    
    ./mysqld_exporter --config.my-cnf=/path/to/.my.cnf

**2.3. Kontrola praw dostępu**

Utwórz użytkownika z dostępem do metryk:
    
    
    CREATE USER 'monitoring'@'localhost' IDENTIFIED BY 'password';
    
    GRANT SELECT, PROCESS, REPLICATION CLIENT ON *.* TO 'monitoring'@'localhost';
    
    FLUSH PRIVILEGES;

## **3\. Zabbix i MySQL: integracja**

**3.1. Instalacja i konfiguracja serwera Zabbix**

**Kroki instalacji serwera Zabbix:**

Zainstaluj Zabbix:  
sudo apt update

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjdccLdFiLfyAhEFgkhDh8vPrxgkOx1Ew4ez6R35DyCb6CnKUhPxO8zv5knWZcPpJI1W2btikwP_kBmtRFlDXOjj7B7SPgKmhoNkPurJfRQNQa34orr-8x0kcrwnsIdr9GQ4uS?key=uegezFkyQ9cr9GR9d2aK9GHL)

Skonfiguruj interfejs online, postępując zgodnie z dokumentacją Zabbix.

**3.2. Instalacja na serwerze z MySQL narzędzia Zabbix Agent**

**Kroki instalacji agenta:**

Zainstaluj Zabbix Agent:
    
    
    sudo apt install zabbix-agent

Skonfiguruj Zabbix Agent w celu zbierania informacji MySQL. Dodaj do dokumentu zabbix_agentd.conf:
    
    
    UserParameter=mysql.status[*],mysqladmin -u monitoring -ppassword status

**3.3. Import szablonów do monitorowania MySQL**

Użyj gotowych szablonów:

  * Importuj szablon MySQL w przestrzeni online Zabbix.

  * Skonfiguruj kluczowe metryki: aktywne połączenia, czas wykonywania zapytań, wykorzystanie pamięci.




## **4\. Integracja MySQL z Grafana**

**4.1. Instalacja i konfiguracja Grafana**

**Kroki instalacji Grafana:**

Zainstaluj Grafana za pomocą menedżera pakietów:  
sudo apt install grafana

  
![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcNEn_TJbdGz3tGZUxM2_CZJ42xzsukpLlHr0hHkVXndhGUyY2x9x22gXPnY0gFtrVQaBtqe-ogVwP8WnwMK27nmfcloltFh2sAzgDoZC7KFK51WFgwVPWxm7dpuG2MaBzHAl4X?key=uegezFkyQ9cr9GR9d2aK9GHL)  
sudo apt-get install grafana-enterprise  
![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfZxGt_Rwqto-yJtlfAtRqrKFC0zY25ydC1YCKRTGrRoN68iZ14DAjnEQs86hqZbIQ1E_qGYieGnrn2ct_XxF5etfJsDu08j14QAwzbyaNF_uR2gixHlv8VVGseiCMucDIyKLshZA?key=uegezFkyQ9cr9GR9d2aK9GHL)

Skonfiguruj pierwsze logowanie do przestrzeni online Grafana.

**4.2. Konfiguracja MySQL Exporter**

**Kroki konfiguracji:**

  1. Upewnij się, że MySQL Exporter działa i zbiera metryki.

  2. Skonfiguruj Prometheus do zbierania danych z Exporter.




**Przykład konfiguracji prometheus.yml:**
    
    
    scrape_configs:
    
      - job_name: 'mysql'
    
        static_configs:
    
          - targets: ['localhost:9104']

**4.3. Import pulpitów w Grafana**

Użyj gotowych pulpitów z Grafana Dashboards:

  * Importuj szablon JSON.

  * Stwórz wizualizację kluczowych metryk, w tym liczby zapytań na sekundę (QPS), blokady i zużycie pamięci.




**5\. Porównanie technik: Zabbix i Grafana**

Wybór systemu do monitorowania MySQL opiera się na różnych aspektach, w tym celach obserwacji, cechach infrastruktury IT, łatwości pracy z narzędziem oraz poziomie kwalifikacji zespołu. Rozważmy kluczowe zalety każdego rozwiązania.

**Zabbix czy Grafana: na co się zdecydować?**

### **Zalety korzystania z Zabbix:**

  * Potrzeba zjednoczonej kontroli całego systemu IT.

  * Wymagana szczegółowa konfiguracja wyzwalaczy i systemu powiadomień.

  * Ważne jest szybkie reagowanie na krytyczne sytuacje, takie jak przeciążenie zasobów.

  * Należy monitorować dane w czasie rzeczywistym i w retrospektywie.




**Jeśli chcesz zdecydować się na Grafana:**

  * Główny nacisk na analizę wydajności i wizualizację danych.

  * Wymagana możliwość podłączenia różnych źródeł danych.

  * Zespół potrzebuje wygodnych i przejrzystych raportów dotyczących stanu MySQL.

  * Już używany Prometheus lub inny zgodny zbieracz danych.




### **Współdzielenie Zabbix i Grafana:**

  
W złożonych projektach Zabbix i Grafana mogą współpracować, zapewniając zarówno scentralizowane monitorowanie, jak i wygodne wizualizacje. Na przykład Zabbix może odpowiadać za zbieranie danych i zarządzanie zdarzeniami, a [Grafana](https://zomro.com/rus/marketplace/grafana) — za tworzenie przejrzystych pulpitów do analizy wydajności.

**6\. Zaawansowana konfiguracja**

Elastyczna konfiguracja monitorowania pozwala w pełni dostosować narzędzia Zabbix i Grafana do potrzeb infrastruktury i specyfiki pracy MySQL, obejmuje tworzenie niestandardowych metryk, poprawę prezentacji danych i konfigurację systemu powiadomień.

**7\. Rekomendacje dotyczące optymalizacji monitorowania**

Efektywne monitorowanie MySQL odgrywa kluczową rolę w zarządzaniu wydajnością baz danych. Integracja z takimi narzędziami, jak Zabbix i Grafana, zapewnia nie tylko zbieranie podstawowych wskaźników, ale także przeprowadzanie ich głębokiej analizy w celu identyfikacji wąskich gardeł i optymalizacji pracy. Rozważmy kluczowe porady.

**7.1. Optymalizacja monitorowania MySQL**

**Zbieranie specjalistycznych metryk**

Dla MySQL należy skonfigurować zbieranie wskaźników, które odzwierciedlają cechy pracy bazy danych. Kluczowe z nich to:

  * **Ogólne wskaźniki wydajności:**

    * Queries per second (QPS) — liczba zapytań na sekundę.

    * Connections — liczba aktywnych połączeń.

    * Slow queries — liczba wolnych zapytań, przekraczających ustalony próg czasu.

  * **Wskaźniki stanu:**

    * Threads running — liczba wątków aktywnie wykonujących zapytania.

    * InnoDB buffer pool usage — wykorzystanie puli buforów InnoDB.

    * Table locks — częstotliwość blokad tabel.

  * **Usterki i awarie:**

    * Awaria replikacji.

    * Trudności z przeprowadzanymi operacjami (np. Deadlocks).




**Konfiguracja interwału zapytań**

Dla krytycznych metryk, takich jak QPS i liczba aktywnych połączeń, zaleca się ustalenie krótkiego interwału zapytań (od 5 do 10 sekund). Dla mniej zmieniających się wskaźników, takich jak objętość bazy danych, warto używać dłuższych przerw — od 5 do 10 minut.

**Stosowanie standardowych wtyczek**

W systemie Zabbix można również zastosować gotowy szablon MySQL, za pomocą którego istnieje możliwość automatycznego zbierania podstawowych wskaźników. Aby przeprowadzić głębszą konfigurację, zaleca się użycie agenta Zabbix z dodatkowym modułem zabbix-mysql.

**7.2. Udoskonalenie alertów dla MySQL**

### 

### **Konfiguracja wyzwalaczy dla MySQL**

Utwórz specyficzne wyzwalacze, które będą powiadamiać o odchyleniach w pracy MySQL:

  * **Połączenia:** przekroczenie maksymalnej liczby połączeń (max_connections).

  * **Wolne zapytania:** wzrost liczby wolnych zapytań w określonym czasie.

  * **Wykorzystanie zasobów:**

    * Przepełnienie puli buforów (InnoDB buffer pool).

    * Zwiększone obciążenie procesora z powodu zapytań.




**Dodawanie kontekstu do powiadomień**

Zawieraj szczegółowe informacje w alertach, aby ułatwić diagnozowanie:

  * Zapytania SQL, które generują wysokie obciążenie.

  * Czas realizacji długich zapytań.

  * Serwer bazy danych, na którym wystąpiło odchylenie.




Przykład wiadomości:

Krytyczne: Liczba wolnych zapytań na serwerze mysql-db01 przekroczyła 50 w ciągu ostatnich 10 minut. Więcej informacji: [link do pulpitu Grafana]. 

**7.3. Udoskonalenie wizualizacji danych MySQL**

**Tworzenie pulpitów w Grafana**

Użyj Grafana do wyświetlania kluczowych metryk MySQL:

  * **Ogólny status:**

    * Aktualne obciążenie (QPS, liczba połączeń).

    * Stan replikacji (opóźnienie, status slave'ów).

  * **Zasoby:**

    * Wykorzystanie puli buforów.

    * Rozmiar plików dzienników transakcji (Log file size).

  * **Błędy:**

    * Liczba deadlocks.

    * Problemy z połączeniem.




**Użycie paneli z detalizacją**

Podziel wizualizację na poziomy:

  1. **Pulpit podsumowujący:** ogólne informacje o stanie MySQL.

  2. **Diagnostyka:** wykresy obciążenia, wskaźniki wydajności zapytań.

  3. **Analiza błędów:** częstotliwość deadlocks, tabele z największym obciążeniem.




**7.4. Automatyzacja zadań monitorowania**

**Wdrożenie zapytań do zbierania danych**

Użyj niestandardowych zapytań SQL do zbierania dodatkowych metryk, których brakuje w standardowych szablonach:
    
    
    SHOW STATUS LIKE 'Threads_running';  
    
    SHOW STATUS LIKE 'Connections';  
    
    SHOW ENGINE INNODB STATUS\G  

Te zapytania można dodać do konfiguracji Zabbix lub Grafana w celu regularnego monitorowania.

**Integracja z systemami powiadomień**

Ustaw powiadomienia o nadzwyczajnych zdarzeniach w MySQL w trybie automatycznym:

  * Skonfiguruj integrację z takimi platformami, jak Slack, Telegram lub e-mail, aby otrzymywać szybkie powiadomienia.

  * Utwórz powiadomienia dla incydentów związanych z replikacją lub awariami baz danych.




**7.5. Prognozowanie i anomalie**

**Prognozowanie obciążenia MySQL**

Zastosuj archiwalne informacje w celu przewidywania najwyższych punktów obciążenia:

  * Wzrost liczby połączeń.

  * Wzrost objętości danych w bazie.

  * Wzrost liczby operacji INSERT/UPDATE.




**Wykrywanie anomalii**

Zastosuj narzędzia takie jak Anomaly Detection w Grafana, aby wykrywać nagłe odchylenia:

  * Skok liczby wolnych zapytań.

  * Niespodziewany wzrost zużycia pamięci.

  * Spadek wydajności.




**7.6. Regularny audyt monitorowania MySQL**

**Ocena pokrywanych metryk**

Sprawdź, czy monitorowanie obejmuje kluczowe aspekty pracy MySQL:

  * Wydajność (QPS, wolne zapytania).

  * Wykorzystanie zasobów (bufor, pamięć, aktywność dyskowa).

  * Błędy i awarie.




**Testowanie konfiguracji**

Regularnie sprawdzaj ustawienia wyzwalaczy i szablonów, aby dostosować je do zmian w infrastrukturze.

**Analiza dzienników MySQL**

Użyj logów MySQL do dodatkowej analizy:

  * Błędy uwierzytelniania.

  * Problemy z transakcjami.




**8\. Zakończenie**

Monitorowanie MySQL odgrywa kluczową rolę w zapewnieniu stabilności, wydajności i bezpieczeństwa nowoczesnych systemów IT. Narzędzia monitorujące, takie jak [Zabbix](https://zomro.com/rus/marketplace/zabbix) i Grafana, oferują potężne środki do zbierania, analizy i wizualizacji danych. Pomaga to administratorom szybko identyfikować i rozwiązywać problemy, zapobiegać awariom i optymalizować działanie baz danych.

Integracja MySQL z Zabbix pozwala na głębokie śledzenie stanu bazy danych, tworząc elastyczne wyzwalacze do automatycznych powiadomień o krytycznych sytuacjach. Z drugiej strony Grafana w połączeniu z Prometheus zapewnia wygodne i przejrzyste pulpity, a także zaawansowane narzędzia do wizualizacji danych. To sprawia, że Grafana jest doskonałym wyborem do analizy wydajności i identyfikacji trendów.

Wybór między tymi platformami zależy od konkretnych zadań: Zabbix lepiej nadaje się do kompleksowego monitorowania i konfiguracji systemu powiadomień, a Grafana — do wizualnej analizy i głębokiego badania metryk. Jednak ich wspólne użycie pozwala na maksymalne efektywne kontrolowanie pracy MySQL i poprawę jej wydajności.

Dla skutecznego monitorowania ważne jest nie tylko prawidłowe skonfigurowanie systemów, ale także regularne ich aktualizowanie, dodawanie nowych metryk i dostosowywanie do zmian w obciążeniu roboczym. Takie podejście pomaga nie tylko minimalizować ryzyko, ale także maksymalnie wykorzystać bazę danych.

Niezależnie od wskaźników Twojego przygotowania, Zabbix i Grafana oferują pełen zakres niezbędnych funkcji do stworzenia wysokiej jakości systemu monitorowania MySQL. Te narzędzia są kluczowymi pomocnikami dla programistów i administratorów, zapewniając wygodę i niezawodność w zarządzaniu bazami danych.

Similar articles:

[Konfiguracja serwerów plików w sieciach lokalnych na Windows i Linux](https://zomro.com/pl/blog/articles/527-setting-up-file-servers-in-local-networks-on-windows-and-linux) [Jak zresetować hasło w systemie Windows 2019](https://zomro.com/pl/blog/articles/159-sbros-parolja-na-windows-2019) [API - Interakcja z Backup](https://zomro.com/pl/blog/articles/482-api-interaction-with-backup) [API - Interakcja z Rescue](https://zomro.com/pl/blog/articles/485-api-interacting-with-rescue) [Podręcznik zarządzania panelem kontrolnym cPanel na VPS](https://zomro.com/pl/blog/articles/539-guide-to-managing-the-cpanel-control-panel-on-vps)

[ Serwery dedykowane od €88.80/mies ](/pl/dedicated-servers)
