sql >> Database >  >> RDS >> PostgreSQL

De beste waarschuwings- en meldingstools voor PostgreSQL

Als onderdeel van hun bedrijfsmonitoringsysteem vertrouwen organisaties op waarschuwingen en meldingen als hun eerste verdedigingslinie om een ​​hoge beschikbaarheid te bereiken en bijgevolg de uitvalkosten te verlagen.

Waarschuwingen en meldingen worden soms door elkaar gebruikt, we kunnen bijvoorbeeld zeggen "Ik heb een systeemwaarschuwing met hoge belasting ontvangen", en het vervangen van "waarschuwing" door "melding" zal de betekenis van het bericht niet veranderen. In de wereld van beheersystemen is het echter belangrijk om het verschil te zien:waarschuwingen zijn gebeurtenissen die worden gegenereerd als gevolg van een systeemprobleem en meldingen worden gebruikt om informatie te verstrekken over de systeemstatus, inclusief problemen. Als voorbeeld bespreekt de blog van Verschillendenines Introducing the ClusterControl Alerting Integrations een van de integratiefuncties van ClusterControl, het meldingssysteem dat waarschuwingen kan leveren via e-mail, chatservices en incidentbeheersystemen. Zie ook PostgreSQL Wiki — Waarschuwingen en statusmeldingen.

Om de PostgreSQL-databaseactiviteit nauwkeurig te bewaken, vertrouwt een beheersysteem op de statistieken van de databaseactiviteit, aangepaste functies of monitoradviseurs en het bewaken van logbestanden.

In dit artikel bekijk ik de tools die worden vermeld in de PostgreSQL Wiki, de secties Monitoring en PostgreSQL GUI, waarbij ik de tools oversla die niet actief worden onderhouden, of die geen waarschuwingen en meldingen bieden, noch binnen het product, noch met een gratis proefaccount. Hoewel het geen uitputtende beoordeling is, is elke tool zodanig geïnstalleerd en geconfigureerd dat ik de waarschuwings- en meldingsmogelijkheden ervan begreep.

Nagios

Nagios is een populair on-premise monitoringsysteem voor algemene doeleinden dat een breed scala aan plug-ins biedt. Hoewel Nagios Core open source is, is Nagios XI de aanbevolen oplossing voor het bewaken van PostgreSQL.

Instellingen voor meldingen zijn per gebruiker, en om ze te wijzigen moet de beheerder "inloggen als" de gebruiker — Nagios gebruikt de term masquerade as . Eenmaal op de pagina met accountinstellingen kan de gebruiker ervoor kiezen om de meldingsmethoden in of uit te schakelen:

Nagios XI-meldingsvoorkeuren

Ga naar de pagina "Meldingsmethoden" om de soorten meldingen te configureren:

Nagios XI-meldingsmethoden

Zie de Nagios XI Gebruikershandleiding voor meer details.

Om waarschuwingen te configureren, logt u in als beheerder en selecteert u de databaseconfiguratiewizard:

Wizard Nagios XI-databaseconfiguratie

Eenmaal geconfigureerd, kunnen de waarschuwingen worden bekeken door een van de standaardweergaven, dashboards te selecteren, of we kunnen een aangepaste configureren. Standaard biedt Nagios XI de volgende PostgreSQL-monitoren:

Nagios XI PostgreSQL-monitoren

Houd er rekening mee dat Nagios XI kant-en-klaar geen statistieken biedt op basis van de PostgreSQL Statistics Collector, maar dat elke metriek moet worden gedefinieerd met behulp van de configuratiewizard "Postgres Query":

Nagios XI Postgres-query

Datadog

Datadog is een SaaS-monitoringtool voor algemeen gebruik met een zeer groot aantal integraties met een verscheidenheid aan services. Om te beginnen met monitoren, selecteert u de PostgreSQL-integratie en kiest u vervolgens de meldingsintegraties zoals e-mail, chat (bijv. Slack) of incidentresponssystemen zoals PagerDuty:

Datadog-integraties

Om meldingen te ontvangen via de eerder geconfigureerde integratiekanalen, moeten we ten minste één Datadog-monitor maken, in het geval van PostgreSQL-monitoring een "integratie" -monitortype:

Datadog PostgreSQL-integratie

De eerste stap bij het configureren van de monitor is het selecteren van een waarschuwingstype:

Datadog-detectiemethode

Configureer vervolgens een of meer statistieken:

Datador Metrics-configuratie

Configureer de voorwaarden voor het activeren van de waarschuwing:

Datadog-waarschuwingstrigger

Meldingen kunnen worden aangepast met behulp van sjabloonvariabelen:

Datadog Postgres-integratie

Geef ten slotte een lijst met ontvangers om meldingen te ontvangen:

Ontvangers van Datadog-meldingen

De gebeurtenissen waarop Datadog kan controleren, worden vermeld onder de sectie PostgreSQL-integratie "Metrieken" en zijn gebaseerd op de vooraf gedefinieerde weergaven van PostgreSQL Statistics Collector:

Datadog Postgres-integratiestatistieken

Om te controleren op gebeurtenissen die niet zijn voorzien van de standaardintegratie, biedt Datadog klanten de mogelijkheid om aangepaste statistieken te maken die beperkt zijn tot het Datadog-abonnement.

Okmeter

Okmeter maakt ook deel uit van de SaaS-monitoringfamilie voor algemene doeleinden en vereist, net als andere SaaS-tools, een agent op de bewaakte host. Nadat de agent is geïnstalleerd, wordt een reeks standaard gebeurtenistriggers ingeschakeld, inclusief een PostgreSQL-verbindingscontrole:

Okmeter-autotriggers

Om meer PostgreSQL-statistieken te krijgen, moet een PostgreSQL-"server" worden toegevoegd:

Okmeter - Een server toevoegen

Om PostgreSQL-statistieken te controleren, net als bij Nagios en Datadog, moeten we aangepaste metrieken configureren zoals uitgelegd in de Okmeter-documentatie - Aangepaste metrieken verzenden. Of bewerk de 'PostgreSQL-server'-statistiek hierboven om voor weergaven op te nemen in de functie 'okmeter.pg_stats'.

Op de documentatiepagina van Okmeter-querystatistieken wordt uitgelegd hoe u het bijhouden van uitvoeringsstatistieken voor de SQL-instructies kunt inschakelen. Merk op dat er een paar beperkingen zijn bij het gebruik van de "pg_stat_statements"-weergaven, b.v. maximum aantal afzonderlijke statements dat door een module kan worden vastgelegd — zie de PostgreSQL-documentatie op pg_stat_statements voor details.

Op de pagina met contactpersonen voor meldingen worden meldingen voor elke gebruiker geconfigureerd:

Okmeter-contactmelding

Meldingsberichten kunnen verder worden aangepast met behulp van sjablonen:

Sjabloon voor Okmeter-meldingen

Circonus

Circonus, een ander algemeen SaaS-monitoringproduct, beschikt over een PostgreSQL-controle die afzonderlijk kan worden ingeschakeld of kan worden toegevoegd als onderdeel van de installatie in één stap:

Circonus-controle instellen

Volgens Circonus PostgreSQL-documentatie wordt de controle uitgevoerd vanaf een externe locatie via directe SQL-instructies. Na het configureren van de PostgreSQL-host om verbindingen van een Circonus-broker te accepteren, zal de wizard een lijst met beschikbare statistieken presenteren:

Circonus PostgreSQL-controle

Om waarschuwingen te configureren, is elke statistiek gekoppeld aan een set regels en een lijst met contactpersonen die op de hoogte moeten worden gesteld.

Circonus-statistiekdetails

Waarschuwingen worden gecategoriseerd op basis van ernstniveaus:

Circonus-regels voor ernstniveaus

Meldingskanalen zijn onder meer SMS, OpsGenie, Slack, VictorOps en PagerDuty (geen e-mail). De onderstaande schermafbeelding toont een Slack-integratie:

Circonus-contactgroepen

Om meldingen te configureren, moet elke statistiek in de controle worden toegewezen aan regels en contacten. Houd er rekening mee dat contacten moeten worden gemaakt voordat de metriek kan worden bewerkt:

Circonus-regelsets

Nieuwe relikwie

New Relic is een ander algemeen SaaS-bewakingssysteem. Als het gaat om PostgreSQL zijn er (op het moment van schrijven) drie beschikbare plug-ins. De meest recente is de Blue Medora-plug-in:

Nieuwe Relic PostgreSQL-plug-in van Blue Medora

Zodra de plug-in werkt, wordt deze zichtbaar op de pagina met plug-ins en zijn we klaar om waarschuwingen te configureren:

Instelling nieuwe relikwiewaarschuwingen

New Relic gebruikt het concept van waarschuwingsbeleid om waarschuwingen in incidenten te groeperen. Voordat we een beleid configureren, moeten we de meldingskanalen instellen. Out of the box, New Relic kan worden geïntegreerd met alle populaire incidentresponssystemen, evenals met e-mail:

Nieuwe relic-kanaaltypen

Houd er rekening mee dat de integratie eerst moet worden ingeschakeld in de meldingstoepassing. Selecteer bijvoorbeeld Slack uit de lijst met kanaaltypes:

Nieuwe Relic Slack-integratie

Maak vervolgens een "waarschuwingsbeleid":

Nieuw relikwie-waarschuwingsbeleid

Een waarschuwingsbeleid vereist een "waarschuwingsvoorwaarde". De volgende reeks schermafbeeldingen toont de stappen om precies dat te bereiken:

Nieuwe relikwie PostgreSQL-conditiecategorie Nieuwe Relic PostgreSQL-voorwaarde-entiteit Nieuwe relikwie PostgreSQL-voorwaardedrempel

Selecteer ten slotte het tabblad meldingskanalen om de standaard te wijzigen:

Nieuwe Relic PostgreSQL-meldingskanalen

Voeg optioneel de waarschuwingsvoorwaarde toe aan New Relic Insights (aanvullend abonnement vereist):

Nieuwe overblijfselen

Postgres Enterprise Manager

PEM of Postgres Enterprise Manager is een hulpmiddel voor het beheren, afstemmen en bewaken van PostgreSQL.

Het wordt geleverd met een zeer uitgebreide reeks vooraf gedefinieerde statistieken:

Vooraf gedefinieerde statistieken van Postgres Enterprise Manager

Gebruik de waarschuwingssjablonen om de standaardwaarschuwingen te wijzigen of aangepaste waarschuwingen te maken:

Postgres Enterprise Manager aangepaste waarschuwingssjabloon

PEM vertrouwt op e-mail en SNMP voor meldingen, dus het kan eenvoudig worden geïntegreerd met monitoringsystemen zoals Nagios, maar er zijn geen integraties met de populaire incidentbeheersystemen (PagerDuty, VictorOps, OpsGenie) of chatservices (Slack) die in de andere producten.

Postgres Enterprise Manager E-mail &SNMP-waarschuwingen

pgwatch2

pgwatch2 is een andere op PostgreSQL gerichte monitoringtool, zelf-gehoste oplossing.

Om waarschuwingen te definiëren, moeten we eerst een aangepast dashboard maken en de statistiek definiëren:

pgwatch2 Dashboard-statistieken

Configureer vervolgens de waarschuwing:

pgwatch2 Dashboard-waarschuwingsconfiguratie

Eenmaal geconfigureerd, worden de waarschuwingen weergegeven op de pagina met de lijst met waarschuwingen:

pgwatch2 Dashboard-waarschuwingslijst

pgwatch2 integreert met alle populaire meldingssystemen. Hier is een voorbeeld van het toevoegen van een Slack-kanaal:

pgwatch2 Slack-integratie

Open de pagina "Meldingskanalen" om de meldingskanalen te bekijken die in het systeem zijn geconfigureerd:

pgwatch2 Meldingskanalen

Aanvullende statistieken kunnen worden toegevoegd zoals beschreven in de sectie pgwatch2 Functies.

Clusterbeheer

ClusterControl is een on-premise database-georiënteerd beheersysteem met ondersteuning voor PostgreSQL, MySQL, MariaDB en MongoDB.

De eerste stap is het toevoegen van een meldingsintegratie. Meer informatie over beschikbare integraties is beschikbaar op Introductie van de ClusterControl Alerting-integraties:

ClusterControl-integraties

Voor deze demo heb ik Slack geconfigureerd:

ClusterControl Slack-integratie

ClusterControl biedt ook de mogelijkheid om via e-mail te informeren:

ClusterControl-meldingen via e-mail

Zodra er meldingen zijn, kunt u aangepaste adviseurs maken om waarschuwingen te activeren op basis van specifieke criteria:

ClusterControl Custom AdvisorsDownload vandaag de whitepaper PostgreSQL Management &Automation met ClusterControlLeer over wat u moet weten om te implementeren, bewaken, beheer en schaal PostgreSQLDownload de whitepaper

Conclusie

Het artikel was niet bedoeld om een ​​diepgaande duik te nemen in de functionaliteit van elke tool, maar ik probeerde te schetsen wat ik beschouw als de belangrijke functies met betrekking tot waarschuwingen en meldingen voor PostgreSQL, in het bijzonder.

Een van de geleerde lessen is dat bij het selectieproces rekening moet worden gehouden met verschillende factoren:

  • op locatie of SaaS
  • agent-gebaseerde of externe controle
  • integratie met incidentbeheersystemen en chatdiensten
  • beschikbaarheid van gecontroleerde statistieken, kant-en-klaar en plug-ins
  • mogelijkheid om aangepaste statistieken toe te voegen
  • functies voor waarschuwingsbeheer (bijv. groeperen)
  • complexiteit versus granulariteit in de gebruikersinterface
  • extra functionaliteit (beheer, afstemming, API, etc.)

Ook als één oplossing niet aan alle zakelijke en/of technische eisen voldoet, is het altijd mogelijk om een ​​combinatie van diensten te gebruiken.


  1. Gegevens invoegen via een functie met tabelwaarde in SQL Server

  2. Gratis veldhospitaaldatabase om de COVID-19-pandemie te bestrijden

  3. Hoe u het grootste rendement uit uw Microsoft Access-database kunt halen

  4. De rollen gebruiken die zijn veranderd in MySQL 8.0