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

Tips til overvågning af PostgreSQL til Moodle

Moodle er et Learning Management System (LMS) designet til at give undervisere, administratorer og elever et enkelt robust, sikkert og integreret system til at skabe personlige læringsmiljøer. Det understøtter forskellige databaseteknologier (fx MariaDB, MySQL, PostgreSQL osv.).

På grund af COVID-19 er arbejde og studier hjemmefra steget på en eksponentiel måde på det seneste, så tilgængeligheden og ydeevnen af ​​denne form for læringsplatform bliver vigtigere. Den eneste måde, du kan sikre dig, at alt går fint på, er ved at have et godt overvågnings- og alarmeringssystem på plads, men spørgsmålet er, hvad du skal overvåge for at sikre, at dine systemer kører på en sund måde.

I denne blog vil vi tage et kig på, hvad du skal overvåge i en PostgreSQL Moodle-database, og hvordan du kan gøre det nemmere ved at bruge ClusterControl.

Hvad skal overvåges i PostgreSQL

Når du overvåger en databasenode eller -klynge, 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.

Overvågning af operativsystem

En vigtig ting (som er fælles for alle databasemotorer og endda for alle systems) er at overvåge operativsystemets adfærd. Her er 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 den proces/processer, 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 metric, 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 hans 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.

Lå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.

replikering

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.

Overvågning af din PostgreSQL Moodle-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. ClusterControl 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.

Det 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 grafer, der er tilgængelige 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 integrer det med forskellige tjenester såsom PagerDuty eller Slack.

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

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

Dette bekræftelsessikkerhedskopiopgave vil gendanne sikkerhedskopien i en separat selvstændig vært, så du kan sikre dig, at sikkerhedskopien virker.

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 samme centraliseret 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 din databaseklynge.

Klyngeliste

Nodeliste

Du kan udføre alle de opgaver, du kan se i ClusterControl UI (og endnu mere), og du kan integrere denne funktion med nogle eksterne værktøjer som slack for at administrere den derfra.

Konklusion

Overvågning af din Moodle PostgreSQL-database er nødvendig, men også en tidskrævende opgave, hvis du ikke har noget værktøj til at hjælpe med dette. I denne blog nævnte vi nogle nøglemålinger til at overvåge i din Moodle PostgreSQL-database, og hvordan du holder dine systemer under kontrol ved at bruge ClusterControl.


  1. Hvordan bruger man Alias ​​i Where-klausulen?

  2. Sådan eksporteres resultaterne af en forespørgsel ved hjælp af MySQL Workbench

  3. 4 måder at adskille timer, minutter og sekunder fra en tidsværdi i MariaDB

  4. Brugerdefinerede numeriske formatstrenge understøttet af FORMAT() i SQL Server