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

Najlepsze narzędzia alertów i powiadomień dla PostgreSQL

W ramach systemu monitorowania przedsiębiorstwa organizacje polegają na alertach i powiadomieniach jako pierwszej linii obrony przed osiągnięciem wysokiej dostępności, a w konsekwencji obniżeniem kosztów przestojów.

Alerty i powiadomienia są czasami używane zamiennie, na przykład możemy powiedzieć „otrzymałem alert systemu o dużym obciążeniu”, a zastąpienie „alert” przez „powiadomienie” nie zmieni znaczenia wiadomości. Jednak w świecie systemów zarządzania należy zwrócić uwagę na różnicę:alerty to zdarzenia generowane w wyniku awarii systemu, a powiadomienia służą do przekazywania informacji o stanie systemu, w tym o awarii. Jako przykład na blogu Manynines Introducing the ClusterControl Alerting Integrations omówiono jedną z funkcji integracji ClusterControl, system powiadomień, który jest w stanie dostarczać alerty za pośrednictwem poczty e-mail, usług czatu i systemów zarządzania incydentami. Zobacz także Wiki PostgreSQL — Alerty i powiadomienia o statusie.

Aby dokładnie monitorować aktywność bazy danych PostgreSQL, system zarządzania opiera się na metrykach aktywności bazy danych, funkcjach niestandardowych lub doradcach monitorowania oraz plikach dziennika monitorowania.

W tym artykule opiszę narzędzia wymienione na Wiki PostgreSQL, w sekcjach Monitorowanie i GUI PostgreSQL, pomijając te, które nie są aktywnie utrzymywane lub nie zapewniają alertów i powiadomień ani w ramach produktu, ani na bezpłatnym koncie próbnym. Chociaż nie jest to wyczerpująca recenzja, każde narzędzie zostało zainstalowane i skonfigurowane do momentu, w którym mogłem zrozumieć jego możliwości ostrzegania i powiadamiania.

Nagios

Nagios to popularny lokalny system monitorowania ogólnego przeznaczenia, który oferuje szeroką gamę wtyczek. Chociaż Nagios Core jest oprogramowaniem typu open source, zalecanym rozwiązaniem do monitorowania PostgreSQL jest Nagios XI.

Ustawienia powiadomień dotyczą użytkownika i aby je zmienić, administrator musi „zalogować się jako” użytkownik — Nagios używa terminu masquerade as . Na stronie ustawień konta użytkownik może włączyć lub wyłączyć metody powiadamiania:

Preferencje powiadomień Nagios XI

Aby skonfigurować typy powiadomień, przejdź do strony „Metody powiadomień”:

Metody powiadamiania Nagios XI

Więcej informacji znajdziesz w Podręczniku użytkownika Nagios XI.

Aby skonfigurować alerty, zaloguj się jako administrator i wybierz kreatora konfiguracji bazy danych:

Kreator konfiguracji bazy danych Nagios XI

Po skonfigurowaniu alerty można przeglądać, wybierając dowolny z domyślnych widoków, pulpitów nawigacyjnych lub możemy skonfigurować niestandardowy. Po wyjęciu z pudełka, Nagios XI dostarcza następujące monitory PostgreSQL:

Monitory PostgreSQL Nagios XI

Zwróć uwagę, że po wyjęciu z pudełka Nagios XI nie dostarcza żadnych metryk opartych na PostgreSQL Statistics Collector, zamiast tego każda metryka musi być zdefiniowana za pomocą kreatora konfiguracji „Postgres Query”:

Zapytanie Postgres Nagios XI

Datadog

Datadog to uniwersalne narzędzie do monitorowania SaaS, które oferuje bardzo duży zestaw integracji z różnymi usługami. Aby rozpocząć monitorowanie, wybierz integrację PostgreSQL, a następnie wybierz integracje powiadomień, takie jak e-mail, czat (np. Slack) lub systemy reagowania na incydenty, takie jak PagerDuty:

Integracje Datadog

Aby otrzymywać powiadomienia przez skonfigurowane wcześniej kanały integracyjne, musimy stworzyć przynajmniej jeden monitor Datadog, w przypadku monitorowania PostgreSQL typu monitora „integracyjnego”:

Integracja Datadog PostgreSQL

Pierwszym krokiem w konfiguracji monitora jest wybór typu alertu:

Metoda wykrywania Datadog

Następnie skonfiguruj co najmniej jedną metrykę:

Konfiguracja metryk Datador

Skonfiguruj warunki wyzwalania alertu:

Wyzwalacz alertu Datadog

Powiadomienia można dostosować za pomocą zmiennych szablonu:

Integracja Datadog Postgres

Na koniec podaj listę odbiorców, którzy będą otrzymywać powiadomienia:

Odbiorcy powiadomień Datadog

Zdarzenia, które Datadog może monitorować, są wymienione w sekcji „Metryki” integracji PostgreSQL i są oparte na predefiniowanych widokach PostgreSQL Statistics Collector:

Wskaźniki integracji Datadog Postgres

Aby monitorować zdarzenia, które nie są dostarczane z domyślną integracją, Datadog zapewnia klientom możliwość tworzenia niestandardowych metryk ograniczonych do planu Datadog.

Okometr

Okmeter jest również częścią rodziny monitorowania SaaS ogólnego przeznaczenia i podobnie jak inne narzędzia SaaS wymaga agenta na monitorowanym hoście. Po zainstalowaniu agenta włączany jest zestaw domyślnych wyzwalaczy zdarzeń, w tym sprawdzanie połączenia PostgreSQL:

Automatyczne wyzwalacze Okmeter

Aby uzyskać więcej metryk PostgreSQL, należy dodać „serwer” PostgreSQL:

Okmeter — dodawanie serwera

Aby monitorować statystyki PostgreSQL, podobnie jak w Nagios i Datadog, musimy skonfigurować niestandardowe metryki, jak wyjaśniono w dokumentacji Okmeter — Wysyłanie niestandardowych metryk. Lub edytuj metrykę „Serwer PostgreSQL” powyżej, aby uwzględnić widoki w funkcji „okmeter.pg_stats”.

Strona dokumentacji statystyk zapytań Okmeter wyjaśnia, jak włączyć śledzenie statystyk wykonania dla instrukcji SQL. Zwróć uwagę, że istnieje kilka ograniczeń w korzystaniu z widoków „pg_stat_statements”, m.in. maksymalna liczba odrębnych instrukcji, które mogą być rejestrowane przez moduł — szczegółowe informacje można znaleźć w dokumentacji PostgreSQL na pg_stat_statements.

Strona kontaktów powiadomień to miejsce, w którym powiadomienia są konfigurowane dla każdego użytkownika:

Powiadomienie kontaktowe Okmeter

Powiadomienia można dodatkowo dostosować za pomocą szablonów:

Szablon powiadomienia Okmeter

Cyrk

Circonus, kolejny produkt do ogólnego monitorowania SaaS, zawiera funkcję „sprawdzania” PostgreSQL, którą można włączyć indywidualnie lub dodać w ramach jednoetapowej instalacji:

Konfiguracja Circonus Check

Zgodnie z dokumentacją Circonus PostgreSQL, sprawdzenie odbywa się ze zdalnej lokalizacji za pomocą bezpośrednich instrukcji SQL. Po skonfigurowaniu hosta PostgreSQL do akceptowania połączeń od brokera Circonus, kreator przedstawi listę dostępnych metryk:

Sprawdzenie Circonus PostgreSQL

Aby skonfigurować alerty, każda metryka jest powiązana z zestawem reguł i listą kontaktów, które mają być powiadamiane.

Szczegóły metryki cyrkonu

Alerty są kategoryzowane na podstawie poziomów ważności:

Zestawy reguł cyrkowych Poziomy ważności

Kanały powiadomień obejmują SMS, OpsGenie, Slack, VictorOps i PagerDuty (bez poczty e-mail). Poniższy zrzut ekranu przedstawia integrację ze Slackiem:

Grupy kontaktów Circonus

Aby skonfigurować powiadomienia, do każdej metryki w sprawdzeniu należy przypisać reguły i kontakty. Pamiętaj, że kontakty należy utworzyć przed edycją danych:

Zestawy reguł cyrkowych

Nowa relikwia

New Relic to kolejny ogólny system monitorowania SaaS. Jeśli chodzi o PostgreSQL, dostępne są (w chwili pisania tego tekstu) trzy wtyczki. Najnowsza to wtyczka Blue Medora:

Nowa wtyczka Relic PostgreSQL od Blue Medora

Gdy wtyczka działa, staje się widoczna na stronie wtyczek i jesteśmy gotowi do skonfigurowania alertów:

Konfiguracja alertów o nowych reliktach

New Relic wykorzystuje koncepcję zasad alertów do grupowania alertów w incydenty. Przed skonfigurowaniem polityki musimy ustawić kanały powiadomień. Po wyjęciu z pudełka New Relic integruje się ze wszystkimi popularnymi systemami reagowania na incydenty, a także z pocztą e-mail:

Nowe typy kanałów reliktów

Pamiętaj, że integracja musi być najpierw włączona w aplikacji do powiadamiania. Na przykład wybierając Slack z listy typów kanałów:

Integracja z New Relic Slack

Następnie utwórz „zasadę alertów”:

Zasady alertów o nowych reliktach

Polityka ostrzegania wymaga „warunku alertu”. Kolejny zestaw zrzutów ekranu pokazuje, jak to osiągnąć:

Kategoria warunków PostgreSQL nowej reliktu Nowa encja warunku PostgreSQL w relikcie Próg warunku PostgreSQL nowego reliktu

Na koniec wybierz kartę Kanały powiadomień, aby zmienić ustawienie domyślne:

Kanały powiadomień o nowych reliktach PostgreSQL

Opcjonalnie dodaj warunek alertu do New Relic Insights (wymaga dodatkowej subskrypcji):

Nowe informacje o reliktach

Menedżer przedsiębiorstwa Postgres

PEM lub Postgres Enterprise Manager to narzędzie do zarządzania, dostrajania i monitorowania PostgreSQL.

Zawiera bardzo bogaty zestaw predefiniowanych wskaźników:

Predefiniowane wskaźniki Postgres Enterprise Manager

Aby zmodyfikować domyślne alerty lub utworzyć niestandardowe, użyj szablonów alertów:

Szablon alertu niestandardowego Postgres Enterprise Manager

PEM wykorzystuje pocztę e-mail i SNMP do powiadomień, dzięki czemu może łatwo zintegrować się z systemami monitorowania, takimi jak Nagios, ale nie ma integracji z popularnymi systemami zarządzania incydentami (PagerDuty, VictorOps, OpsGenie) lub usługami czatu (Slack) dostępnymi w inne produkty.

Postgres Enterprise Manager Email i alerty SNMP

pgwatch2

pgwatch2 to kolejne narzędzie do monitorowania zorientowane na PostgreSQL, samoobsługowe rozwiązanie.

Aby zdefiniować alerty, musimy najpierw utworzyć niestandardowy pulpit nawigacyjny i zdefiniować metrykę:

Wskaźniki panelu kontrolnego pgwatch2

Następnie skonfiguruj alert:

pgwatch2 Konfiguracja alertów w panelu

Po skonfigurowaniu alerty pojawią się na stronie Lista alertów:

Pgwatch2 Lista alertów w panelu

pgwatch2 integruje się ze wszystkimi popularnymi systemami powiadomień. Oto przykład dodawania kanału Slack:

Integracja ze Slack pgwatch2

Aby wyświetlić kanały powiadomień skonfigurowane w systemie, otwórz stronę „Kanały powiadomień”:

Kanały powiadomień pgwatch2

Dodatkowe metryki można dodać zgodnie z dokumentacją w sekcji Funkcje pgwatch2.

ClusterControl

ClusterControl to lokalny system zarządzania zorientowany na bazę danych z obsługą PostgreSQL, MySQL, MariaDB i MongoDB.

Pierwszym krokiem jest dodanie integracji powiadomień. Więcej informacji o dostępnych integracjach można znaleźć na stronie Wprowadzenie do integracji alertów ClusterControl:

Integracje z ClusterControl

Na potrzeby tego demo skonfigurowałem Slacka:

Integracja z ClusterControl Slack

ClusterControl oferuje również opcję powiadamiania przez e-mail:

Powiadomienia ClusterControl przez e-mail

Po pojawieniu się powiadomień utwórz niestandardowych doradców, aby wyzwalać alerty na podstawie określonych kryteriów:

ClusterControl Custom AdvisorsPobierz oficjalny dokument na dziś zarządzaj i skaluj PostgreSQLPobierz raport

Wniosek

Artykuł nie miał na celu szczegółowego zapoznania się z funkcjonalnością każdego narzędzia, a raczej próbowałem opisać to, co uważałem za ważne funkcje związane z alertami i powiadomieniami w szczególności dla PostgreSQL.

Jedną z wyciągniętych wniosków jest to, że w procesie selekcji należy wziąć pod uwagę kilka czynników:

  • lokalnie lub SaaS
  • sprawdzanie przez agenta lub zdalne
  • integracja z systemami zarządzania incydentami i usługami czatu
  • dostępność monitorowanych wskaźników, po wyjęciu z pudełka i wtyczek
  • możliwość dodawania niestandardowych wskaźników
  • funkcje zarządzania alertami (np. grupowanie)
  • złożoność a szczegółowość w interfejsie użytkownika
  • dodatkowe funkcje (zarządzanie, tuning, API itp.)

Ponadto, jeśli jedno rozwiązanie nie spełnia wszystkich wymagań biznesowych i/lub technicznych, zawsze można skorzystać z kombinacji usług.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj django RawQuerySet na Queryset

  2. Jak utworzyć użytkownika tylko do odczytu w PostgreSQL?

  3. Hibernacja, zapisywanie modelu użytkownika w Postgres

  4. Jak radzić sobie z ewolucją bazy danych Play Framework 2 w środowisku produkcyjnym

  5. Zapisz dane wyjściowe z funkcji sql do pliku csv (KOPIUJ) z dynamiczną nazwą pliku