sql >> Databáze >  >> NoSQL >> MongoDB

SCUMM:Agent-based Database Monitoring Infrastructure in ClusterControl

S vydáním 1.7 našeho vlajkového produktu ClusterControl jsme představili naši novou infrastrukturu monitorování založenou na agentech:SCUMM – kterou tento blog pojednává podrobněji.

Jako základní prvek našeho produktu poskytuje ClusterControl kompletní monitorovací systém s daty v reálném čase, abyste věděli, co se právě děje, s metrikami s vysokým rozlišením pro lepší přesnost, předem nakonfigurovanými řídicími panely a širokou škálou oznamovacích služeb třetích stran pro upozornění. .

Místní a cloudové systémy lze monitorovat a spravovat z jednoho jediného bodu.

Inteligentní kontroly stavu jsou implementovány pro distribuované topologie, například detekce rozdělení sítě pomocí využití pohledu nástroje pro vyrovnávání zatížení na databázové uzly.

A ... monitorování může být bez agenta prostřednictvím SSH nebo založené na agentech ... což je místo, kde přichází SCUMM!

Nový systém SCUMM společnosti ClusterControl je založen na agentech, přičemž server získává metriky z agentů, kteří běží na stejných hostitelích jako monitorované databáze, a využívá agenty Prometheus pro větší přesnost a možnosti přizpůsobení při monitorování vašich databázových clusterů.

Ale proč SCUMM a o čem to všechno je?

Úvod do SCUMM

SCUMM – Několik nines CMON Unified Monitoring and Management – ​​je naše nová monitorovací infrastruktura založená na agentech.

Tato monitorovací infrastruktura se skládá ze dvou hlavních součástí:

První komponentou je server Prometheus, který funguje jako databáze časových řad a ukládá shromážděné metriky.

Druhou složkou je exportér. Může existovat jeden nebo více exportérů odpovědných za shromažďování metrik z uzlu nebo služby. Server Prometheus shromažďuje tyto metriky (toto se nazývá scraping) od exportérů přes HTTP. Kromě toho jsme vytvořili sadu panelů pro vizualizaci shromážděných metrik.

Hlavní výhody jsou:

  1. Sbírejte metriky s exportéry Prometheus podporovanými komunitou
    1. Například data z MySQL Performance Schema nebo ProxySQL
  2. Řada specializovaných panelů zobrazujících nejdůležitější metriky a historické trendy pro každou sledovanou službu
  3. Vysokofrekvenční monitorování umožňuje seškrabovat cíle v intervalu jedné sekundy
  4. Architektura, která se přizpůsobuje počtu databázových serverů a klastrů. Jedna instance Prometheus dokáže zpracovat tisíce vzorků za sekundu.
  5. Při shromažďování metrik hostitelů a procesů se nespoléháme na připojení SSH, což znamená škálovatelnější systém ve srovnání s řešením monitorování bez agentů
  6. Možnost vytvářet vlastní řídicí panely s vlastními pravidly (pozor na naše nadcházející verze)

Agenti/exportéři SCUMM, kteří jsou nainstalováni na monitorovaných uzlech, se nazývají exportéři Prometheus. Exportéři shromažďují metriky z uzlu (např. CPU, RAM, disk a síť) a ze služeb, jako jsou servery MySQL nebo PostgreSQL. Server Prometheus se nainstaluje na server a exportuje (vzorkuje) exportéry s vlastním intervalem.

Proč Prometheus?

Prometheus je velmi populární databáze časových řad, která si získala velké přijetí díky aktivnímu ekosystému. Nabízí bohatý datový model a dotazovací jazyk se systémem dotazování založeným na http. Snadno se instaluje, udržuje a konfiguruje také v nastavení HA.

Prometheus stahuje metriky z instrumentovaných zakázek, a to buď přímo, nebo prostřednictvím zprostředkovatelské brány pro krátkodobé zakázky. Lokálně ukládá všechny seškrabované vzorky a spouští pravidla pro tato data, aby bylo možné agregovat a zaznamenávat nové časové řady ze stávajících dat nebo generovat výstrahy.

Prometheus funguje dobře pro záznam jakýchkoli čistě číselných časových řad. Hodí se jak pro strojně orientované monitorování, tak pro monitorování vysoce dynamických architektur orientovaných na služby. Ve světě mikroslužeb je jeho podpora pro multidimenzionální shromažďování dat a dotazování zvláště silnou stránkou.

Prometheus je navržen tak, aby byl spolehlivý, aby byl systémem, na který přejdete během výpadku, a umožní vám rychle diagnostikovat problémy. Každý server Prometheus je samostatný, nezávisí na síťovém úložišti nebo jiných vzdálených službách. Můžete se na něj spolehnout, když jsou jiné části vaší infrastruktury rozbité, a k jeho používání nepotřebujete zřizovat rozsáhlou infrastrukturu. Pro vysokou dostupnost je tedy možné jednoduše nainstalovat druhý server Prometheus, který bude kopírovat stejná data jako první server Prometheus.

Kromě toho je Prometheus velmi oblíbenou databází časových řad a její přijetí velmi rychle rostlo. Je možné, aby jiný server Prometheus, který je v organizaci výše, seškrábal servery Prometheus blíže k vrstvě databáze. To umožňuje škálovatelnou monitorovací infrastrukturu, kde na úrovni databáze je rozlišení dat vyšší než výše v organizaci.

Vývozci

Na monitorovaném serveru je nainstalován jeden nebo více exportérů, kteří jsou zodpovědní za sběr metrik o konkrétní části infrastruktury. Například může existovat jeden exportér pro zachycení informací specifických pro hostitele, exportér pro zachycení metrik MySQL a metriky ProxySQL.

Vytvořili jsme také specifický exportér procesů, který sleduje běžící procesy serveru. Tento exportér je kritický pro funkce vysoké dostupnosti v ClusterControl a umožňuje ClusterControl rychle reagovat na selhání procesů a stavy procesů. Použití exportéru procesů (který je standardně nainstalován, když je povoleno monitorování založené na agentech) snižuje zatížení systému na monitorovaných serverech.

Povolení monitorování založeného na agentech v ClusterControl

Povolení Agent Based Monitoring je stejně jednoduché jako kliknutí na Dashboard a poté klikněte na „Enable Agent Based Monitoring“. Vyberte hostitele, kde bude nainstalován server Prometheus. Tento server Prometheus pak lze sdílet s jinými clustery.

S vydáním 1.7.1 přichází ClusterControl s následujícími řídicími panely:

  • Přehled systému
  • Přehled clusteru
  • Server MySQL – obecné
  • Server MySQL – mezipaměti
  • Metriky MySQL InnoDB
  • Přehled clusteru Galera
  • Přehled serveru Galera
  • Přehled PostgreSQL
  • Přehled proxySQL
  • Přehled HAProxy
  • Přehled clusteru MongoDB
  • MongoDB ReplicaSet
  • Server MongoDB

Pro shrnutí…

Zda chcete použít monitorovacího agenta nebo jít cestou bez agentů, je zcela založeno na požadavcích organizační politiky a vlastních potřebách. A i když máme rádi jednoduchost, kdy nemusíme instalovat nebo spravovat agenty na monitorovaných databázových hostitelích, přístup založený na agentech může poskytnout vyšší rozlišení monitorovacích dat a má určité výhody z hlediska zabezpečení.

Nový systém SCUMM od ClusterControl využívá agenty Prometheus pro větší přesnost a možnosti přizpůsobení při monitorování vašich databázových clusterů.

Proč to nezkusit a přesvědčit se sami!

Nainstalujte si ClusterControl ještě dnes (je zdarma s naší komunitní edicí) nebo si stáhněte našeho nového průvodce ClusterControl, pokud si chcete o našem produktu nejprve přečíst více.


  1. Jak správně iterovat přes velký soubor json

  2. Jak nasadit databáze s otevřeným zdrojovým kódem

  3. Networkx nikdy nedokončí výpočet centrality Betweenness pro 2 miliony uzlů

  4. Snižte skóre v Redis nebo odstraňte, pokud je 0