sql >> Database teknologi >  >> RDS >> PostgreSQL

Overvågning af PostgreSQL i et hybridmiljø

Hybrid Cloud er et nyere koncept, der er blevet udvidet i et par år, og som nu er en almindelig topologi i enhver virksomhed for en Disaster Recovery Plan (DRP), eller endda for at have redundans på dine systemer.

Når du har dit Hybrid Cloud-miljø kørende, bliver du nødt til at vide, hvad der sker hele tiden. Overvågning er et must, hvis du vil være sikker på, at alt går fint, eller hvis du måske skal ændre noget. For hver databaseteknologi er der flere ting, der skal overvåges. Nogle af disse er specifikke for databasemotoren, leverandøren eller endda den specifikke version, du bruger.

I denne blog vil vi se, hvad du har brug for at overvåge i en PostgreSQL-database, der kører på et Hybrid Cloud-miljø, og hvordan ClusterControl kan hjælpe dig med denne opgave.

Hvad skal overvåges i PostgreSQL

Når du overvåger en databaseklynge eller en node, er der to hovedting at tage hensyn til:operativsystemet og selve databasen. Du bliver nødt til at definere, hvilke målinger du vil overvåge fra begge sider, og hvordan du vil gøre det.

Husk, at når en af ​​dine metrics påvirkes, kan den også påvirke andre, hvilket gør fejlfinding af problemet mere kompleks. At have et godt overvågnings- og alarmeringssystem er vigtigt for at gøre denne opgave så enkel som muligt.

Overvågning af operativsystem

En vigtig ting (som er fælles for alle databasemotorer og endda for alle systemer) er at overvåge operativsystemets adfærd. Lad os se nogle punkter at tjekke her.

CPU-brug

En for høj procentdel af CPU-brug kan være et problem, hvis det ikke er normal adfærd. I dette tilfælde er det vigtigt at identificere processen/processerne, der genererer dette problem. Hvis problemet er databaseprocessen, skal du kontrollere, hvad der sker inde i databasen.

RAM-hukommelse eller SWAP-brug

Hvis du ser en høj værdi for denne metrik, og intet er ændret i dit system, skal du sandsynligvis tjekke din databasekonfiguration. Parametre som shared_buffers og work_mem kan påvirke dette direkte, da de definerer mængden af ​​hukommelse, der skal kunne bruges til PostgreSQL-databasen.

Diskbrug

En unormal stigning i brugen af ​​diskplads eller et for stort forbrug af diskadgang er vigtige ting at overvåge, da du kan have et stort antal fejl logget i PostgreSQL-logfilen eller en dårlig cache-konfiguration, der kan generere et vigtigt diskadgangsforbrug i stedet for at bruge hukommelse til at behandle forespørgslerne.

Indlæsningsgennemsnit

Det er relateret til de tre punkter nævnt ovenfor. Et højt belastningsgennemsnit kan genereres af overdreven CPU-, RAM- eller diskbrug.

Netværk

Et netværksproblem kan påvirke alle systemerne, da applikationen ikke kan oprette forbindelse (eller forbinde tabende pakker) til databasen, så dette er en vigtig metrik at overvåge. Du kan overvåge latens eller pakketab, og hovedproblemet kan være en netværksmætning, et hardwareproblem eller bare en dårlig netværkskonfiguration.

Databaseovervågning

Overvågning af din PostgreSQL-database er ikke kun vigtigt for at se, om du har et problem, men også for at vide, om du skal ændre noget for at forbedre din databaseydeevne, det er nok en af ​​de vigtigste ting at overvåge i en database. Lad os se nogle målinger, der er vigtige for dette.

Forespørgselsovervågning

Generelt er databaserne konfigureret med kompatibilitet og stabilitet i tankerne som standard, så du skal kende dine forespørgsler og deres mønster og konfigurere dine databaser afhængigt af den trafik, du har. Her kan du bruge EXPLAIN-kommandoen til at kontrollere forespørgselsplanen for en specifik forespørgsel, og du kan også overvåge mængden af ​​SELECT, INSERT, UPDATE eller DELETE på hver node. Hvis du har en lang forespørgsel eller et stort antal forespørgsler, der kører på samme tid, kan det være et problem for alle systemerne.

Aktive sessioner

Du bør også overvåge antallet af aktive sessioner. Hvis du er tæt på grænsen, skal du tjekke, om der er noget galt, eller om du blot skal øge den maksimale forbindelsesværdi i databasekonfigurationen. Forskellen i antallet kan være en stigning eller et fald af forbindelser. Dårlig brug af forbindelsespooling, låsning eller netværksproblemer er de mest almindelige problemer relateret til antallet af forbindelser.

Databaselåse

Hvis du har en forespørgsel, der venter på en anden forespørgsel, skal du kontrollere, om den anden forespørgsel er en normal proces eller noget nyt. I nogle tilfælde, hvis nogen for eksempel laver en opdatering på et stort bord, kan denne handling påvirke din databases normale adfærd og generere et stort antal låse.

replikeringsstatus

Nøglemålingerne, der skal overvåges for replikering, er forsinkelsen og replikeringstilstanden. De mest almindelige problemer er netværksproblemer, hardwareressourceproblemer eller problemer med underdimensionering. Hvis du står over for et replikeringsproblem, skal du vide dette hurtigst muligt, da du skal rette det for at sikre et miljø med høj tilgængelighed.

Sikkerhedskopier

At undgå tab af data er en af ​​de grundlæggende DBA-opgaver, så du behøver ikke kun tage sikkerhedskopien, du skal vide, om sikkerhedskopieringen er gennemført, og om den er brugbar. Normalt tages der ikke højde for dette sidste punkt, men det er nok den vigtigste kontrol i en backup-proces.

Databaselogfiler

Du bør overvåge din databaselog for fejl, autentificeringsproblemer eller endda langvarige forespørgsler. De fleste af fejlene er skrevet i logfilen med detaljerede nyttige oplysninger til at rette dem.

Meddelelser og advarsler

Det er ikke nok at overvåge et system, hvis du ikke modtager en meddelelse om hvert problem. Uden et alarmeringssystem bør du gå til overvågningsværktøjet for at se, om alt er i orden, og det kan være muligt, at du har et stort problem siden mange timer siden. Dette advarselsjob kunne udføres ved at bruge e-mail-beskeder, tekstbeskeder eller andre værktøjer som Slack.

Det er virkelig svært at finde et værktøj til at overvåge alle de nødvendige metrics for PostgreSQL, generelt skal du bruge mere end én og endda nogle scripting skal laves. En måde at centralisere overvågnings- og advarselsopgaven på er ved at bruge ClusterControl, som giver dig funktioner som sikkerhedskopiering, overvågning og alarmering, implementering og skalering, automatisk gendannelse og flere vigtige funktioner til at hjælpe dig med at administrere dine databaser. Alle disse funktioner på det samme system.

Et vigtigt punkt her er, at ClusterControl fungerer på Cloud, On-prem eller endda en kombination af begge. Kravet her er at have SSH-adgang til noderne, og så vil ClusterControl tage sig af dem.

Overvågning af din PostgreSQL-database med ClusterControl

ClusterControl er et administrations- og overvågningssystem, der hjælper med at implementere, administrere, overvåge og skalere dine databaser fra en brugervenlig grænseflade. Det har understøttelse af de bedste open source-databaseteknologier, og du kan automatisere mange af de databaseopgaver, du skal udføre regelmæssigt, såsom tilføjelse og skalering af nye noder, kørsel af sikkerhedskopier og gendannelser og mere.

ClusterControl giver dig mulighed for at overvåge dine servere i realtid med et foruddefineret sæt dashboards for at analysere nogle af de mest almindelige metrics.

Det giver dig mulighed for at tilpasse de tilgængelige grafer i klyngen, og du kan aktivere den agentbaserede overvågning for at generere mere detaljerede dashboards.

Du kan også oprette advarsler, som informerer dig om begivenheder i din klynge, eller integreres med forskellige tjenester såsom PagerDuty eller Slack.

I sektionen for forespørgselsovervågning kan du finde de øverste forespørgsler, de kørende forespørgsler, forespørgselsudlignere og forespørgselsstatistikker for at overvåge din databasetrafik.

Med disse funktioner kan du se, hvordan det går med din PostgreSQL-database.

Til sikkerhedskopiering centraliserer ClusterControl det for at beskytte, sikre og gendanne dine data, og med bekræftelsessikkerhedskopieringsfunktionen kan du bekræfte, om sikkerhedskopieringen er god til at gå.

Dette bekræftelses-backupjob vil gendanne sikkerhedskopien i en separat selvstændig vært, så du kan sikre dig, at sikkerhedskopieringen fungerer.

Endelig behøver du ikke at få adgang til din databaseknude for at kontrollere logfilerne, du kan finde alle dine databaselogfiler centraliseret i sektionen ClusterControl Log.

Som du kan se, kan du håndtere alle de nævnte ting fra det samme centraliserede system:ClusterControl.

Overvågning med ClusterControl-kommandolinjen

Til scripting og automatisering af opgaver, eller selvom du bare foretrækker kommandolinjen, har ClusterControl værktøjet s9s. Det er et kommandolinjeværktøj til at administrere eller overvåge din databaseklynge.

Klyngeliste

Nodeliste

Du kan udføre alle de opgaver (og endnu flere), der er tilgængelige i ClusterControl-brugergrænsefladen, og du kan integrere denne funktion med nogle eksterne værktøjer som slack for at administrere den derfra.

Konklusion

Som du kan se, er overvågning absolut nødvendig, uanset om den kører on-prem, i skyen eller endda på en blanding af dem, og den bedste måde at gøre det på afhænger af infrastrukturen og selve systemet. I denne blog nævnte vi nogle vigtige metrics til at overvåge i dit PostgreSQL-miljø, hvordan du bruger ClusterControl til at udføre jobbet.


  1. SQL Server tjekke følsomhed mellem store og små bogstaver?

  2. Brug psql's \copy til en forespørgsel med flere linjer

  3. PostgreSQL-tendenser:Mest populære cloud-udbydere, sprog, VACUUM, forespørgselsstyringsstrategier og implementeringstyper i virksomheder

  4. Sådan fjerner du førende nuller fra datoer i Oracle