sql >> Databasteknik >  >> RDS >> PostgreSQL

Proaktiv PostgreSQL-övervakning (utvecklarstudio/rådgivares vinkel)

Övervakning är ett sätt att veta om dina system fungerar korrekt. Även när du använder en robust teknik som PostgreSQL är det viktigt att ha ett bra övervakningssystem som låter dig förebygga problem innan de påverkar din verksamhet. Det bästa sättet att övervaka din databas på ett proaktivt sätt är att ha anpassade kontroller för att anpassa dem till din arbetsbelastning och även ett meddelande för att se till att du kommer att meddelas vid fel.

Detta kan vara en tidskrävande uppgift eftersom du behöver skapa allt manuellt, men hur är det med att använda ClusterControl för detta? Ja, det kan du göra, och i den här bloggen kommer vi att ta reda på hur.

ClusterControl-meddelanden

ClusterControl har ett larmsystem som använder Advisors för att meddela dig vid fel eller oväntat beteende. Den kommer med några fördefinierade rådgivare, men du kan ändra den eller till och med skapa en ny med hjälp av det integrerade verktyget Developer Studio. Den har också integration med tredjepartsverktyg som Slack eller PagerDuty, så att du kan få aviseringar där också.

ClusterControl Advisors

ClusterControl har ett internt miniprogram som heter Advisors, där man skriver ett litet program som lever och körs inom strukturen för ClusterControl-objekten. Du kan se det som en schemalagd funktion som kör ett skript skapat i Developer Studio och producerar ett resultat som innehåller status, råd och motivering. Detta gör att användare enkelt kan utöka funktionaliteten hos ClusterControl genom att skapa anpassade rådgivare som kan köras på begäran eller enligt ett schema.

Det finns några fördefinierade rådgivare som kan hittas under ClusterControl -> Prestanda -> Rådgivare, men du kan också schemalägga nya med alternativet Schedule Advisor:alternativet skickar dig till avsnittet Developer Studio.

För befintliga rådgivare kan du se schemats konfiguration, senaste körning och även information som aktuell status, databasinstans, ett meddelande om utdata och ett råd om det behövs.

ClusterControl Developer Studio

De nämnda rådgivarna är miniskript skrivna i ClusterControl Domain Specific Language (DSL) som är ett Javascript-liknande språk. Dessa skript kan skrivas, kompileras, sparas, köras och schemaläggas i ClusterControl med hjälp av verktyget Developer Studio integrerat i ClusterControl.

För att komma åt det här verktyget, gå till ClusterControl -> Hantera -> Developer Studio . Väl där kommer du att kunna se de tillgängliga skripten men även nya skript kan skapas, importeras eller exporteras också.

När du ändrar eller skapar ett skript kan du kompilera ditt jobb, kompilera och köra det, schemalägga eller inaktivera det helt och hållet.

Om du vill schemalägga ett nytt skript är konfigurationen i grunden ett cron-jobb, där du kan ange när och hur ofta du vill köra det i två olika lägen:Basic (Bas) eller Advanced .

Om du schemalägger ett befintligt skript kan du se resultatet i meddelandesektion.

Och, om du vill skapa ett nytt skript, t.ex. kör en SQL-fråga på din PostgreSQL-databas för att veta den aktuella versionen, det finns ett grundläggande exempel:

För fler exempel om användningen av DSL-språket kan du hänvisa till den officiella dokumentationen.

Slutsats

Ett bra övervakningssystem behöver kunna skicka aviseringar, visa larm och även erbjuda möjligheten att anpassa skripten för att anpassa dem till ditt företag.

ClusterControl har alla de nämnda funktionerna:den kan erbjuda funktioner som sträcker sig från många hanterings- och övervakningsfunktioner som automatisk återställning, säkerhetskopiering, distribution till säkerhet och mer.

I början kan det vara svårt att skapa anpassade rådgivare för din PostgreSQL-databas eftersom du behöver kunskap om javascript och lite grundläggande kunskap om ClusterControl, men när du väl har skapat din första rådgivare borde resten vara en enkel uppgift.


  1. Hitta närmaste latitud/longitud med en SQL-fråga

  2. Hur undviker man dela med noll-fel i SQL?

  3. Spelar ordningsföljden på tabellerna som hänvisas till i ON-klausulen i JOIN någon roll?

  4. Hur får jag information om en index- och tabellägare i Oracle?