sql >> Databasteknik >  >> RDS >> PostgreSQL

De bästa varnings- och meddelandeverktygen för PostgreSQL

Som en del av deras företagsövervakningssystem förlitar sig organisationer på varningar och meddelanden som sin första försvarslinje för att uppnå hög tillgänglighet och följaktligen sänka avbrottskostnaderna.

Varningar och aviseringar används ibland omväxlande, till exempel kan vi säga "Jag har fått en högbelastningssystemlarm", och att ersätta "varning" med "avisering" kommer inte att ändra meddelandets betydelse. Men i en värld av ledningssystem är det viktigt att notera skillnaden:varningar är händelser som genereras som ett resultat av ett systemproblem och meddelanden används för att leverera information om systemstatus, inklusive problem. Som ett exempel diskuterar Severalnines-bloggen Introducing the ClusterControl Alerting Integrations en av ClusterControls integrationsfunktioner, aviseringssystemet som kan leverera varningar via e-post, chatttjänster och incidenthanteringssystem. Se även PostgreSQL Wiki — Varningar och statusmeddelanden.

För att noggrant övervaka PostgreSQL-databasaktiviteten, förlitar sig ett ledningssystem på databasaktivitetsstatistik, anpassade funktioner eller övervakningsrådgivare och övervakningsloggfiler.

I den här artikeln granskar jag verktygen som listas i PostgreSQL Wiki, sektionerna Monitoring och PostgreSQL GUI, hoppar över de som inte underhålls aktivt eller ger varningar och meddelanden varken i produkten eller med ett gratis testkonto. Även om det inte var en uttömmande genomgång, installerades och konfigurerades varje verktyg till den punkt där jag kunde förstå dess varnings- och aviseringsfunktioner.

Nagios

Nagios är ett populärt lokalt, allmänt övervakningssystem som erbjuder ett brett utbud av plugins. Medan Nagios Core är öppen källkod är Nagios XI den rekommenderade lösningen för att övervaka PostgreSQL.

Aviseringsinställningarna är per användare, och för att ändra dem måste administratören "logga in som" användaren — Nagios använder termen maskerad som . Väl på kontoinställningssidan kan användaren välja att aktivera eller inaktivera aviseringsmetoderna:

Nagios XI-aviseringsinställningar

För att konfigurera typerna av meddelanden, gå till sidan "Meddelandemetoder":

Nagios XI-meddelandemetoder

Se Nagios XI användarhandbok för mer information.

För att konfigurera varningar, logga in som administratör och välj databaskonfigurationsguiden:

Nagios XI Database Configuration Wizard

När de har konfigurerats kan varningarna ses genom att välja någon av standardvyerna, instrumentpanelerna, eller så kan vi konfigurera en anpassad. Direkt från förpackningen tillhandahåller Nagios XI följande PostgreSQL-monitorer:

Nagios XI PostgreSQL-skärmar

Observera att Nagios XI inte tillhandahåller några mätvärden baserade på PostgreSQL Statistics Collector, utan varje måttenhet måste definieras med hjälp av "Postgres Query"-konfigurationsguiden:

Nagios XI Postgres Query

Datadog

Datadog är ett allmänt SaaS-övervakningsverktyg som har en mycket stor uppsättning integrationer med en mängd olika tjänster. För att börja övervaka, välj PostgreSQL-integrationen och välj sedan aviseringsintegreringarna som e-post, chatt (t.ex. Slack) eller incidentresponssystem som PagerDuty:

Datadog-integrationer

För att ta emot meddelanden via integrationskanalerna som konfigurerats tidigare måste vi skapa minst en Datadog-monitor, i fallet med PostgreSQL-övervakning en "integrations"-monitortyp:

Datadog PostgreSQL-integration

Det första steget i att konfigurera monitorn är att välja en varningstyp:

Datadog-detektionsmetod

Konfigurera sedan en eller flera mätvärden:

Datador Metrics Configuration

Konfigurera villkoren för att utlösa varningen:

Datadog Alert Trigger

Aviseringar kan anpassas med mallvariabler:

Datadog Postgres Integration

Ange slutligen en lista över mottagare för att få aviseringar:

Datadog-aviseringsmottagare

Händelserna som Datadog kan övervaka på listas under PostgreSQL-integreringen "Mätvärden" och är baserade på PostgreSQL Statistics Collector fördefinierade vyer:

Datadog Postgres Integration Metrics

För att övervaka händelser som inte tillhandahålls med standardintegreringen, ger Datadog kunderna möjlighet att skapa anpassade mätvärden begränsade till Datadog-planen.

Okmeter

Okmeter är också en del av SaaS övervakningsfamiljen för allmänna ändamål, och precis som andra SaaS-verktyg kräver den en agent på den övervakade värden. När agenten är installerad aktiveras en uppsättning standardhändelseutlösare, inklusive en PostgreSQL-anslutningskontroll:

Okmeter autotriggers

För att få mer PostgreSQL-statistik måste du lägga till en PostgreSQL-"server":

Okmeter - Lägga till en server

För att övervaka PostgreSQL-statistik, på samma sätt som Nagios och Datadog, måste vi konfigurera anpassade mätvärden som förklaras i Okmeter-dokumentationen — Skickar anpassade mätvärden. Eller redigera "PostgreSQL-server"-måttet ovan för att inkludera för vyer i "okmeter.pg_stats"-funktionen.

Dokumentationssidan för Okmeter-frågestatistik förklarar hur man aktiverar spårning av exekveringsstatistik för SQL-satserna. Observera att det finns några begränsningar i att använda "pg_stat_statements"-vyerna, t.ex. maximalt antal distinkta uttalanden som kan spelas in av en modul — se PostgreSQL-dokumentationen på pg_stat_statements för detaljer.

Aviseringskontaktsidan är där aviseringar konfigureras för varje användare:

Okmeter kontaktmeddelande

Aviseringsmeddelanden kan anpassas ytterligare med hjälp av mallar:

Okmeter-meddelandemall

Circonus

Circonus, en annan SaaS-produkt för allmän övervakning, har en PostgreSQL "check" som kan aktiveras individuellt eller läggas till som en del av enstegsinstallationen:

Inställningar för Circonus Check

Enligt Circonus PostgreSQL-dokumentation utförs kontrollen från en avlägsen plats via direkta SQL-satser. Efter att ha konfigurerat PostgreSQL-värden för att acceptera anslutningar från en Circonus-mäklare, kommer guiden att presentera en lista över tillgängliga mätvärden:

Circonus PostgreSQL-kontroll

För att konfigurera varningar är varje mätvärde kopplat till en uppsättning regler och en lista över kontakter som ska meddelas.

Circonus Metric Details

Varningar kategoriseras baserat på svårighetsgrad:

Circonus Rulesets Allvarlighetsnivåer

Aviseringskanaler inkluderar SMS, OpsGenie, Slack, VictorOps och PagerDuty (ingen e-post). Skärmdumpen nedan visar en Slack-integration:

Circonus kontaktgrupper

För att konfigurera aviseringar måste varje mätvärde i kontrollen tilldelas regler och kontakter. Observera att kontakter måste skapas innan du redigerar måtten:

Circonus Rulesets

Ny relik

New Relic är ett annat allmänt övervakningssystem för SaaS. När det kommer till PostgreSQL finns det (när detta skrivs) tre tillgängliga plugins. Den senaste är Blue Medora-plugin:

Nytt Relic PostgreSQL-plugin från Blue Medora

När plugin-programmet fungerar blir det synligt på plugin-sidan och vi är redo att konfigurera varningar:

New Relic Alerts Setup

New Relic använder konceptet med varningspolicyer för att gruppera varningar i incidenter. Innan vi konfigurerar en policy måste vi ställa in aviseringskanalerna. Out of the box, New Relic integreras med alla populära incidentresponssystem, såväl som e-post:

Nya relikkanaltyper

Observera att integrationen först måste aktiveras i aviseringsapplikationen. Till exempel att välja Slack från listan över kanaltyper:

New Relic Slack Integration

Skapa sedan en "varningspolicy":

New Relic Alert Policy

En varningspolicy kräver ett "varningsvillkor". Nästa uppsättning skärmdumpar visar stegen för att uppnå just det:

New Relic PostgreSQL Condition Category New Relic PostgreSQL Condition Entity New Relic PostgreSQL Condition Threshold

Välj slutligen fliken aviseringskanaler för att ändra standard:

Nya Relic PostgreSQL-aviseringskanaler

Lägg eventuellt till varningsvillkoret i New Relic Insights (kräver ytterligare prenumeration):

New Relic Insights

Postgres Enterprise Manager

PEM eller Postgres Enterprise Manager är ett verktyg för att hantera, ställa in och övervaka PostgreSQL.

Den levereras med en mycket rik uppsättning fördefinierade mätvärden:

Postgres Enterprise Manager fördefinierade mätvärden

För att ändra standardvarningarna eller skapa anpassade, använd varningsmallarna:

Postgres Enterprise Manager anpassad varningsmall

PEM förlitar sig på e-post och SNMP för aviseringar, så det kan enkelt integreras med övervakningssystem som Nagios, men det finns inga integrationer med de populära incidenthanteringssystemen (PagerDuty, VictorOps, OpsGenie) eller chatttjänster (Slack) som finns i de andra produkterna.

Postgres Enterprise Manager E-post &SNMP-varning

pgwatch2

pgwatch2 är ett annat PostgreSQL-centrerat övervakningsverktyg, självvärderad lösning.

För att definiera varningar måste vi först skapa en anpassad instrumentpanel och definiera måttet:

pgwatch2 Dashboard Metrics

Konfigurera sedan varningen:

pgwatch2 Dashboard Alert Config

När de har konfigurerats kommer varningarna att dyka upp på sidan med varningslista:

pgwatch2 Dashboard Alert List

pgwatch2 integreras med alla populära aviseringssystem. Här är ett exempel på hur du lägger till en Slack-kanal:

pgwatch2 Slack Integration

För att se aviseringskanalerna som är konfigurerade i systemet, öppna sidan "Aviseringskanaler":

pgwatch2 aviseringskanaler

Ytterligare mätvärden kan läggas till som dokumenterats i avsnittet pgwatch2-funktioner.

ClusterControl

ClusterControl är ett lokalt databasorienterat hanteringssystem med stöd för PostgreSQL, MySQL, MariaDB och MongoDB.

Första steget är att lägga till en aviseringsintegration. Mer information om tillgängliga integrationer finns på Introducing the ClusterControl Alerting Integrations:

ClusterControl-integrationer

För syftet med denna demo har jag konfigurerat Slack:

ClusterControl Slack Integration

ClusterControl erbjuder också möjligheten att meddela via e-post:

ClusterControl-meddelanden via e-post

När aviseringar är på plats skapar du anpassade rådgivare för att utlösa varningar baserat på specifika kriterier:

ClusterControl Custom Advisors Ladda ner Whitepaper Today PostgreSQL Management &Automation med ClusterControlLär dig om vad du behöver för att distribuera, övervaka, lära dig om vad du behöver hantera och skala PostgreSQLDladda Whitepaper

Slutsats

Artikeln var inte avsedd att vara en djupdykning i funktionaliteten hos varje verktyg, utan jag försökte beskriva vad jag ansåg vara de viktiga funktionerna relaterade till varningar och meddelanden för PostgreSQL, specifikt.

En av lärdomarna är att urvalsprocessen bör ta hänsyn till flera faktorer:

  • på plats eller SaaS
  • agentbaserad eller fjärrkontroll
  • integration med incidenthanteringssystem och chatttjänster
  • tillgänglighet av övervakade mätvärden, direkt och plugins
  • möjlighet att lägga till anpassade mätvärden
  • funktioner för varningshantering (t.ex. gruppering)
  • komplexitet kontra granularitet i användargränssnittet
  • ytterligare funktionalitet (hantering, inställning, API, etc.)

Dessutom, om en lösning inte uppfyller alla affärsmässiga och/eller tekniska krav, är det alltid möjligt att använda en kombination av tjänster.


  1. psql - spara resultat av kommandot till en fil

  2. Hur STR()-funktionen fungerar i SQL Server (T-SQL)

  3. 3 sätt att få en kolumns datatyp i SQL Server (T-SQL)

  4. Rekursiva kategorier med en enda fråga?