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

pgDash Alternatives - Monitorowanie bazy danych PostgreSQL za pomocą ClusterControl

Monitorowanie i alarmowanie bazy danych jest szczególnie ważną częścią operacji na bazach danych, ponieważ musimy zrozumieć aktualny stan bazy danych. Jeśli nie masz dobrego monitoringu bazy danych, nie będziesz w stanie szybko znaleźć problemów w bazie danych. Może to spowodować przestój.

Jednym z narzędzi dostępnych do monitorowania jest pgDash, aplikacja SaaS do monitorowania i ostrzegania dla bazy danych PostgreSQL.

Procedura instalacji pgDash

Rejestrację na pgDash można przeprowadzić za pośrednictwem strony internetowej lub można ją również pobrać (własnego hostowania) zgodnie z udostępnieniem RapidLoop.

Proces instalacji pgDash jest prosty, wystarczy pobrać potrzebny pakiet z pgDash, aby skonfigurować go po stronie hosta / serwera bazy danych.

Możesz uruchomić ten proces w następujący sposób:

[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgmetrics/releases/download/v1.9.0/pgmetrics_1.9.0_linux_amd64.tar.gz

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   647  100   647    0     0    965      0 --:--:-- --:--:-- --:--:--   964

100 3576k  100 3576k    0     0   189k      0  0:00:18  0:00:18 --:--:--  345k

[[email protected] ~]$ tar xvf pgmetrics_1.9.0_linux_amd64.tar.gz

pgmetrics_1.9.0_linux_amd64/LICENSE

pgmetrics_1.9.0_linux_amd64/README.md

pgmetrics_1.9.0_linux_amd64/pgmetrics

[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgdash/releases/download/v1.5.1/pgdash_1.5.1_linux_amd64.tar.gz

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   644  100   644    0     0   1370      0 --:--:-- --:--:-- --:--:--  1367

100 2314k  100 2314k    0     0   361k      0  0:00:06  0:00:06 --:--:--  560k

[[email protected] ~]$ tar xvf pgdash_1.5.1_linux_amd64.tar.gz

pgdash_1.5.1_linux_amd64/LICENSE

pgdash_1.5.1_linux_amd64/README.md

pgdash_1.5.1_linux_amd64/pgdash

[[email protected] ~]$ ./pgmetrics_1.9.0_linux_amd64/pgmetrics --no-password -f json ccdb | ./pgdash_1.5.1_linux_amd64/pgdash -a NrxaHk3JH2ztLI06qQlA4o report myserver1

Oprócz pgDash będziesz potrzebować innego pakietu, pgmetrics, do zainstalowania do monitorowania. pgmetrics to narzędzie typu open source, którego zadaniem jest zbieranie informacji i statystyk w bazie danych potrzebnych pgDash, podczas gdy zadaniem pgdash jest wysyłanie tych informacji do pulpitu nawigacyjnego.

Jeśli chcesz dodać więcej baz danych do platformy monitorowania, potrzebujesz aby powtórzyć powyższy proces dla każdej bazy danych.

Chociaż instalacja pgDash jest prosta, istnieją powtarzające się procesy, które mogą stanowić problem, jeśli istnieją dodatkowe bazy danych, które wymagają monitorowania. Najprawdopodobniej będziesz potrzebować do tego skryptu automatyzacji.

pgDash Wskaźniki

Istnieją 3 główne funkcje pgDash Dashboard, są to: 

  • Panel :składa się z podmenu, takich jak:Przegląd, Baza danych, Zapytania, Zaplecze, Blokady, Przestrzeń tabel, Replikacja, Pliki WAL, Zapisy BG, Próżnia, Role, Konfiguracja.
  • Narzędzia :składa się z podmenu, takich jak Zarządzanie indeksami, Zarządzanie przestrzenią tabel, Diagnostyka i Top-K.
  • Alerty :składa się z podmenu, takich jak Alerty i Alerty zmian.

Monitorowanie PostgreSQL przez ClusterControl

Monitorowanie prowadzone przez ClusterControl wykorzystuje metodę ssh i bezpośrednie połączenie z węzła kontrolera do docelowego węzła bazy danych w celu gromadzenia informacji potrzebnych do wyświetlenia na pulpicie nawigacyjnym.

ClusterControl posiada również funkcję Agent Based Monitoring, którą można łatwo aktywować. Możesz to zobaczyć poniżej...

ClusterControl przeprowadzi następnie proces instalacji prometheusa, eksporterów węzłów i PostgreSQL eksporterów, w docelowej bazie danych, której celem jest gromadzenie i gromadzenie informacji wymaganych przez pulpit nawigacyjny do wyświetlania metryk.

Jeśli aktywne jest monitorowanie agenta, każda nowa docelowa baza danych zostanie automatycznie dodana i monitorowana przez monitorowanie agenta.

Panele ClusterControl

Tutaj możesz zobaczyć informacje na ekranach Przegląd klastra PostgreSQL i Informacje o systemie. W tej funkcji można zobaczyć szczegółowe informacje, takie jak wersja bazy danych, identyfikator transakcji, ostatni punkt kontrolny oraz data i godzina działania serwera. Informacje te przedstawiono poniżej:

Na stronie Informacje o systemie możemy uzyskać informacje takie jak Średnia obciążenia, Użycie pamięci, użycie wymiany, zobacz poniższy obrazek:

  • Baza danych :możesz uzyskać informacje, takie jak nazwa bazy danych, rozmiar bazy danych, liczba tabel, indeks, a także przestrzeń tabel.
  • Zapytania :możesz monitorować połączenia, zapis dysku, odczyt dysku, trafienie bufora z zapytań. Możesz także wyszukiwać dowolne zapytanie, które działa w określonym przedziale czasu.
  • Zaplecze :możesz monitorować aktualny stan zaplecza bazy danych, w ramach tych informacji podawane są krytyczne szczegóły, takie jak zaplecza oczekujące na blokady, inne zaplecza oczekujące, transakcja otwarta zbyt długo, bezczynność zaplecza w transakcji. Możesz także zobaczyć wszystkie backendy działające w bazie danych.
  • Blokady :Możesz sprawdzić całkowitą liczbę blokad, nie przyznanych blokad i zablokowanych zapytań.
  • Przestrzeń tabel :zawiera informacje związane z tablespace, czyli tzw. rozmiar przestrzeni tabel, użycie dysku i i-węzłów.
  • Replikacje :możesz monitorować swój status replikacji w bazie danych PostgreSQL, zaczynając od miejsca replikacji, replikacji przychodzącej, replikacji wychodzącej, publikacji replikacji i subskrypcji replikacji.
  • Pliki Wal :zawiera informacje związane z WAL (dziennikiem zapisu z wyprzedzeniem), a także statystyki, np.:liczba plików WAL, szybkość generowania WAL, pliki WAL generowane co godzinę.
  • BG Writers :dostarcza informacji związanych z bazą danych punktów kontrolnych, zapisanym buforem i parametrami związanymi z funkcją zapisu w tle.
  • Postęp próżniowy :zawiera informacje związane z podciśnieniem, które działa w bazie danych, a także parametry podciśnienia.
  • Role :zawiera informacje związane z rolami istniejącymi w bazie danych, w tym uprawnieniami.
  • Konfiguracja :zawiera parametry w bazie danych PostgreSQL.

Wewnątrz narzędzi znajdują się podmenu, takie jak Zarządzanie indeksami, które zawierały informacje, tj. Unused Index, Bloat Index, dan Index z niskim współczynnikiem trafień w pamięci podręcznej. Tablespace Management dostarcza informacji związanych z Tablespace i innymi obiektami dostępnymi pod.

Diagnostyka, aby zrozumieć potencjalne problemy, które mogą wystąpić w przypadku 10 najbardziej rozdętych tabel, 10 najbardziej rozdętych indeksów, listy nieaktywnych przedziałów replikacji, 10 najdłużej działających transakcji itp.

ClusterControl ma kilka metryk w oddzielnym menu, są to Przegląd, Węzły, Pulpit nawigacyjny, Monitor zapytań i Wydajność, patrz rysunek poniżej:

Gdy włączone jest monitorowanie oparte na agentach, stąd wszystkie informacje związane ze statystykami a inne informacje związane z bazą danych będą przechowywane w bazie danych szeregów czasowych (prometheus). Możesz zobaczyć te informacje w ClusterControl, jak pokazano poniżej:

W Monitorze zapytań możesz znaleźć Najpopularniejsze zapytania, Uruchomione zapytania, Zapytania Odstające lub menu Statystyka zapytań. Dostarczają informacji związanych z uruchamianiem zapytań, najczęstszych zapytań i statystyk bazy danych. Można również skonfigurować zapytania wolno działające i zapytania nieindeksujące.

W przypadku wydajności istnieją podmenu, takie jak wzrost bazy danych, które mogą pokazywać informacje o statystykach bazy danych i wielkości tabeli. Analizator schematu dostarcza informacji związanych z nadmiarowym indeksem i tabelą bez klucza podstawowego.

Ostrzeżenia PostgreSQL

Są dwie części alertów...

  • Reguły alertów :reguły alertów odgrywają główną rolę, możesz zdefiniować limity jako parametry, które mogą wywołać alarm w DBA.
  • Integracja z innymi firmami :to kanał integracji z platformą zarządzania incydentami do komunikacji i współpracy, takich jak:PagerDuty, OpsGenie, Slack lub przez e-mail.

PgDash ma wiele opcji parametrów bazy danych, które można ustawić, związanych z regułą alertu, podzielonych na kilka warstw począwszy od serwera, bazy danych, tabeli, indeksu, przestrzeni tabel i zapytania. Możesz zobaczyć te informacje w pgDash, jak pokazano poniżej...

Jeśli chodzi o kanał integracji stron trzecich, pgDash obsługuje kilka kanałów, takich jak jako Slack, Pagerduty, VictorOps, Xmatters, e-mail lub tworzenie własnych webhooków, aby mogły być używane przez inne usługi.

Poniższy wygląd przedstawia integrację pgDash z innymi firmami:

W przeciwieństwie do pgDash, ClusterControl ma szerszą i bardziej ogólną opcję ostrzegania o zdarzeniach , zaczynając od alertów związanych z hostem, siecią, klastrem i samą bazą danych. Poniżej znajdują się przykłady opcji wydarzenia, które można wybrać:

ClusterControl może wybrać kilka klastrów baz danych w jednym alercie o zdarzeniu. Integracja stron trzecich z ClusterControl obsługuje kilka narzędzi do zarządzania incydentami i komunikacji/współpracy, takich jak PagerDuty, VictorOps, Telegram, OpsGenie, Slack, ServiceNow lub umożliwia tworzenie własnego webhooka.

W sekcji reguł alertów zarówno pgDash, jak i ClusterControl mają zalety i wady. Zaletą pgDash jest to, że możesz ustawić bardzo szczegółowe alerty bazy danych związane z tym, co będzie wysyłane, podczas gdy wadą jest to, że musisz wykonać te ustawienia w każdej bazie danych (chociaż istnieje funkcja importowania z innych konfiguracji baz danych.

ClusterControl nie zawiera szczegółowych alertów o zdarzeniach, tylko ogólne zdarzenia bazy danych, ale ClusterControl może wysyłać alerty nie tylko związane z bazą danych, ale może wysyłać alerty o zdarzeniach z węzłów, klastrów, sieci itp. Poza tym możesz ustawić te alerty dla kilku klastrów baz danych.

W sekcji Integracja z innymi firmami, pgDash i ClusterControl obsługują różne zarządzanie incydentami i kanały komunikacji stron trzecich. W rzeczywistości obaj mogą stworzyć własnego webhooka, aby mógł być używany przez inne usługi (np. Grafana).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. FUNKCJA DROP bez znajomości liczby/rodzaju parametrów?

  2. Jak stworzyć użytkownika w PostgreSQL

  3. Analiza statystyk tabel PostgreSQL

  4. PostgreSQL Warunek „Gdzie liczyć”

  5. Jak usunąć zduplikowane wpisy?