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æferencerFor at konfigurere typerne af meddelelser, gå til siden "Meddelelsesmetoder":
Nagios XI-meddelelsesmetoderSe Nagios XI-brugervejledningen for flere detaljer.
For at konfigurere advarsler skal du logge på som administrator og vælge databasekonfigurationsguiden:
Nagios XI Database Configuration WizardNå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ærmeBemæ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ørgselDatadog
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-integrationerFor 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-integrationDet første trin i konfigurationen af monitoren er at vælge en advarselstype:
Datadog-detektionsmetodeKonfigurer derefter en eller flere metrics:
Datador Metrics ConfigurationKonfigurer betingelserne for at udløse advarslen:
Datadog Alert TriggerMeddelelser kan tilpasses ved hjælp af skabelonvariabler:
Datadog Postgres-integrationGiv endelig en liste over modtagere til at modtage meddelelser:
Datadog-meddelelsesmodtagereDe 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 MetricsFor 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 autotriggereAt få flere PostgreSQL-metrics kræver tilføjelse af en PostgreSQL "server":
Okmeter - Tilføjelse af en serverFor 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 kontaktmeddelelseMeddelelser kan tilpasses yderligere ved hjælp af skabeloner:
Okmeter-meddelelsesskabelonCirconus
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 CheckIfø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-tjekFor at konfigurere underretninger er hver metrik knyttet til et sæt regler og en liste over kontakter, der skal underrettes.
Circonus Metric DetailsAdvarsler er kategoriseret baseret på sværhedsgrad:
Circonus Rulesets SværhedsniveauerNotifikationskanaler inkluderer SMS, OpsGenie, Slack, VictorOps og PagerDuty (ingen e-mail). Skærmbilledet nedenfor viser en Slack-integration:
Circonus-kontaktgrupperFor 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ætNy 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 MedoraNår plugin'et virker, bliver det synligt på plugins-siden, og vi er klar til at konfigurere advarsler:
Ny opsætning af relikvie-advarslerNew 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 relikviekanaltyperBemærk, at integrationen først skal aktiveres i notifikationsapplikationen. For eksempel at vælge Slack fra listen over kanaltyper:
Ny Relic Slack-integrationOpret derefter en "advarselspolitik":
Ny Relic Alert PolicyEn 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ærskelVælg endelig fanen notifikationskanaler for at ændre standarden:
Nye Relic PostgreSQL-meddelelseskanalerTilføj eventuelt advarselsbetingelsen til New Relic Insights (kræver yderligere abonnement):
Ny relikvieindsigtPostgres 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 metricsFor at ændre standardadvarslerne eller oprette brugerdefinerede, skal du bruge alarmskabelonerne:
Postgres Enterprise Manager Custom Alert TemplatePEM 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-advarslerpgwatch2
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 MetricsKonfigurer derefter advarslen:
pgwatch2 Dashboard Alert ConfigNår de er konfigureret, vil advarslerne dukke op på Alerts List-siden:
pgwatch2 Dashboard Alert Listpgwatch2 integreres med alle populære notifikationssystemer. Her er et eksempel på tilføjelse af en Slack-kanal:
pgwatch2 Slack IntegrationFor at se de underretningskanaler, der er konfigureret i systemet, skal du åbne siden "Underretningskanaler":
pgwatch2 NotifikationskanalerYderligere 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-integrationerTil formålet med denne demo har jeg konfigureret Slack:
ClusterControl Slack-integrationClusterControl giver også mulighed for at give besked via e-mail:
ClusterControl-meddelelser via e-mailNå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 hvidbogenKonklusion
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.