V rámci svého podnikového monitorovacího systému spoléhají organizace na výstrahy a oznámení jako na svou první obrannou linii k dosažení vysoké dostupnosti a následně ke snížení nákladů na výpadky.
Upozornění a upozornění se někdy používají zaměnitelně, například můžeme říci „Obdržel jsem upozornění na vysoké zatížení systému“ a nahrazení „upozornění“ za „upozornění“ nezmění význam zprávy. Ve světě systémů pro správu je však důležité poznamenat rozdíl:výstrahy jsou události generované v důsledku systémové poruchy a oznámení se používají k doručení informací o stavu systému, včetně problémů. Například blog Somenines Introducing the ClusterControl Alerting Integrations pojednává o jedné z integračních funkcí ClusterControl, o oznamovacím systému, který je schopen doručovat výstrahy prostřednictvím e-mailu, chatovacích služeb a systémů správy incidentů. Viz také PostgreSQL Wiki — Alerts and Status Notifications.
Aby bylo možné přesně monitorovat aktivitu databáze PostgreSQL, spoléhá systém správy na metriky aktivity databáze, vlastní funkce nebo poradce monitorování a soubory protokolu monitorování.
V tomto článku přezkoumám nástroje uvedené na PostgreSQL Wiki, sekce Monitoring a PostgreSQL GUI, přičemž vynechám ty, které nejsou aktivně udržovány nebo neposkytují upozornění a upozornění buď v rámci produktu, nebo pomocí bezplatného zkušebního účtu. I když to není vyčerpávající přehled, každý nástroj byl nainstalován a nakonfigurován až do bodu, kdy jsem pochopil jeho možnosti upozornění a upozornění.
Nagios
Nagios je populární on-premise obecný monitorovací systém, který nabízí širokou škálu pluginů. Zatímco Nagios Core je open source, doporučeným řešením pro monitorování PostgreSQL je Nagios XI.
Nastavení oznámení platí pro každého uživatele a aby je mohl změnit, musí se administrátor „přihlásit jako“ uživatel — Nagios používá výraz maškaráda . Jakmile se uživatel dostane na stránku nastavení účtu, může povolit nebo zakázat způsoby upozornění:

Chcete-li nakonfigurovat typy oznámení, přejděte na stránku „Metody oznámení“:

Další podrobnosti naleznete v uživatelské příručce Nagios XI.
Chcete-li nakonfigurovat výstrahy, přihlaste se jako správce a vyberte průvodce konfigurací databáze:

Po nakonfigurování lze výstrahy zobrazit výběrem libovolného z výchozích zobrazení, panelů nebo můžeme nakonfigurovat vlastní. Nagios XI poskytuje následující monitory PostgreSQL:

Všimněte si, že Nagios XI po vybalení nenabízí žádné metriky založené na sběrači statistik PostgreSQL, místo toho musí být každá metrika definována pomocí konfiguračního průvodce „Postgres Query“:

Datový pes
Datadog je univerzální nástroj pro monitorování SaaS, který obsahuje velmi rozsáhlou sadu integrací s různými službami. Chcete-li zahájit monitorování, vyberte integraci PostgreSQL a poté vyberte integrace oznámení, jako je e-mail, chat (např. Slack) nebo systémy odezvy na incidenty, jako je PagerDuty:

Abychom mohli přijímat upozornění prostřednictvím dříve nakonfigurovaných integračních kanálů, musíme vytvořit alespoň jeden monitor Datadog, v případě sledování PostgreSQL typ monitoru „integrace“:

Prvním krokem při konfiguraci monitoru je výběr typu výstrahy:

Dále nakonfigurujte jednu nebo více metrik:

Nakonfigurujte podmínky pro spuštění výstrahy:

Oznámení lze přizpůsobit pomocí proměnných šablony:

Nakonec uveďte seznam příjemců, kteří mají dostávat oznámení:

Události, které může Datadog monitorovat, jsou uvedeny v části „Metriky“ integrace PostgreSQL a jsou založeny na předdefinovaných pohledech PostgreSQL Statistics Collector:

Aby bylo možné sledovat události, které nejsou poskytovány s výchozí integrací, poskytuje Datadog zákazníkům možnost vytvářet vlastní metriky omezené na plán Datadog.
Okmetr
Okmeter je také součástí rodiny monitorování SaaS pro obecné účely a stejně jako ostatní nástroje SaaS vyžaduje agenta na monitorovaném hostiteli. Jakmile je agent nainstalován, je povolena sada výchozích spouštěčů událostí, včetně kontroly připojení PostgreSQL:

Získání dalších metrik PostgreSQL vyžaduje přidání PostgreSQL „serveru“:

Abychom mohli sledovat statistiky PostgreSQL, podobně jako u Nagios a Datadog, musíme nakonfigurovat vlastní metriky, jak je vysvětleno v Okmeter Documentation — Sending Custom metrics. Nebo upravte metriku „PostgreSQL server“ výše tak, aby byla zahrnuta pro zobrazení ve funkci „okmeter.pg_stats“.
Stránka dokumentace statistik dotazů Okmeter vysvětluje, jak povolit sledování statistik provádění pro příkazy SQL. Všimněte si, že při používání pohledů „pg_stat_statements“ existuje několik omezení, např. maximální počet odlišných příkazů, které může modul zaznamenat — podrobnosti najdete v dokumentaci PostgreSQL na pg_stat_statements.
Na stránce s kontakty oznámení se konfigurují oznámení pro každého uživatele:

Notifikační zprávy lze dále upravit pomocí šablon:

Cirkonus
Circonus, další obecný monitorovací produkt SaaS, obsahuje „kontrolu“ PostgreSQL, kterou lze povolit jednotlivě nebo přidat jako součást instalace v jednom kroku:

Podle dokumentace Circonus PostgreSQL se kontrola provádí ze vzdáleného místa pomocí přímých příkazů SQL. Po konfiguraci hostitele PostgreSQL tak, aby přijímal připojení od brokera Circonus, průvodce nabídne seznam dostupných metrik:

Aby bylo možné konfigurovat upozornění, je každá metrika spojena se sadou pravidel a seznamem kontaktů, které mají být upozorněny.

Upozornění jsou kategorizována podle úrovní závažnosti:

Mezi kanály oznámení patří SMS, OpsGenie, Slack, VictorOps a PagerDuty (žádný e-mail). Níže uvedený snímek obrazovky ukazuje integraci Slack:

Aby bylo možné konfigurovat oznámení, musí mít každá metrika v kontrole přiřazena pravidla a kontakty. Upozorňujeme, že kontakty je nutné vytvořit před úpravou metriky:

Nová relikvie
New Relic je další obecný monitorovací systém SaaS. Pokud jde o PostgreSQL, existují (v době psaní tohoto článku) tři dostupné pluginy. Nejnovější je plugin Blue Medora:

Jakmile plugin funguje, bude viditelný na stránce pluginů a jsme připraveni nakonfigurovat upozornění:

New Relic využívá koncept zásad výstrah k seskupování výstrah do incidentů. Před konfigurací zásady musíme nastavit kanály oznámení. Po vybalení se New Relic integruje se všemi oblíbenými systémy reakce na incidenty a také s e-mailem:

Všimněte si, že integrace musí být nejprve povolena v oznamovací aplikaci. Například výběrem Slack ze seznamu typů kanálů:

Dále vytvořte „zásadu výstrah“:

Zásada výstrahy vyžaduje „podmínku výstrahy“. Další sada snímků obrazovky ukazuje kroky, jak toho dosáhnout:



Nakonec vyberte kartu oznamovacích kanálů, abyste mohli upravit výchozí:

Volitelně přidejte podmínku výstrahy do New Relic Insights (vyžaduje další předplatné):

Postgres Enterprise Manager
PEM nebo Postgres Enterprise Manager je nástroj pro správu, ladění a monitorování PostgreSQL.
Dodává se s velmi bohatou sadou předdefinovaných metrik:

Chcete-li upravit výchozí výstrahy nebo vytvořit vlastní výstrahy, použijte šablony výstrah:

PEM se při upozorňování spoléhá na e-mail a SNMP, takže jej lze snadno integrovat s monitorovacími systémy, jako je Nagios, ale neexistují žádné integrace s oblíbenými systémy správy incidentů (PagerDuty, VictorOps, OpsGenie) nebo chatovacími službami (Slack), které lze nalézt v ostatní produkty.

pgwatch2
pgwatch2 je další monitorovací nástroj zaměřený na PostgreSQL, řešení s vlastním hostitelem.
Abychom mohli definovat upozornění, musíme nejprve vytvořit vlastní řídicí panel a definovat metriku:

Dále nakonfigurujte upozornění:

Po nakonfigurování se výstrahy zobrazí na stránce Seznam výstrah:

pgwatch2 se integruje se všemi oblíbenými oznamovacími systémy. Zde je příklad přidání kanálu Slack:

Chcete-li zobrazit kanály oznámení nakonfigurované v systému, otevřete stránku „Kanály oznámení“:

Další metriky lze přidat, jak je zdokumentováno v části Funkce pgwatch2.
ClusterControl
ClusterControl je místní databázově orientovaný systém správy s podporou PostgreSQL, MySQL, MariaDB a MongoDB.
Prvním krokem je přidání integrace oznámení. Další informace o dostupných integracích jsou k dispozici na stránce Představení integrací výstrah ClusterControl:

Pro účely této ukázky jsem nakonfiguroval Slack:

ClusterControl také nabízí možnost upozornění e-mailem:

Jakmile budou oznámení zavedena, vytvořte si vlastní poradce, aby bylo možné spouštět výstrahy na základě konkrétních kritérií:

Závěr
Tento článek nebyl zamýšlen jako hluboký ponor do funkčnosti jednotlivých nástrojů, spíše jsem se pokusil nastínit to, co jsem považoval za důležité funkce související s upozorňováním a upozorněním pro PostgreSQL, konkrétně.
Jedním z poučení je, že proces výběru by měl vzít v úvahu několik faktorů:
- on premise nebo SaaS
- agentní nebo vzdálená kontrola
- integrace se systémy správy incidentů a chatovacími službami
- dostupnost monitorovaných metrik a pluginů
- možnost přidávat vlastní metriky
- Funkce správy výstrah (např. seskupování)
- složitost versus granularita uživatelského rozhraní
- další funkce (správa, ladění, rozhraní API atd.)
Také pokud jedno řešení nesplňuje všechny obchodní a/nebo technické požadavky, je vždy možné použít kombinaci služeb.