sql >> Database >  >> RDS >> PostgreSQL

Proactieve PostgreSQL-monitoring (hoek voor ontwikkelaarsstudio/adviseurs)

Toezicht is een manier om te weten of uw systemen goed werken. Zelfs wanneer u een robuuste technologie zoals PostgreSQL gebruikt, is het belangrijk om een ​​goed monitoringsysteem te hebben waarmee u problemen kunt voorkomen voordat ze uw bedrijf beïnvloeden. De beste manier om uw database op een proactieve manier te bewaken, is door aangepaste controles uit te voeren om ze aan te passen aan uw werklast en ook om meldingen om ervoor te zorgen dat u op de hoogte wordt gesteld in geval van storing.

Dit kan een tijdrovende taak zijn, aangezien u alles handmatig moet maken, maar hoe zit het met het gebruik van ClusterControl hiervoor? Ja, dat kan, en in deze blog gaan we uitzoeken hoe.

ClusterControl-meldingen

ClusterControl heeft een alarmsysteem dat gebruikmaakt van Advisors om u op de hoogte te stellen in geval van storing of onverwacht gedrag. Het wordt geleverd met een aantal vooraf gedefinieerde adviseurs, maar u kunt het wijzigen of zelfs een nieuwe maken met behulp van de geïntegreerde tool van Developer Studio. Het is ook geïntegreerd met tools van derden, zoals Slack of PagerDuty, zodat u daar ook meldingen kunt ontvangen.

ClusterControl-adviseurs

ClusterControl heeft een intern miniprogramma genaamd Advisors, waar je een klein programma schrijft dat leeft en draait binnen de structuur van de ClusterControl-objecten. Je kunt het zien als een geplande functie die een script uitvoert dat is gemaakt in Developer Studio en een resultaat produceert met status, advies en rechtvaardiging. Hierdoor kunnen gebruikers de functionaliteit van ClusterControl eenvoudig uitbreiden door aangepaste adviseurs te maken die on-demand of volgens een schema kunnen worden uitgevoerd.

Er zijn enkele vooraf gedefinieerde adviseurs die u kunt vinden onder ClusterControl -> Prestaties -> Adviseurs, maar u kunt ook nieuwe plannen met de optie Planningsadviseur:de optie stuurt u naar de sectie Developer Studio.

Voor de bestaande adviseurs kunt u de planningsconfiguratie, de laatste uitvoering en ook informatie zoals de huidige status, database-instantie, een bericht over de uitvoer en indien nodig een advies zien.

ClusterControl Developer Studio

De genoemde adviseurs zijn miniscripts die zijn geschreven in de ClusterControl Domain Specific Language (DSL), een Javascript-achtige taal. Deze scripts kunnen worden geschreven, gecompileerd, opgeslagen, uitgevoerd en gepland in ClusterControl met behulp van de Developer Studio-tool die is geïntegreerd in ClusterControl.

Ga voor toegang tot deze tool naar ClusterControl -> Beheren -> Developer Studio . Eenmaal daar kun je de beschikbare scripts zien, maar er kunnen ook nieuwe scripts worden gemaakt, geïmporteerd of geëxporteerd.

Als u een script wijzigt of maakt, kunt u uw taak compileren, compileren en uitvoeren, plannen of helemaal uitschakelen.

Als je een nieuw script wilt plannen, is de configuratie in feite een cron-taak, waar je kunt specificeren wanneer en hoe vaak je het wilt uitvoeren in twee verschillende modi:Basis (Base) of Geavanceerd .

Als u een bestaand script plant, kunt u de uitvoer in de berichtsectie.

En als u een nieuw script wilt maken, bijvoorbeeld om voer een SQL-query uit op uw PostgreSQL-database om de huidige versie te kennen, er is een eenvoudig voorbeeld:

Voor meer voorbeelden over het gebruik van de DSL-taal kunt u verwijzen naar de officiële documentatie.

Conclusie

Een goed monitoringsysteem moet notificaties kunnen versturen, alarmen kunnen weergeven en ook de mogelijkheid bieden om de scripts aan te passen aan uw bedrijf.

ClusterControl heeft alle genoemde functies:het kan functies bieden die variëren van veel beheer- en bewakingsfuncties zoals automatisch herstel, back-ups, implementatie tot beveiliging en meer.

In het begin kan het moeilijk zijn om aangepaste adviseurs voor uw PostgreSQL-database te maken, omdat u Javascript-kennis en enige basiskennis over ClusterControl nodig heeft, maar als u eenmaal uw eerste adviseur hebt gemaakt, zou de rest een gemakkelijke taak moeten zijn.


  1. Ontdek waarom een ​​e-mail niet kon worden verzonden in SQL Server (T-SQL)

  2. ODP.NET beheerd - Kan de gevraagde .Net Framework-gegevensprovider niet vinden

  3. MySQL relationele databases gebruiken op Debian 6 (Squeeze)

  4. Hoe kan ik de lijst met tabellen in de opgeslagen procedure krijgen?