MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

SCUMM:infrastruktura monitorowania baz danych oparta na agentach w ClusterControl

Wraz z wydaniem 1.7 naszego flagowego produktu ClusterControl, wprowadziliśmy naszą nową infrastrukturę monitorowania opartą na agentach:SCUMM — którą ten blog jest bardziej szczegółowo omówiony.

Jako podstawowy element naszego produktu, ClusterControl zapewnia kompletny system monitorowania z danymi w czasie rzeczywistym, aby wiedzieć, co się teraz dzieje, z metrykami o wysokiej rozdzielczości dla lepszej dokładności, wstępnie skonfigurowanymi pulpitami nawigacyjnymi i szeroką gamą usług powiadamiania innych firm do ostrzegania .

Systemy lokalne i w chmurze mogą być monitorowane i zarządzane z jednego punktu.

Inteligentne kontrole kondycji są wdrażane dla rozproszonych topologii, na przykład wykrywanie partycjonowania sieci przez wykorzystanie widoku węzłów bazy danych systemu równoważenia obciążenia.

I… monitorowanie może być bezagentowe przez SSH lub oparte na agencie… i tu pojawia się SCUMM!

Nowy system SCUMM ClusterControl jest oparty na agencie, a serwer pobiera metryki od agentów działających na tych samych hostach, co monitorowane bazy danych i używa agentów Prometheus w celu uzyskania większej dokładności i opcji dostosowywania podczas monitorowania klastrów baz danych.

Ale dlaczego SCUMM i o co w tym wszystkim chodzi?

Wprowadzenie do SCUMM

SCUMM - Manynines CMON Unified Monitoring and Management - to nasza nowa infrastruktura monitorowania oparta na agentach.

Ta infrastruktura monitorowania składa się z dwóch głównych komponentów:

Pierwszym komponentem jest serwer Prometheus, który działa jako baza danych szeregów czasowych i przechowuje zebrane dane.

Drugim składnikiem jest eksporter. Może istnieć jeden lub więcej eksporterów odpowiedzialnych za zbieranie metryk z węzła lub usługi. Serwer Prometheus zbiera te metryki (nazywa się to skrobaniem) od eksporterów za pośrednictwem protokołu HTTP. Ponadto stworzyliśmy zestaw pulpitów nawigacyjnych do wizualizacji zebranych danych.

Główne korzyści to:

  1. Zbieraj dane z eksporterami Prometheus wspieranymi przez społeczność
    1. Na przykład dane ze schematu wydajności MySQL lub ProxySQL
  2. Wiele wyspecjalizowanych pulpitów nawigacyjnych pokazujących najważniejsze metryki i historyczne trendy dla każdej monitorowanej usługi
  3. Monitorowanie wysokiej częstotliwości umożliwia zeskrobywanie celów z jednosekundową przerwą
  4. Architektura, która skaluje się wraz z liczbą serwerów i klastrów baz danych. Pojedyncza instancja Prometheusa może pobierać tysiące próbek na sekundę.
  5. Brak polegania na łączności SSH do zbierania metryk hostów i procesów, co oznacza bardziej skalowalny system w porównaniu z rozwiązaniem do monitorowania bez agentów
  6. Możliwość tworzenia niestandardowych pulpitów nawigacyjnych z niestandardowymi regułami (uważaj na nasze nadchodzące wersje)

Agenci/eksporterzy SCUMM zainstalowani na monitorowanych węzłach są nazywani eksporterami Prometheus. Eksporterzy zbierają metryki z węzła (np. CPU, RAM, dysk i sieć) oraz z usług takich jak serwery MySQL lub PostgreSQL. Serwer Prometheus jest instalowany na serwerze i usuwa (próbkuje) eksportery z niestandardowym interwałem.

Dlaczego Prometeusz?

Prometheus to bardzo popularna baza danych szeregów czasowych, która zyskała dużą popularność dzięki aktywnemu ekosystemowi. Oferuje bogaty model danych i język zapytań z systemem ankiet opartym na http. Jest łatwy w instalacji, utrzymaniu i konfiguracji również w konfiguracji HA.

Prometheus zbiera metryki z oprzyrządowanych zadań, bezpośrednio lub za pośrednictwem pośredniczącej bramy push dla krótkotrwałych zadań. Przechowuje lokalnie wszystkie zeskrobane próbki i uruchamia reguły na tych danych, aby agregować i rejestrować nowe serie czasowe z istniejących danych lub generować alerty.

Prometheus dobrze sprawdza się w rejestrowaniu dowolnych czysto numerycznych szeregów czasowych. Pasuje zarówno do monitorowania zorientowanego na maszynę, jak i do monitorowania bardzo dynamicznych architektur zorientowanych na usługi. W świecie mikroserwisów jego wsparcie dla wielowymiarowego gromadzenia danych i zapytań jest szczególną zaletą.

Prometheus został zaprojektowany z myślą o niezawodności, aby był systemem, do którego przechodzisz podczas awarii, aby umożliwić szybkie diagnozowanie problemów. Każdy serwer Prometheus jest samodzielny, niezależny od pamięci sieciowej lub innych usług zdalnych. Możesz na nim polegać, gdy inne części Twojej infrastruktury są uszkodzone i nie musisz konfigurować rozbudowanej infrastruktury, aby z niej korzystać. W ten sposób w celu zapewnienia wysokiej dostępności można po prostu zainstalować drugi serwer Prometheus, pobierający te same dane, co pierwszy serwer Prometheus.

Co więcej, Prometheus jest bardzo popularną bazą danych szeregów czasowych, a jej popularność rośnie bardzo szybko. Możliwe jest, że inny serwer Prometheus, który znajduje się wyżej w organizacji, zeskrobuje serwery Prometheus bliżej warstwy bazy danych. Pozwala to na skalowalną infrastrukturę monitorowania, w której w warstwie bazy danych rozdzielczość danych jest wyższa niż na wyższym poziomie w organizacji.

Eksporterzy

Co najmniej jeden eksporter jest zainstalowany na monitorowanym serwerze i jest odpowiedzialny za zbieranie metryk dotyczących określonej części infrastruktury. Np. może istnieć jeden eksporter do przechwytywania informacji specyficznych dla hosta, eksporter do przechwytywania metryk MySQL i metryk ProxySQL.

Stworzyliśmy również specjalny eksporter procesów, który monitoruje działające procesy serwera. Ten eksporter ma kluczowe znaczenie dla funkcji wysokiej dostępności w ClusterControl i umożliwia ClusterControl szybkie reagowanie na awarie i stany procesów. Użycie eksportera procesów (który jest instalowany domyślnie, gdy włączone jest monitorowanie agenta) zmniejsza obciążenie systemu na monitorowanych serwerach.

Włączanie monitorowania agentów w ClusterControl

Włączenie monitorowania opartego na agentach jest tak proste, jak kliknięcie na pulpicie nawigacyjnym, a następnie kliknięcie „Włącz monitorowanie oparte na agentach”. Wybierz hosta, na którym zostanie zainstalowany serwer Prometheus. Ten serwer Prometheus można następnie udostępnić innym klastrom.

W wersji 1.7.1 ClusterControl zawiera następujące pulpity nawigacyjne:

  • Przegląd systemu
  • Przegląd klastra
  • Serwer MySQL - Ogólne
  • Serwer MySQL — pamięci podręczne
  • Wskaźniki MySQL InnoDB
  • Omówienie klastra Galera
  • Omówienie serwera Galera
  • Przegląd PostgreSQL
  • Przegląd ProxySQL
  • Przegląd HAProxy
  • Omówienie klastra MongoDB
  • Zestaw replik MongoDB
  • Serwer MongoDB

Aby podsumować…

To, czy ktoś chce użyć agenta monitorowania, czy przejść na ścieżkę bezagentową, jest całkowicie oparte na wymaganiach zasad organizacji i niestandardowych potrzebach. I chociaż uwielbiamy prostotę polegającą na tym, że nie trzeba instalować agentów ani zarządzać nimi na hostach monitorowanych baz danych, podejście oparte na agentach może zapewnić wyższą rozdzielczość monitorowanych danych i ma pewne zalety pod względem bezpieczeństwa.

Nowy system SCUMM ClusterControl korzysta z agentów Prometheus w celu uzyskania większej dokładności i opcji dostosowywania podczas monitorowania klastrów baz danych.

Spróbuj i przekonaj się sam!

Zainstaluj ClusterControl już dziś (jest bezpłatny z naszą wersją Community) lub pobierz nasz nowy przewodnik ClusterControl, jeśli chcesz najpierw dowiedzieć się więcej o naszym produkcie.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ABC NestJS:Przewodnik dla początkujących z MongoDB (Mongoose).

  2. Potrzebujesz obejścia dla wyszukiwania ciągu do objectID outsideField

  3. MongoDB, wykonanie zapytania za pomocą wyrażenia regularnego na polach indeksowanych

  4. mongodb:znajdowanie najwyższej wartości liczbowej w kolumnie

  5. Czy powinienem przechowywać tokeny JWT w redis?