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.