sql >> Database >  >> RDS >> PostgreSQL

Percona-distributie bewaken voor PostgreSQL - Belangrijkste metrische gegevens

Monitoring is de basis om te weten of uw systemen goed werken, en het stelt u in staat om problemen op te lossen of te voorkomen voordat uw bedrijf er last van heeft. Zelfs in een robuuste technologie als PostgreSQL is monitoring een must, en het belangrijkste doel is om te weten wat te monitoren, anders zou het geen zin hebben of niet nuttig zijn voor het geval je het moet gebruiken. In deze blog zullen we zien wat Percona Distribution voor PostgreSQL is en welke belangrijke meetgegevens erop moeten worden gecontroleerd.

Percona-distributie voor PostgreSQL

Het is een verzameling hulpprogramma's om u te helpen bij het beheren van uw PostgreSQL-databasesysteem. Het installeert PostgreSQL en vult het aan met een selectie van extensies die het mogelijk maken om essentiële praktische taken efficiënt op te lossen, waaronder:

  • pg_repack :Het herbouwt PostgreSQL-databaseobjecten.
  • pgaudit :Het biedt gedetailleerde sessie- of object-auditregistratie via de standaard PostgreSQL-registratiefaciliteit.
  • pgBackRest :Het is een back-up- en hersteloplossing voor PostgreSQL.
  • Patroni :Het is een High Availability-oplossing voor PostgreSQL.
  • pg_stat_monitor :Het verzamelt en aggregeert statistieken voor PostgreSQL en biedt histograminformatie.
  • Een verzameling aanvullende PostgreSQL-bijdrage-extensies.

Percona Distribution voor PostgreSQL wordt ook geleverd met de libpq-bibliotheek. Het bevat een reeks bibliotheekfuncties waarmee clientprogramma's query's kunnen doorgeven aan de PostgreSQL-backendserver en de resultaten van deze query's kunnen ontvangen.

Wat te controleren in Percona Distribution voor PostgreSQL

Bij het bewaken van een databasecluster zijn er twee belangrijke dingen om rekening mee te houden:het besturingssysteem en de database zelf. U moet bepalen welke statistieken u van beide kanten gaat controleren en hoe u dit gaat doen.

Houd er rekening mee dat wanneer een van uw statistieken wordt beïnvloed, dit ook van invloed kan zijn op andere, waardoor het oplossen van het probleem ingewikkelder wordt. Het hebben van een goed monitoring- en waarschuwingssysteem is belangrijk om deze taak zo eenvoudig mogelijk te maken.

Besturingssysteembewaking

Een belangrijk ding is om het gedrag van het besturingssysteem te controleren. Laten we een paar punten bekijken om hier te controleren.

CPU-gebruik

Een buitensporig percentage CPU-gebruik kan een probleem zijn als dit niet gebruikelijk is. In dit geval is het belangrijk om de processen te identificeren die dit probleem veroorzaken. Als het probleem het databaseproces is, moet u controleren wat er in de database gebeurt.

RAM-geheugen of SWAP-gebruik

Als u een hoge waarde voor deze statistiek ziet en er is niets veranderd in uw systeem, moet u waarschijnlijk uw databaseconfiguratie controleren. Parameters zoals shared_buffers en work_mem kunnen dit rechtstreeks beïnvloeden, omdat ze de hoeveelheid geheugen definiëren die voor de PostgreSQL-database kan worden gebruikt.

Schijfgebruik

Een abnormale toename van het gebruik van schijfruimte of een buitensporig gebruik van schijftoegang zijn belangrijke dingen om te controleren, aangezien er een groot aantal fouten in het PostgreSQL-logbestand kan worden vastgelegd of een slechte cacheconfiguratie die kan een belangrijk schijftoegangsverbruik genereren in plaats van geheugen te gebruiken om de query's te verwerken.

Gemiddelde laden

Het heeft te maken met de drie bovengenoemde punten. Een hoge gemiddelde belasting kan worden gegenereerd door een overmatig CPU-, RAM- of schijfgebruik.

Netwerk

Een netwerkprobleem kan van invloed zijn op alle systemen, aangezien de applicatie geen verbinding kan maken (of geen verbinding kan maken met verliezende pakketten) met de database, dus dit is inderdaad een belangrijke statistiek om te controleren. U kunt latentie of pakketverlies controleren, en het belangrijkste probleem kan een netwerkverzadiging, een hardwareprobleem of gewoon een slechte netwerkconfiguratie zijn.

PostgreSQL-databasebewaking

Het bewaken van je PostgreSQL-database is niet alleen belangrijk om te zien of je een probleem hebt, maar ook om te weten of je iets moet veranderen om de prestaties van je database te verbeteren, dat is waarschijnlijk een van de belangrijkste dingen te monitoren in een database. Laten we eens kijken naar enkele statistieken die hiervoor belangrijk zijn.

Query-controle

PostgreSQL is standaard geconfigureerd met het oog op compatibiliteit en stabiliteit, dus u moet uw query's en zijn patroon kennen en uw databases configureren afhankelijk van het verkeer dat u heeft. Hier kunt u de opdracht EXPLAIN gebruiken om het queryplan voor een specifieke query te controleren, en u kunt ook het aantal SELECT-, INSERT-, UPDATE- of DELETE's op elk knooppunt controleren. Als u een lange zoekopdracht of een groot aantal zoekopdrachten tegelijkertijd heeft, kan dat een probleem zijn voor alle systemen.

Actieve sessies volgen

Je moet ook het aantal actieve sessies in de gaten houden. Als u de limiet nadert, moet u controleren of er iets mis is of dat u alleen de waarde max_connections moet verhogen. Het verschil in het aantal kan een toename of afname van aansluitingen zijn. Slecht gebruik van pooling van verbindingen, vergrendeling of een netwerkprobleem zijn de meest voorkomende problemen met betrekking tot het aantal verbindingen.

Databasevergrendelingen

Als je een vraag hebt die wacht op een andere vraag, moet je controleren of die andere vraag een normaal proces is of iets nieuws. In sommige gevallen, als iemand bijvoorbeeld een update uitvoert op een grote tafel, kan deze actie het normale gedrag van uw database beïnvloeden en een groot aantal vergrendelingen genereren.

Replicatie bewaken

De belangrijkste meetwaarden die moeten worden gecontroleerd op replicatie zijn de vertraging en de replicatiestatus. De meest voorkomende problemen zijn netwerkproblemen, problemen met hardwarebronnen of problemen met de maatvoering. Als u een replicatieprobleem ondervindt, moet u dit zo snel mogelijk weten, aangezien u dit moet oplossen om de omgeving met hoge beschikbaarheid te garanderen.

Back-ups bewaken

Het voorkomen van gegevensverlies is een van de basistaken van DBA, dus u hoeft niet alleen de back-up te maken, u moet ook weten of de back-up is voltooid en of deze bruikbaar is. Meestal wordt met dit laatste geen rekening gehouden, maar het is waarschijnlijk de belangrijkste controle in een back-upproces.

Databaselogboeken bijhouden

Je moet je databaselogboek controleren op fouten zoals FATAL of deadlock, of zelfs op veelvoorkomende fouten zoals authenticatieproblemen of langlopende zoekopdrachten. De meeste fouten worden in het logbestand geschreven met gedetailleerde nuttige informatie om het op te lossen.

Dashboards

Zichtbaarheid is handig voor snelle probleemdetectie. Het is beslist een tijdrovender taak om een ​​commando-uitvoer te lezen dan alleen een grafiek te bekijken. Het gebruik van een dashboard kan dus het verschil zijn tussen het detecteren van een probleem nu of in de komende 15 minuten, zeker dat tijd erg belangrijk kan zijn voor het bedrijf.

Waarschuwing

Alleen het monitoren van een systeem heeft geen zin als je geen melding over elk probleem ontvangt. Zonder een waarschuwingssysteem zou u naar de monitoringtool moeten gaan om te zien of alles in orde is, en het zou mogelijk kunnen zijn dat u sinds vele uren geleden een groot probleem had.

Uw PostgreSQL-database bewaken met ClusterControl

Het is echt moeilijk om een ​​tool te vinden om alle benodigde statistieken voor PostgreSQL te controleren, in het algemeen zul je er meer dan één moeten gebruiken en zelfs wat scripting zal moeten worden gemaakt. Een manier om de bewakings- en waarschuwingstaak te centraliseren, is door ClusterControl te gebruiken, dat u functies biedt zoals back-upbeheer, bewaking en waarschuwingen, implementatie en schaling, automatisch herstel en meer belangrijke functies om u te helpen bij het beheren van uw databases. Al deze functies op hetzelfde systeem.

ClusterControl heeft een vooraf gedefinieerde set dashboards voor u om enkele van de meest voorkomende statistieken te analyseren.

Hiermee kunt u de beschikbare grafieken in het cluster aanpassen, en u kunt schakel de op agenten gebaseerde monitoring in om meer gedetailleerde dashboards te genereren.

U kunt ook waarschuwingen maken, die u informeren over gebeurtenissen in uw cluster, of integreer met verschillende diensten zoals PagerDuty of Slack.

U kunt ook de sectie Querymonitor bekijken, waar u de topquery's, de lopende query's, uitbijters van query's en de querystatistieken.

Met deze functies kunt u zien hoe uw PostgreSQL-database werkt.

Voor back-upbeheer centraliseert ClusterControl het om uw gegevens te beschermen, beveiligen en herstellen, en met de back-upfunctie voor verificatie kunt u bevestigen of de back-up klaar is voor gebruik.

Deze verificatie-back-uptaak ​​herstelt de back-up in een aparte zelfstandige host, dus u kunt ervoor zorgen dat de back-up werkt.

Bewaken met de ClusterControl-opdrachtregel

Voor het scripten en automatiseren van taken, of zelfs als je gewoon de voorkeur geeft aan de opdrachtregel, heeft ClusterControl de s9s-tool. Het is een opdrachtregelprogramma voor het beheren van uw databasecluster.

Clusterlijst

Knooppuntenlijst

Conclusie

Monitoring is absoluut noodzakelijk, en de beste manier om dit te doen hangt af van de infrastructuur en het systeem zelf. In deze blog laten we je kennismaken met Percona Distribution voor PostgreSQL en noemden we enkele belangrijke metrics die je moet controleren in je PostgreSQL-omgeving. We hebben u ook laten zien hoe ClusterControl nuttig is voor deze taak.


  1. MySQL-variabelenformaat voor een NOT IN-lijst met waarden

  2. Een sql-resultaat transponeren zodat één kolom naar meerdere kolommen gaat

  3. Salesforce SOQL gebruiken vanuit Linux

  4. Hoe tekenreeks te splitsen en waarden in tabel in SQL Server in te voegen