sql >> Database teknologi >  >> NoSQL >> MongoDB

SCUMM:Den agentbaserede databaseovervågningsinfrastruktur i ClusterControl

Med 1.7-udgivelsen af ​​vores flagskibsprodukt ClusterControl introducerede vi vores nye agentbaserede overvågningsinfrastruktur:SCUMM - som denne blog diskuterer mere detaljeret.

Som et kerneelement i vores produkt leverer ClusterControl et komplet overvågningssystem med realtidsdata for at vide, hvad der sker nu, med højopløsningsmålinger for bedre nøjagtighed, forudkonfigurerede dashboards og en bred vifte af tredjepartsmeddelelsestjenester til alarmering .

On-premises og cloud-systemer kan overvåges og administreres fra ét enkelt punkt.

Intelligente sundhedstjek er implementeret for distribuerede topologier, for eksempel detektering af netværksopdeling ved at udnytte belastningsbalancerens visning af databasenoderne.

Og ... overvågning kan være agentfri via SSH eller agent-baseret ... det er her SCUMM kommer ind!

ClusterControls nye SCUMM-system er agentbaseret, med en server, der trækker metrics fra agenter, der kører på de samme værter som de overvågede databaser og bruger Prometheus-agenter til større nøjagtighed og tilpasningsmuligheder, mens du overvåger dine databaseklynger.

Men hvorfor SCUMM og hvad handler det om?

Introduktion til SCUMM

SCUMM - Severalnines CMON Unified Monitoring and Management - er vores nye agentbaserede overvågningsinfrastruktur.

Denne overvågningsinfrastruktur består af to hovedkomponenter:

Den første komponent er Prometheus-serveren, der fungerer som tidsseriedatabasen og gemmer de indsamlede metrics.

Den anden komponent er eksportøren. Der kan være en eller flere eksportører, der er ansvarlige for at indsamle metrics fra en node eller en tjeneste. Prometheus-serveren indsamler disse metrics (dette kaldes scraping) fra eksportørerne over HTTP. Oven i dette har vi lavet et sæt dashboards til at visualisere de indsamlede metrics.

De vigtigste fordele er:

  1. Indsaml metrics med fællesskabsstøttede Prometheus-eksportører
    1. For eksempel data fra MySQL Performance Schema eller ProxySQL
  2. En række specialiserede dashboards, der viser de vigtigste metrics og historiske tendenser for hver overvåget tjeneste
  3. Højfrekvent overvågning gør det muligt at skrabe målene med et sekunds interval
  4. En arkitektur, der skaleres med antallet af databaseservere og klynger. En enkelt Prometheus-instans kan indtage tusindvis af prøver i sekundet.
  5. Ingen afhængighed af SSH-forbindelse til indsamling af værts- og procesmålinger, hvilket betyder et mere skalerbart system sammenlignet med en agentfri overvågningsløsning
  6. Muligheden for at oprette brugerdefinerede dashboards med tilpassede regler (pas på vores kommende udgivelser)

De SCUMM-agenter/eksportører, der er installeret på de overvågede noder, kaldes Prometheus-eksportører. Eksportørerne indsamler metrics fra noden (f.eks. CPU, RAM, Disk og Network) og fra tjenester som MySQL- eller PostgreSQL-servere. Prometheus-serveren er installeret på en server og skraber (samples) eksportørerne med et tilpasset interval.

Hvorfor Prometheus?

Prometheus er en meget populær tidsseriedatabase, der har fået en stor udbredelse med et aktivt økosystem. Det tilbyder en rig datamodel og et forespørgselssprog med et http-baseret afstemningssystem. Det er også nemt at installere, vedligeholde og konfigurere i HA-opsætning.

Prometheus skraber målinger fra instrumenterede job, enten direkte eller via en mellemliggende push-gateway til kortvarige job. Den gemmer alle skrabede prøver lokalt og kører regler over disse data for enten at samle og registrere nye tidsserier fra eksisterende data eller generere advarsler.

Prometheus fungerer godt til optagelse af alle rent numeriske tidsserier. Den passer både til maskincentreret overvågning og overvågning af meget dynamiske, serviceorienterede arkitekturer. I en verden af ​​mikrotjenester er dens støtte til multidimensionel dataindsamling og forespørgsel en særlig styrke.

Prometheus er designet til pålidelighed, for at være det system, du går til under en strømafbrydelse, så du hurtigt kan diagnosticere problemer. Hver Prometheus-server er selvstændig, ikke afhængig af netværkslagring eller andre fjerntjenester. Du kan stole på det, når andre dele af din infrastruktur er i stykker, og du behøver ikke oprette omfattende infrastruktur for at bruge det. For høj tilgængelighed er det således muligt blot at installere en anden Prometheus-server, der skraber de samme data som den første Prometheus-server.

Desuden er Prometheus en meget populær tidsseriedatabase, og dens vedtagelse er vokset meget hurtigt. Det er muligt for en anden Prometheus-server, der er højere oppe i organisationen, at skrabe Prometheus-serverne tættere på databaseniveauet. Dette giver mulighed for en skalerbar overvågningsinfrastruktur, hvor dataopløsningen på databaseniveauet er højere end længere oppe i en organisation.

Eksportører

En eller flere eksportører er installeret på den overvågede server og er ansvarlige for at indsamle metrics om en bestemt del af infrastrukturen. Der kan f.eks. være én eksportør til at fange værtsspecifikke oplysninger, en eksportør til at fange MySQL-metrics og ProxySQL-metrics.

Vi har også oprettet en specifik proceseksportør, der overvåger de kørende processer på serveren. Denne eksportør er afgørende for funktionerne med høj tilgængelighed i ClusterControl og giver ClusterControl mulighed for hurtigt at reagere på procesfejl og procestilstande. Brug af proceseksportøren (som er installeret som standard, når agentbaseret overvågning er aktiveret) reducerer systembelastningen på de overvågede servere.

Aktivering af agentbaseret overvågning i ClusterControl

Aktivering af agentbaseret overvågning er så simpelt som at klikke på dashboardet og derefter klikke på "Aktiver agentbaseret overvågning". Vælg en vært, hvor Prometheus-serveren skal installeres. Denne Prometheus-server kan derefter deles med andre klynger.

Med sin 1.7.1-udgivelse kommer ClusterControl med følgende dashboards:

  • Systemoversigt
  • Klyngeoversigt
  • MySQL Server - Generelt
  • MySQL-server - caches
  • MySQL InnoDB-metrics
  • Galera-klyngeoversigt
  • Galera Server Oversigt
  • PostgreSQL-oversigt
  • ProxySQL-oversigt
  • HAProxy-oversigt
  • MongoDB-klyngeoversigt
  • MongoDB ReplicaSet
  • MongoDB-server

For at opsummere …

Om man vil bruge en overvågningsagent eller gå den agentløse vej, er fuldstændig baseret på organisatoriske politiske krav og tilpassede behov. Og selvom vi elsker enkelheden ved ikke at skulle installere eller administrere agenter på de overvågede databaseværter, kan en agentbaseret tilgang give højere opløsning af overvågningsdata og har visse fordele med hensyn til sikkerhed.

ClusterControls nye SCUMM-system bruger Prometheus-agenter til større nøjagtighed og tilpasningsmuligheder, mens du overvåger dine databaseklynger.

Hvorfor ikke prøve det og se selv!

Installer ClusterControl i dag (det er gratis med vores Community Edition), eller download vores nye ClusterControl Guide, hvis du vil læse mere om vores produkt først.


  1. Hurtigste måde at fjerne duplikerede dokumenter i mongodb

  2. Hvad er Hadoop Mapper Class i MapReduce?

  3. Hvornår skal man bruge et nøgle-/værdilager såsom Redis i stedet for/ved siden af ​​en SQL-database?

  4. MongoDB $bsonSize