PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Monitorowanie dystrybucji Percona dla PostgreSQL — kluczowe metryki

Monitorowanie jest podstawą do sprawdzenia, czy Twoje systemy działają prawidłowo, i pozwala naprawić lub zapobiec wszelkim problemom, zanim wpłyną one na Twoją firmę. Nawet w solidnej technologii, takiej jak PostgreSQL, monitorowanie jest koniecznością, a głównym celem jest wiedzieć, co monitorować, w przeciwnym razie nie miałoby to sensu lub nie byłoby przydatne, gdybyś musiał go użyć. W tym blogu zobaczymy, czym jest Percona Distribution dla PostgreSQL i jakie kluczowe metryki należy na nim monitorować.

Dystrybucja Percona dla PostgreSQL

Jest to zbiór narzędzi pomagających w zarządzaniu systemem baz danych PostgreSQL. Instaluje PostgreSQL i uzupełnia go o wybór rozszerzeń, które umożliwiają efektywne rozwiązywanie podstawowych praktycznych zadań, w tym:

  • pg_repack :Odbudowuje obiekty bazy danych PostgreSQL.
  • pgaudit :Zapewnia szczegółowe rejestrowanie audytu sesji lub obiektu za pośrednictwem standardowej funkcji rejestrowania PostgreSQL.
  • pgBackRest :Jest to rozwiązanie do tworzenia kopii zapasowych i przywracania dla PostgreSQL.
  • Patroni :Jest to rozwiązanie wysokiej dostępności dla PostgreSQL.
  • pg_stat_monitor :Zbiera i agreguje statystyki dla PostgreSQL i dostarcza informacje o histogramie.
  • Zbiór dodatkowych rozszerzeń contrib PostgreSQL.

Dystrybucja Percona dla PostgreSQL jest również dostarczana z biblioteką libpq. Zawiera zestaw funkcji bibliotecznych, które umożliwiają programom klienckim przekazywanie zapytań do serwera zaplecza PostgreSQL i otrzymywanie wyników tych zapytań.

Co monitorować w dystrybucji Percona dla PostgreSQL

Podczas monitorowania klastra bazy danych należy wziąć pod uwagę dwie główne rzeczy:system operacyjny i samą bazę danych. Musisz określić, które metryki będziesz monitorować z obu stron i jak to zrobisz.

Pamiętaj, że gdy ma to wpływ na jeden z Twoich wskaźników, może to mieć również wpływ na inne, przez co rozwiązywanie problemu staje się bardziej złożone. Posiadanie dobrego systemu monitorowania i ostrzegania jest ważne, aby maksymalnie uprościć to zadanie.

Monitorowanie systemu operacyjnego

Jedną ważną rzeczą jest monitorowanie zachowania systemu operacyjnego. Zobaczmy kilka punktów do sprawdzenia tutaj.

Wykorzystanie procesora

Nadmierny procent wykorzystania procesora może stanowić problem, jeśli nie jest to zwykłe zachowanie. W takim przypadku ważne jest, aby zidentyfikować procesy, które generują ten problem. Jeśli problemem jest proces bazy danych, musisz sprawdzić, co dzieje się w bazie danych.

Pamięć RAM lub użycie SWAP

Jeśli widzisz wysoką wartość tej metryki i nic się nie zmieniło w twoim systemie, prawdopodobnie musisz sprawdzić konfigurację bazy danych. Parametry takie jak shared_buffers i work_mem mogą mieć na to bezpośredni wpływ, ponieważ definiują ilość pamięci, którą można wykorzystać dla bazy danych PostgreSQL.

Wykorzystanie dysku

Nienormalny wzrost wykorzystania miejsca na dysku lub nadmierne zużycie dostępu do dysku to ważne rzeczy do monitorowania, ponieważ w pliku dziennika PostgreSQL może być zarejestrowanych wiele błędów lub zła konfiguracja pamięci podręcznej, która może generować ważne zużycie dostępu do dysku zamiast używać pamięci do przetwarzania zapytań.

Średnia obciążenia

Wiąże się to z trzema wymienionymi powyżej punktami. Wysokie średnie obciążenie może być generowane przez nadmierne użycie procesora, pamięci RAM lub dysku.

Sieć

Problem z siecią może mieć wpływ na wszystkie systemy, ponieważ aplikacja nie może połączyć się (lub połączyć utraconych pakietów) z bazą danych, więc jest to istotna metryka do monitorowania. Możesz monitorować opóźnienia lub utratę pakietów, a głównym problemem może być nasycenie sieci, problem ze sprzętem lub po prostu zła konfiguracja sieci.

Monitorowanie bazy danych PostgreSQL

Monitorowanie bazy danych PostgreSQL jest ważne nie tylko po to, aby sprawdzić, czy masz problem, ale także, aby wiedzieć, czy musisz coś zmienić, aby poprawić wydajność bazy danych, to prawdopodobnie jedna z najważniejszych rzeczy do monitorowania w bazie danych. Zobaczmy kilka wskaźników, które są w tym ważne.

Monitorowanie zapytań

Domyślnie PostgreSQL jest skonfigurowany z myślą o kompatybilności i stabilności, więc musisz znać swoje zapytania i jego wzorzec oraz konfigurować bazy danych w zależności od ruchu, który masz. Tutaj możesz użyć polecenia EXPLAIN, aby sprawdzić plan zapytania dla określonego zapytania, a także możesz monitorować ilość operacji SELECT, INSERT, UPDATE lub DELETE na każdym węźle. Jeśli masz długie zapytanie lub dużą liczbę zapytań uruchomionych w tym samym czasie, może to stanowić problem dla wszystkich systemów.

Monitorowanie aktywnych sesji

Powinieneś także monitorować liczbę aktywnych sesji. Jeśli jesteś blisko limitu, musisz sprawdzić, czy coś jest nie tak, czy po prostu musisz zwiększyć wartość max_connections. Różnica w liczbie może oznaczać wzrost lub spadek połączeń. Złe wykorzystanie puli połączeń, blokowanie lub problem z siecią to najczęstsze problemy związane z liczbą połączeń.

Blokady bazy danych

Jeśli masz zapytanie oczekujące na inne zapytanie, musisz sprawdzić, czy to inne zapytanie jest normalnym procesem, czy czymś nowym. W niektórych przypadkach, na przykład, jeśli ktoś dokonuje aktualizacji na dużym stole, ta akcja może wpływać na normalne zachowanie bazy danych, generując dużą liczbę blokad.

Monitorowanie replikacji

Kluczowe metryki do monitorowania replikacji to opóźnienie i stan replikacji. Najczęstsze problemy to problemy z siecią, problemy z zasobami sprzętowymi lub problemy z niewymiarowaniem. Jeśli napotkasz problem z replikacją, musisz wiedzieć o tym jak najszybciej, ponieważ będziesz musiał to naprawić, aby zapewnić środowisko wysokiej dostępności.

Monitorowanie kopii zapasowych

Unikanie utraty danych jest jednym z podstawowych zadań DBA, więc nie musisz tylko wykonać kopii zapasowej, powinieneś wiedzieć, czy kopia zapasowa została ukończona i czy nadaje się do użytku. Zwykle ten ostatni punkt nie jest brany pod uwagę, ale jest to prawdopodobnie najważniejsza kontrola w procesie tworzenia kopii zapasowej.

Monitorowanie dzienników bazy danych

Należy monitorować dziennik bazy danych pod kątem błędów, takich jak FATAL lub zakleszczenie, a nawet typowych błędów, takich jak problemy z uwierzytelnianiem lub długotrwałe zapytania. Większość błędów jest zapisywana w pliku dziennika ze szczegółowymi przydatnymi informacjami, aby to naprawić.

Panele informacyjne

Widoczność jest przydatna do szybkiego wykrywania problemów. Odczytanie wyniku polecenia jest zdecydowanie bardziej czasochłonnym zadaniem niż oglądanie wykresu. Tak więc użycie pulpitu nawigacyjnego może stanowić różnicę między wykryciem problemu teraz lub w ciągu najbliższych 15 minut, z pewnością czas może być naprawdę ważny dla firmy.

Alarmy

Tylko monitorowanie systemu nie ma sensu, jeśli nie otrzymasz powiadomienia o każdym problemie. Bez systemu ostrzegania powinieneś przejść do narzędzia monitorującego, aby sprawdzić, czy wszystko jest w porządku, i możliwe, że masz poważny problem od wielu godzin.

Monitorowanie bazy danych PostgreSQL za pomocą ClusterControl

Naprawdę trudno jest znaleźć narzędzie do monitorowania wszystkich niezbędnych metryk PostgreSQL, ogólnie rzecz biorąc, będziesz musiał użyć więcej niż jednego, a nawet trzeba będzie wykonać kilka skryptów. Jednym ze sposobów scentralizowania zadania monitorowania i ostrzegania jest użycie ClusterControl, który zapewnia takie funkcje, jak zarządzanie kopiami zapasowymi, monitorowanie i ostrzeganie, wdrażanie i skalowanie, automatyczne odzyskiwanie i ważniejsze funkcje ułatwiające zarządzanie bazami danych. Wszystkie te funkcje w tym samym systemie.

ClusterControl udostępnia wstępnie zdefiniowany zestaw pulpitów nawigacyjnych do analizowania niektórych z najczęstszych wskaźników.

Pozwala dostosować wykresy dostępne w klastrze i włącz monitorowanie oparte na agentach, aby generować bardziej szczegółowe pulpity nawigacyjne.

Możesz także tworzyć alerty informujące o zdarzeniach w Twoim klastrze, lub zintegrować z różnymi usługami, takimi jak PagerDuty lub Slack.

Możesz również sprawdzić sekcję monitora zapytań, gdzie znajdziesz najczęstsze zapytania, uruchomione zapytania, wartości odstające zapytań i statystyki zapytań.

Dzięki tym funkcjom możesz zobaczyć, jak działa Twoja baza danych PostgreSQL.

W celu zarządzania kopiami zapasowymi ClusterControl centralizuje je w celu ochrony, zabezpieczenia i odzyskiwania danych, a dzięki funkcji weryfikacji kopii zapasowej możesz sprawdzić, czy kopia zapasowa jest gotowa.

To weryfikacyjne zadanie kopii zapasowej przywróci kopię zapasową na oddzielnym samodzielnym hoście, więc możesz się upewnić, że kopia zapasowa działa.

Monitorowanie za pomocą wiersza poleceń ClusterControl

Do pisania skryptów i automatyzacji zadań, a nawet jeśli wolisz tylko wiersz poleceń, ClusterControl ma narzędzie s9s. Jest to narzędzie wiersza poleceń do zarządzania klastrem bazy danych.

Lista klastrów

Lista węzłów

Wnioski

Monitorowanie jest absolutnie konieczne, a najlepszy sposób, jak to zrobić, zależy od infrastruktury i samego systemu. W tym blogu przedstawiamy dystrybucję Percona dla PostgreSQL i wspomnieliśmy o kilku ważnych metrykach, które należy monitorować w środowisku PostgreSQL. Pokazaliśmy również, jak ClusterControl jest przydatny do tego zadania.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieprawidłowe sortowanie/sortowanie/kolejność ze spacjami w Postgresql 9.4

  2. Utrzymywanie identyfikatora UUID w PostgreSQL przy użyciu JPA

  3. Zresetuj licznik automatycznego przyrostu w postgresie

  4. Dołącz znak plus/minus do liczby w PostgreSQL

  5. PostgreSql WSTAW Z WYBRANEGO ID POWRACAJĄCEGO