sql >> Database teknologi >  >> RDS >> PostgreSQL

De bedste alarm- og notifikationsværktøjer til PostgreSQL

Som en del af deres virksomhedsovervågningssystem er organisationer afhængige af advarsler og meddelelser som deres første forsvarslinje for at opnå høj tilgængelighed og dermed sænke omkostningerne ved afbrydelser.

Advarsler og meddelelser bruges nogle gange i flæng, for eksempel kan vi sige "Jeg har modtaget en høj belastningssystemadvarsel", og at erstatte "advarsel" med "meddelelse" vil ikke ændre meddelelsens betydning. Men i en verden af ​​ledelsessystemer er det vigtigt at bemærke forskellen:advarsler er hændelser, der genereres som følge af en systemfejl, og meddelelser bruges til at levere information om systemstatus, herunder problemer. Som et eksempel diskuterer Severalnines-bloggen Introducing the ClusterControl Alerting Integrations en af ​​ClusterControls integrationsfunktioner, meddelelsessystemet, som er i stand til at levere advarsler via e-mail, chattjenester og hændelsesstyringssystemer. Se også PostgreSQL Wiki — Advarsler og statusmeddelelser.

For nøjagtigt at overvåge PostgreSQL-databaseaktiviteten, er et administrationssystem afhængigt af databaseaktivitetsmålingerne, brugerdefinerede funktioner eller overvågningsrådgivere og overvågningslogfiler.

I denne artikel gennemgår jeg de værktøjer, der er angivet i PostgreSQL Wiki, sektionerne Overvågning og PostgreSQL GUI, og springer dem over, der ikke vedligeholdes aktivt, eller som ikke giver advarsler og meddelelser hverken i produktet eller med en gratis prøvekonto. Selvom det ikke var en udtømmende gennemgang, blev hvert værktøj installeret og konfigureret indtil det punkt, hvor jeg kunne forstå dets underretnings- og underretningsfunktioner.

Nagios

Nagios er et populært on-premise, generelt overvågningssystem, der tilbyder en bred vifte af plugins. Mens Nagios Core er open source, er den anbefalede løsning til overvågning af PostgreSQL Nagios XI.

Notifikationsindstillinger er pr. bruger, og for at ændre dem skal administratoren "logge ind som" brugeren — Nagios bruger udtrykket masquerade as . Når du er på siden med kontoindstillinger, kan brugeren vælge at aktivere eller deaktivere meddelelsesmetoderne:

Nagios XI-meddelelsespræferencer

For at konfigurere typerne af meddelelser, gå til siden "Meddelelsesmetoder":

Nagios XI-meddelelsesmetoder

Se Nagios XI-brugervejledningen for flere detaljer.

For at konfigurere advarsler skal du logge på som administrator og vælge databasekonfigurationsguiden:

Nagios XI Database Configuration Wizard

Når de er konfigureret, kan advarslerne ses ved at vælge en af ​​standardvisningerne, dashboards, eller vi kan konfigurere en brugerdefineret. Ud af æsken leverer Nagios XI følgende PostgreSQL-skærme:

Nagios XI PostgreSQL-skærme

Bemærk, at Nagios XI ud af boksen ikke giver nogen metrics baseret på PostgreSQL Statistics Collector, i stedet skal hver metrik defineres ved hjælp af "Postgres Query"-konfigurationsguiden:

Nagios XI Postgres-forespørgsel

Datadog

Datadog er et generelt SaaS-overvågningsværktøj med et meget stort sæt integrationer med en række tjenester. For at starte overvågning skal du vælge PostgreSQL-integrationen og derefter vælge notifikationsintegrationerne såsom e-mail, chat (f.eks. Slack) eller hændelsesresponssystemer såsom PagerDuty:

Datadog-integrationer

For at modtage meddelelser via de tidligere konfigurerede integrationskanaler skal vi oprette mindst én Datadog-monitor, i tilfælde af PostgreSQL-overvågning en "integrations"-monitortype:

Datadog PostgreSQL-integration

Det første trin i konfigurationen af ​​monitoren er at vælge en advarselstype:

Datadog-detektionsmetode

Konfigurer derefter en eller flere metrics:

Datador Metrics Configuration

Konfigurer betingelserne for at udløse advarslen:

Datadog Alert Trigger

Meddelelser kan tilpasses ved hjælp af skabelonvariabler:

Datadog Postgres-integration

Giv endelig en liste over modtagere til at modtage meddelelser:

Datadog-meddelelsesmodtagere

De hændelser, Datadog kan overvåge på, er angivet under PostgreSQL-integration "Metrics" sektionen og er baseret på PostgreSQL Statistics Collector foruddefinerede visninger:

Datadog Postgres Integration Metrics

For at overvåge hændelser, der ikke er leveret med standardintegrationen, giver Datadog kunderne mulighed for at oprette tilpassede metrics begrænset til Datadog-planen.

Okmeter

Okmeter er også en del af SaaS overvågningsfamilien til generelle formål, og ligesom andre SaaS-værktøjer kræver det en agent på den overvågede vært. Når agenten er installeret, aktiveres et sæt standardhændelsesudløsere, inklusive et PostgreSQL-forbindelsestjek:

Okmeter autotriggere

At få flere PostgreSQL-metrics kræver tilføjelse af en PostgreSQL "server":

Okmeter - Tilføjelse af en server

For at overvåge PostgreSQL-statistikker, på samme måde som Nagios og Datadog, skal vi konfigurere brugerdefinerede metrics som forklaret i Okmeter-dokumentationen — Sending af brugerdefinerede metrics. Eller rediger "PostgreSQL-server"-metrikken ovenfor for at inkludere for visninger i "okmeter.pg_stats"-funktionen.

Dokumentationssiden for Okmeter-forespørgselsstatistik forklarer, hvordan du aktiverer sporing af udførelsesstatistikker for SQL-sætningerne. Bemærk, at der er et par begrænsninger i at bruge "pg_stat_statements"-visningerne, f.eks. maksimalt antal forskellige udsagn, der kan optages af et modul — se PostgreSQL-dokumentationen på pg_stat_statements for detaljer.

Notifikationskontaktsiden er, hvor notifikationer er konfigureret for hver bruger:

Okmeter kontaktmeddelelse

Meddelelser kan tilpasses yderligere ved hjælp af skabeloner:

Okmeter-meddelelsesskabelon

Circonus

Circonus, et andet SaaS-generelt overvågningsprodukt, har en PostgreSQL "check", som kan aktiveres individuelt eller tilføjes som en del af et-trins-installationen:

Opsætning af Circonus Check

Ifølge Circonus PostgreSQL-dokumentation udføres kontrollen fra en fjernplacering via direkte SQL-sætninger. Efter at have konfigureret PostgreSQL-værten til at acceptere forbindelser fra en Circonus-mægler, vil guiden præsentere en liste over tilgængelige metrics:

Circonus PostgreSQL-tjek

For at konfigurere underretninger er hver metrik knyttet til et sæt regler og en liste over kontakter, der skal underrettes.

Circonus Metric Details

Advarsler er kategoriseret baseret på sværhedsgrad:

Circonus Rulesets Sværhedsniveauer

Notifikationskanaler inkluderer SMS, OpsGenie, Slack, VictorOps og PagerDuty (ingen e-mail). Skærmbilledet nedenfor viser en Slack-integration:

Circonus-kontaktgrupper

For at konfigurere notifikationer skal hver metrik i checken tildeles regler og kontakter. Bemærk, at kontakter skal oprettes før redigering af metrikken:

Circonus-regelsæt

Ny relikvie

New Relic er et andet generelt SaaS-overvågningssystem. Når det kommer til PostgreSQL, er der (i skrivende stund) tre tilgængelige plugins. Den seneste er Blue Medora-plugin:

Nyt Relic PostgreSQL-plugin fra Blue Medora

Når plugin'et virker, bliver det synligt på plugins-siden, og vi er klar til at konfigurere advarsler:

Ny opsætning af relikvie-advarsler

New Relic bruger konceptet med advarselspolitikker til at gruppere advarsler i hændelser. Før vi konfigurerer en politik, skal vi konfigurere meddelelseskanalerne. Ud af boksen integreres New Relic med alle populære hændelsesberedskabssystemer, såvel som e-mail:

Nye relikviekanaltyper

Bemærk, at integrationen først skal aktiveres i notifikationsapplikationen. For eksempel at vælge Slack fra listen over kanaltyper:

Ny Relic Slack-integration

Opret derefter en "advarselspolitik":

Ny Relic Alert Policy

En advarselspolitik kræver en "advarselsbetingelse". Det næste sæt skærmbilleder viser trinene for at opnå netop dette:

New Relic PostgreSQL Condition Category New Relic PostgreSQL Condition Entity Ny relikvie PostgreSQL-tilstandstærskel

Vælg endelig fanen notifikationskanaler for at ændre standarden:

Nye Relic PostgreSQL-meddelelseskanaler

Tilføj eventuelt advarselsbetingelsen til New Relic Insights (kræver yderligere abonnement):

Ny relikvieindsigt

Postgres Enterprise Manager

PEM eller Postgres Enterprise Manager er et værktøj til styring, tuning og overvågning af PostgreSQL.

Den leveres med et meget rigt sæt foruddefinerede metrics:

Postgres Enterprise Manager foruddefinerede metrics

For at ændre standardadvarslerne eller oprette brugerdefinerede, skal du bruge alarmskabelonerne:

Postgres Enterprise Manager Custom Alert Template

PEM er afhængig af e-mail og SNMP til notifikationer, så det kan nemt integreres med overvågningssystemer såsom Nagios, men der er ingen integrationer med de populære hændelsesstyringssystemer (PagerDuty, VictorOps, OpsGenie) eller chattjenester (Slack) i de andre produkter.

Postgres Enterprise Manager E-mail &SNMP-advarsler

pgwatch2

pgwatch2 er et andet PostgreSQL-centreret overvågningsværktøj, selv-hostet løsning.

For at definere advarsler skal vi først oprette et brugerdefineret dashboard og definere metrikken:

pgwatch2 Dashboard Metrics

Konfigurer derefter advarslen:

pgwatch2 Dashboard Alert Config

Når de er konfigureret, vil advarslerne dukke op på Alerts List-siden:

pgwatch2 Dashboard Alert List

pgwatch2 integreres med alle populære notifikationssystemer. Her er et eksempel på tilføjelse af en Slack-kanal:

pgwatch2 Slack Integration

For at se de underretningskanaler, der er konfigureret i systemet, skal du åbne siden "Underretningskanaler":

pgwatch2 Notifikationskanaler

Yderligere metrics kan tilføjes som dokumenteret i pgwatch2-funktionssektionen.

ClusterControl

ClusterControl er et on-premise databaseorienteret administrationssystem med understøttelse af PostgreSQL, MySQL, MariaDB og MongoDB.

Første trin er at tilføje en notifikationsintegration. Mere information om tilgængelige integrationer er tilgængelig på Introducing the ClusterControl Alerting Integrations:

ClusterControl-integrationer

Til formålet med denne demo har jeg konfigureret Slack:

ClusterControl Slack-integration

ClusterControl giver også mulighed for at give besked via e-mail:

ClusterControl-meddelelser via e-mail

Når notifikationer er på plads, skal du oprette tilpassede rådgivere for at udløse advarsler baseret på specifikke kriterier:

ClusterControl Custom AdvisorsDownload Whitepaper Today PostgreSQL Management &Automation med ClusterControlFå oplysninger om, hvad du har brug for at implementere, overvåge, administrer og skaler PostgreSQLDownload hvidbogen

Konklusion

Artiklen var ikke beregnet til at være et dybt dyk ned i funktionaliteten af ​​hvert værktøj, snarere forsøgte jeg at skitsere, hvad jeg anså for at være de vigtige funktioner relateret til advarsler og meddelelser for PostgreSQL, specifikt.

En af erfaringerne er, at udvælgelsesprocessen bør tage flere faktorer i betragtning:

  • on premise eller SaaS
  • agentbaseret eller fjernkontrol
  • integration med hændelsesstyringssystemer og chattjenester
  • tilgængelighed af overvågede metrics, out of the box, og plugins
  • mulighed for at tilføje tilpassede metrics
  • advarselsstyringsfunktioner (f.eks. gruppering)
  • kompleksitet vs granularitet i brugergrænsefladen
  • yderligere funktionalitet (administration, tuning, API osv.)

Hvis én løsning ikke opfylder alle forretningsmæssige og/eller tekniske krav, er det også altid muligt at bruge en kombination af tjenester.


  1. SQL Server 2008 personsøgningsmetoder?

  2. Stage APPL_TOP i Oracle Applications R12

  3. Oracle Konverter TIMESTAMP med Timezone til DATE

  4. Kan jeg have en fremmednøgle, der refererer til en kolonne i en visning i SQL Server?