Databasecontrole is een cruciaal onderdeel van het onderhoud van elke applicatie. Door op tijd databaseproblemen op te sporen, kan de applicatie gezond en toegankelijk blijven. Zonder monitoring kunnen database-uitval langer duren, wat resulteert in meer downtime voor gebruikers. In deze blog gaan we uitleggen wat je moet monitoren in een Moodle Database, en hoe je dat kunt doen met ClusterControl.
ClusterControl-bewaking
Met ClusterControl kunt u de databases efficiënt monitoren, dit kan door agents in te zetten op de database hosts of op een agentless manier, door simpelweg via SSH verbinding te maken met de databases. Gegevens worden gepresenteerd in een GUI, in de vorm van een aantal dashboards en grafieken.
Hoe werkt ClusterControl-bewaking?
ClusterControl verzamelt automatisch databasestatistieken en onderliggende serverprestatiestatistieken. Aangezien een databasestack met hoge beschikbaarheid hoogstwaarschijnlijk bestaat uit een load balancer (voor Galera Cluster zou men HAProxy, ProxySQL of MaxScale hebben), wordt deze ook opgenomen in de instanties die worden gecontroleerd. Het waarschuwt voor prestatie- of beschikbaarheidsproblemen voor zowel database- als servercomponenten. Het genereert ook uitgebreide rapporten om databasegebruik en capaciteitsproblemen te tonen.
Realtime bewaking
Met ClusterControl kunt u uw databaseservers in realtime bewaken. Het heeft een vooraf gedefinieerde set dashboards voor u, om enkele van de meest voorkomende hierboven genoemde statistieken en zelfs meer te analyseren.
Het stelt u ook in staat om de grafieken aan te passen en u kunt agentgebaseerde monitoring inschakelen om meer gedetailleerde dashboards te genereren voor zowel systeemniveau als DB-niveau.
Querycontrole
U hebt ook de querymonitor en de prestatiesecties, waar u al uw database-informatie kunt vinden. Met deze functies kunt u database-activiteit begrijpen. Langzame query's en dingen zoals impasses kunnen verwoestend zijn voor de stabiliteit van een database en kunnen alle gebruikers van de applicatie treffen. Het is dus belangrijk om ze in de gaten te houden. Moodle zelf heeft zijn eigen schema, maar op het moment van schrijven zijn er meer dan 1700 Moodle-plug-ins van derden die worden geleverd met hun eigen databasetabellen. Dus hoe houd je bij hoe de zoekopdrachten in deze plug-ins presteren en identificeer je slecht geschreven zoekopdrachten die de prestaties van de hele Moodle-database kunnen verminderen.
De uitbijters van de query laten query's zien die meer tijd nodig hebben om uit te voeren dan normaal, waarbij langer wordt gedefinieerd als een latentie-afwijking van 2 sigma's + gemiddelde_query_time. Dit kan een interessante functie zijn, omdat het zou helpen bij het identificeren van zoekopdrachten die plotseling slecht beginnen te presteren, wat kan komen door een wijziging in de configuratie, een upgrade of bijvoorbeeld het toevoegen van een nieuwe plug-in.
DB-groei
De ClusterControl verzamelt regelmatig db-, tabel- en indexstatistieken. We kunnen gemakkelijk de grootste tabellen in uw db vinden. Dit kan helpen om te begrijpen wanneer u mogelijk meer opslagruimte aan de database moet toevoegen, of bijvoorbeeld als u sommige tabellen moet opschonen.
Waarschuwing
U kunt waarschuwingen maken die u informeren over gebeurtenissen in uw cluster, of deze integreren met verschillende services zoals PagerDuty, VictorOps of Slack.
Samenvatting
In deze blog hebben we enkele belangrijke statistieken genoemd om te controleren in je Moodle-database. Het monitoren van je moodle-database is noodzakelijk, maar ook een tijdrovende taak als je geen tools hebt om je hierbij te helpen.
We hopen dat deze paar tips helpen om de backend van je Moodle-database veel gemakkelijker en in grotere mate te controleren.