sql >> Database >  >> NoSQL >> MongoDB

SCUMM:de op agenten gebaseerde databasebewakingsinfrastructuur in ClusterControl

Met de 1.7-release van ons vlaggenschipproduct ClusterControl hebben we onze nieuwe agentgebaseerde monitoring-infrastructuur geïntroduceerd:SCUMM - die in deze blog in meer detail wordt besproken.

Als kernelement van ons product biedt ClusterControl een compleet monitoringsysteem met realtime gegevens om te weten wat er nu gebeurt, met statistieken met hoge resolutie voor een betere nauwkeurigheid, vooraf geconfigureerde dashboards en een breed scala aan meldingsservices van derden voor waarschuwingen .

On-premises en cloudsystemen kunnen vanaf één punt worden bewaakt en beheerd.

Intelligente gezondheidscontroles worden geïmplementeerd voor gedistribueerde topologieën, bijvoorbeeld detectie van netwerkpartitionering door gebruik te maken van de load balancer-weergave van de databaseknooppunten.

En ... monitoring kan agentloos zijn via SSH of agentgebaseerd ... en dat is waar SCUMM van pas komt!

Het nieuwe SCUMM-systeem van ClusterControl is agentgebaseerd, met een server die statistieken ophaalt van agenten die op dezelfde hosts draaien als de bewaakte databases en Prometheus-agents gebruikt voor meer nauwkeurigheid en aanpassingsopties terwijl uw databaseclusters worden bewaakt.

Maar waarom SCUMM en waar gaat het allemaal over?

Inleiding tot SCUMM

SCUMM - Verscheidene CMON Unified Monitoring and Management - is onze nieuwe agentgebaseerde monitoringinfrastructuur.

Deze monitoringinfrastructuur bestaat uit twee hoofdcomponenten:

Het eerste onderdeel is de Prometheus-server die fungeert als de tijdreeksdatabase en de verzamelde statistieken opslaat.

De tweede component is de exporteur. Er kunnen een of meer exporteurs zijn die verantwoordelijk zijn voor het verzamelen van statistieken van een knooppunt of een service. De Prometheus-server verzamelt deze statistieken (dit wordt scraping genoemd) van de exporteurs via HTTP. Bovendien hebben we een set dashboards gemaakt om de verzamelde statistieken te visualiseren.

De belangrijkste voordelen zijn:

  1. Verzamel statistieken met door de gemeenschap ondersteunde Prometheus-exporteurs
    1. Bijvoorbeeld gegevens van MySQL Performance Schema of ProxySQL
  2. Een aantal gespecialiseerde dashboards met de belangrijkste statistieken en historische trends voor elke bewaakte service
  3. Hoge frequentie monitoring maakt het mogelijk om de doelen te schrapen met een interval van één seconde
  4. Een architectuur die schaalt met het aantal databaseservers en clusters. Een enkele Prometheus-instantie kan duizenden samples per seconde opnemen.
  5. Geen afhankelijkheid van SSH-connectiviteit voor het verzamelen van host- en processtatistieken, wat een meer schaalbaar systeem betekent in vergelijking met een agentloze monitoringoplossing
  6. De mogelijkheid om aangepaste dashboards te maken met aangepaste regels (kijk uit voor onze aankomende releases)

De SCUMM Agents/Exporters die op de bewaakte nodes zijn geïnstalleerd, worden Prometheus Exporters genoemd. De exporteurs verzamelen statistieken van het knooppunt (bijv. CPU, RAM, schijf en netwerk) en van services zoals MySQL- of PostgreSQL-servers. De Prometheus-server is geïnstalleerd op een server en schraapt (samples) de exporteurs met een aangepast interval.

Waarom Prometheus?

Prometheus is een zeer populaire tijdreeksdatabase die een grote acceptatie heeft gekregen met een actief ecosysteem. Het biedt een rijk gegevensmodel en een querytaal met een op http gebaseerd peilingsysteem. Het is ook gemakkelijk te installeren, te onderhouden en te configureren in HA-configuratie.

Prometheus haalt metrische gegevens uit geïnstrumenteerde taken, hetzij rechtstreeks, hetzij via een tussenliggende push-gateway voor kortstondige taken. Het slaat alle geschraapte voorbeelden lokaal op en voert regels uit over deze gegevens om nieuwe tijdreeksen van bestaande gegevens te verzamelen en vast te leggen of om waarschuwingen te genereren.

Prometheus werkt goed voor het opnemen van puur numerieke tijdreeksen. Het is geschikt voor zowel machinegerichte bewaking als bewaking van zeer dynamische, servicegerichte architecturen. In een wereld van microservices is de ondersteuning voor multidimensionale gegevensverzameling en query's een bijzonder sterk punt.

Prometheus is ontworpen voor betrouwbaarheid, om het systeem te zijn waar u naar toe gaat tijdens een storing, zodat u snel problemen kunt diagnosticeren. Elke Prometheus-server is standalone, niet afhankelijk van netwerkopslag of andere externe services. U kunt erop vertrouwen wanneer andere delen van uw infrastructuur defect zijn en u hoeft geen uitgebreide infrastructuur op te zetten om deze te gebruiken. Voor een hoge beschikbaarheid is het dus mogelijk om eenvoudig een tweede Prometheus-server te installeren die dezelfde gegevens schraapt als de eerste Prometheus-server.

Bovendien is Prometheus een zeer populaire tijdreeksdatabase en is de acceptatie ervan erg snel gegroeid. Het is mogelijk voor een andere Prometheus-server die hoger in de organisatie staat om de Prometheus-servers dichter bij de databaselaag te schrapen. Dit zorgt voor een schaalbare monitoringinfrastructuur waarbij op de databaselaag de gegevensresolutie hoger is dan hoger in een organisatie.

Exporteurs

Een of meer exporteurs zijn geïnstalleerd op de bewaakte server en zijn verantwoordelijk voor het verzamelen van statistieken over een specifiek onderdeel van de infrastructuur. Er kan bijvoorbeeld één exporteur zijn om hostspecifieke informatie vast te leggen, een exporteur om MySQL-statistieken vast te leggen en ProxySQL-statistieken.

We hebben ook een specifieke procesexporter gemaakt die de lopende processen van de server bewaakt. Deze exporteur is essentieel voor de hoge-beschikbaarheidsfuncties in ClusterControl en stelt ClusterControl in staat snel te reageren op processtoringen en processtatussen. Het gebruik van de procesexporter (die standaard is geïnstalleerd wanneer Agent Based Monitoring is ingeschakeld) vermindert de systeembelasting op de bewaakte servers.

Agentgebaseerde bewaking inschakelen in ClusterControl

Het inschakelen van Agent Based Monitoring is net zo eenvoudig als klikken op het Dashboard en vervolgens op "Agent Based Monitoring inschakelen" klikken. Selecteer een host waar de Prometheus-server wordt geïnstalleerd. Deze Prometheus-server kan vervolgens worden gedeeld met andere clusters.

Met de release van 1.7.1 wordt ClusterControl geleverd met de volgende dashboards:

  • Systeemoverzicht
  • Clusteroverzicht
  • MySQL Server - Algemeen
  • MySQL-server - caches
  • MySQL InnoDB-statistieken
  • Overzicht Galera-cluster
  • Overzicht Galera-server
  • PostgreSQL-overzicht
  • ProxySQL-overzicht
  • HAProxy-overzicht
  • MongoDB-clusteroverzicht
  • MongoDB ReplicaSet
  • MongoDB-server

Om samen te vatten...

Of men nu een bewakingsagent wil gebruiken of de agentloze route wil gaan, is volledig gebaseerd op organisatorische beleidsvereisten en aangepaste behoeften. En hoewel we dol zijn op de eenvoud van het niet hoeven installeren of beheren van agents op de bewaakte databasehosts, kan een op agents gebaseerde aanpak zorgen voor een hogere resolutie van monitoringgegevens en heeft dit bepaalde voordelen op het gebied van beveiliging.

Het nieuwe SCUMM-systeem van ClusterControl maakt gebruik van Prometheus-agents voor meer nauwkeurigheid en aanpassingsopties tijdens het bewaken van uw databaseclusters.

Probeer het eens en ontdek het zelf!

Installeer ClusterControl vandaag nog (het is gratis bij onze Community-editie) of download onze nieuwe ClusterControl-gids als u eerst meer over ons product wilt lezen.


  1. Zet in Flask een POST-object om in een representatie die geschikt is voor mongodb

  2. Hoe lid te worden van twee extra collecties met voorwaarden

  3. mangoest/mongodb-query meerdere sorteringen

  4. MongoDB geneste zoekopdracht met 3 niveaus