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

Wskazówki dotyczące monitorowania PostgreSQL dla Moodle

Moodle to system zarządzania nauczaniem (LMS) zaprojektowany, aby zapewnić nauczycielom, administratorom i uczniom jeden solidny, bezpieczny i zintegrowany system do tworzenia spersonalizowanych środowisk nauczania. Obsługuje różne technologie baz danych (np. MariaDB, MySQL, PostgreSQL itp.).

Z powodu COVID-19 praca i nauka w domu ostatnio wzrosła wykładniczo, więc dostępność i wydajność tego rodzaju platformy edukacyjnej stają się coraz ważniejsze. Jedynym sposobem, aby upewnić się, że wszystko jest w porządku, jest posiadanie dobrego systemu monitorowania i ostrzegania, ale pytanie brzmi, co należy monitorować, aby upewnić się, że systemy działają w zdrowy sposób.

W tym blogu przyjrzymy się, co należy monitorować w bazie danych PostgreSQL Moodle i jak można to zrobić łatwiej za pomocą ClusterControl.

Co monitorować w PostgreSQL

Podczas monitorowania węzła lub 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.

Monitorowanie systemu operacyjnego

Jedna ważna rzecz (która jest wspólna dla wszystkich silników baz danych, a nawet dla wszystkich systemów) jest monitorowanie zachowania systemu operacyjnego. Oto 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ć proces/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ść tego wskaźnika 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

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ń

Ogólnie rzecz biorąc, bazy danych są domyślnie konfigurowane z myślą o kompatybilności i stabilności, więc musisz znać swoje zapytania i ich wzorzec, a także 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.

Aktywne sesje

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ć maksymalną wartość połączenia w konfiguracji bazy danych. Różnica w liczbie może oznaczać wzrost lub spadek połączeń. Złe korzystanie z puli połączeń, blokowania lub problemy z siecią to najczęstsze problemy związane z liczbą połączeń.

Zamki

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.

Replikacja

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.

Kopie zapasowe

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.

Dzienniki bazy danych

Należy monitorować dziennik bazy danych pod kątem błędów, problemów z uwierzytelnianiem, a nawet długotrwałych zapytań. Większość błędów jest zapisywana w pliku dziennika ze szczegółowymi przydatnymi informacjami, aby je naprawić.

Powiadomienia i alerty

Samo monitorowanie systemu nie wystarczy, 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. Ta praca z alertami może być wykonana za pomocą alertów e-mail, alertów tekstowych lub innych narzędzi, takich jak Slack.

Monitorowanie bazy danych PostgreSQL Moodle za pomocą ClusterControl

ClusterControl to system zarządzania i monitorowania, który pomaga wdrażać, zarządzać, monitorować i skalować bazy danych z przyjaznego interfejsu. ClusterControl obsługuje najlepsze technologie baz danych typu open source i możesz zautomatyzować wiele zadań związanych z bazami danych, które musisz regularnie wykonywać, takich jak dodawanie i skalowanie nowych węzłów, wykonywanie kopii zapasowych i przywracanie oraz wiele innych.

Pozwala monitorować serwery w czasie rzeczywistym za pomocą predefiniowanego zestawu pulpitów nawigacyjnych w celu analizy niektórych z najczęstszych wskaźników.

Pozwala dostosować wykresy dostępne w klastrze i umożliwienie monitorowania opartego na agentach w celu generowania bardziej szczegółowych pulpitów nawigacyjnych.

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

W sekcji monitora zapytań można znaleźć najpopularniejsze zapytania, zapytania, wartości odstające zapytań i statystyki zapytań do monitorowania ruchu w bazie danych.

W celu zarządzania kopiami zapasowymi ClusterControl centralizuje je, aby chronić, zabezpieczać i odzyskiwać danych, a dzięki funkcji weryfikacji kopii zapasowej możesz potwierdzić, czy kopia zapasowa jest gotowa.

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

Na koniec nie musisz uzyskiwać dostępu do węzła bazy danych, aby sprawdzić logi, możesz znaleźć wszystkie logi bazy danych scentralizowane w sekcji ClusterControl Log.

Jak widać, wszystkie wymienione rzeczy możesz obsłużyć z tego samego scentralizowany system:ClusterControl.

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

Możesz wykonać wszystkie zadania, które widzisz w ClusterControl UI (a nawet więcej) i możesz zintegrować tę funkcję z niektórymi narzędziami zewnętrznymi, takimi jak slack, aby zarządzać nią z tego miejsca.

Wnioski

Monitorowanie bazy danych Moodle PostgreSQL jest konieczne, ale także czasochłonne, jeśli nie masz żadnego narzędzia, które by w tym pomóc. W tym blogu wspomnieliśmy o kilku kluczowych wskaźnikach, które należy monitorować w bazie danych Moodle PostgreSQL oraz o tym, jak utrzymać kontrolę nad systemami za pomocą ClusterControl.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd Postgres SSL SYSCALL:wykryto EOF za pomocą Pythona i psycopg

  2. Zrzut Postgres zawierający tylko części tabel dla migawki dewelopera

  3. Wstawić, przy zduplikowanej aktualizacji w PostgreSQL?

  4. Aktualizuj znacznik czasu, gdy wiersz jest aktualizowany w PostgreSQL

  5. Łączenie się z PostgreSQL w IRI Workbench