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ällningarFör att konfigurera typerna av meddelanden, gå till sidan "Meddelandemetoder":
Nagios XI-meddelandemetoderSe 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 WizardNä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ärmarObservera 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 QueryDatadog
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-integrationerFö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-integrationDet första steget i att konfigurera monitorn är att välja en varningstyp:
Datadog-detektionsmetodKonfigurera sedan en eller flera mätvärden:
Datador Metrics ConfigurationKonfigurera villkoren för att utlösa varningen:
Datadog Alert TriggerAviseringar kan anpassas med mallvariabler:
Datadog Postgres IntegrationAnge slutligen en lista över mottagare för att få aviseringar:
Datadog-aviseringsmottagareHä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 MetricsFö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 autotriggersFör att få mer PostgreSQL-statistik måste du lägga till en PostgreSQL-"server":
Okmeter - Lägga till en serverFö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 kontaktmeddelandeAviseringsmeddelanden kan anpassas ytterligare med hjälp av mallar:
Okmeter-meddelandemallCirconus
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 CheckEnligt 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-kontrollFö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 DetailsVarningar kategoriseras baserat på svårighetsgrad:
Circonus Rulesets AllvarlighetsnivåerAviseringskanaler inkluderar SMS, OpsGenie, Slack, VictorOps och PagerDuty (ingen e-post). Skärmdumpen nedan visar en Slack-integration:
Circonus kontaktgrupperFö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 RulesetsNy 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 MedoraNär plugin-programmet fungerar blir det synligt på plugin-sidan och vi är redo att konfigurera varningar:
New Relic Alerts SetupNew 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 relikkanaltyperObservera att integrationen först måste aktiveras i aviseringsapplikationen. Till exempel att välja Slack från listan över kanaltyper:
New Relic Slack IntegrationSkapa sedan en "varningspolicy":
New Relic Alert PolicyEn 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 ThresholdVälj slutligen fliken aviseringskanaler för att ändra standard:
Nya Relic PostgreSQL-aviseringskanalerLägg eventuellt till varningsvillkoret i New Relic Insights (kräver ytterligare prenumeration):
New Relic InsightsPostgres 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ärdenFör att ändra standardvarningarna eller skapa anpassade, använd varningsmallarna:
Postgres Enterprise Manager anpassad varningsmallPEM 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-varningpgwatch2
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 MetricsKonfigurera sedan varningen:
pgwatch2 Dashboard Alert ConfigNär de har konfigurerats kommer varningarna att dyka upp på sidan med varningslista:
pgwatch2 Dashboard Alert Listpgwatch2 integreras med alla populära aviseringssystem. Här är ett exempel på hur du lägger till en Slack-kanal:
pgwatch2 Slack IntegrationFör att se aviseringskanalerna som är konfigurerade i systemet, öppna sidan "Aviseringskanaler":
pgwatch2 aviseringskanalerYtterligare 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-integrationerFör syftet med denna demo har jag konfigurerat Slack:
ClusterControl Slack IntegrationClusterControl erbjuder också möjligheten att meddela via e-post:
ClusterControl-meddelanden via e-postNä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 WhitepaperSlutsats
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.