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-meldingsvoorkeurenGa naar de pagina "Meldingsmethoden" om de soorten meldingen te configureren:
Nagios XI-meldingsmethodenZie de Nagios XI Gebruikershandleiding voor meer details.
Om waarschuwingen te configureren, logt u in als beheerder en selecteert u de databaseconfiguratiewizard:
Wizard Nagios XI-databaseconfiguratieEenmaal 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-monitorenHoud 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-queryDatadog
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-integratiesOm 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-integratieDe eerste stap bij het configureren van de monitor is het selecteren van een waarschuwingstype:
Datadog-detectiemethodeConfigureer vervolgens een of meer statistieken:
Datador Metrics-configuratieConfigureer de voorwaarden voor het activeren van de waarschuwing:
Datadog-waarschuwingstriggerMeldingen kunnen worden aangepast met behulp van sjabloonvariabelen:
Datadog Postgres-integratieGeef ten slotte een lijst met ontvangers om meldingen te ontvangen:
Ontvangers van Datadog-meldingenDe 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-integratiestatistiekenOm 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-autotriggersOm meer PostgreSQL-statistieken te krijgen, moet een PostgreSQL-"server" worden toegevoegd:
Okmeter - Een server toevoegenOm 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-contactmeldingMeldingsberichten kunnen verder worden aangepast met behulp van sjablonen:
Sjabloon voor Okmeter-meldingenCirconus
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 instellenVolgens 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-controleOm waarschuwingen te configureren, is elke statistiek gekoppeld aan een set regels en een lijst met contactpersonen die op de hoogte moeten worden gesteld.
Circonus-statistiekdetailsWaarschuwingen worden gecategoriseerd op basis van ernstniveaus:
Circonus-regels voor ernstniveausMeldingskanalen zijn onder meer SMS, OpsGenie, Slack, VictorOps en PagerDuty (geen e-mail). De onderstaande schermafbeelding toont een Slack-integratie:
Circonus-contactgroepenOm 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-regelsetsNieuwe 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 MedoraZodra de plug-in werkt, wordt deze zichtbaar op de pagina met plug-ins en zijn we klaar om waarschuwingen te configureren:
Instelling nieuwe relikwiewaarschuwingenNew 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-kanaaltypenHoud er rekening mee dat de integratie eerst moet worden ingeschakeld in de meldingstoepassing. Selecteer bijvoorbeeld Slack uit de lijst met kanaaltypes:
Nieuwe Relic Slack-integratieMaak vervolgens een "waarschuwingsbeleid":
Nieuw relikwie-waarschuwingsbeleidEen 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-voorwaardedrempelSelecteer ten slotte het tabblad meldingskanalen om de standaard te wijzigen:
Nieuwe Relic PostgreSQL-meldingskanalenVoeg optioneel de waarschuwingsvoorwaarde toe aan New Relic Insights (aanvullend abonnement vereist):
Nieuwe overblijfselenPostgres 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 ManagerGebruik de waarschuwingssjablonen om de standaardwaarschuwingen te wijzigen of aangepaste waarschuwingen te maken:
Postgres Enterprise Manager aangepaste waarschuwingssjabloonPEM 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-waarschuwingenpgwatch2
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-statistiekenConfigureer vervolgens de waarschuwing:
pgwatch2 Dashboard-waarschuwingsconfiguratieEenmaal geconfigureerd, worden de waarschuwingen weergegeven op de pagina met de lijst met waarschuwingen:
pgwatch2 Dashboard-waarschuwingslijstpgwatch2 integreert met alle populaire meldingssystemen. Hier is een voorbeeld van het toevoegen van een Slack-kanaal:
pgwatch2 Slack-integratieOpen de pagina "Meldingskanalen" om de meldingskanalen te bekijken die in het systeem zijn geconfigureerd:
pgwatch2 MeldingskanalenAanvullende 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-integratiesVoor deze demo heb ik Slack geconfigureerd:
ClusterControl Slack-integratieClusterControl biedt ook de mogelijkheid om via e-mail te informeren:
ClusterControl-meldingen via e-mailZodra 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 whitepaperConclusie
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.