Návod na nastavení monitoringu databáze
Database kontrola se podle rozvrhu připojí k serveru databáze, potvrdí, že spojení proběhlo, a volitelně může spustit dotaz a posoudit jeho výsledek. Použijte ji, když kontrola založená na URL nestačí, protože to, co je potřeba hlídat, sedí za aplikací, ne před ní: naplňující se fond spojení, naplánovaná úloha, kvůli které tabulka přestala být aktuální, nebo dotaz, který dřív vracel jeden řádek a teď nevrátí žádný.
Než začnete
Database kontroly neběží z distribuované veřejné monitorovací sítě HostTracker tak, jako to dělá kontrola Http nebo Ping, takže tento formulář vůbec nemá sekci Lokality monitoringu. Místo toho se každá kontrola připojuje k vašemu serveru z vlastní privátní kontrolní infrastruktury HostTracker, ze dvou pevných zdrojových adres: 4.207.101.172 a 20.107.152.200 (severní Evropa). Než monitor uložíte, přidejte obě adresy na seznam povolených ve firewallu nebo bezpečnostní skupině serveru databáze a ujistěte se, že server přijímá spojení na svém portu z veřejného internetu, nebo alespoň z těchto dvou adres. Pokud port není dostupný, každá kontrola selže s chybou spojení bez ohledu na to, jak je nastavený zbytek monitoru.
Než začnete, nastavte samotný monitorovací účet: vytvořte uživatele databáze vyhrazeného pro kontrolu, přidělte mu jen to, co kontrola potřebuje (typicky pouze možnost připojit se, plus SELECT na tabulku, které se dotaz týká), a nepoužívejte znovu účet aplikace nebo administrátora. Pokud dotaz, který plánujete spouštět, mění data, dejte tomuto účtu právo zápisu jen na konkrétní zapojenou tabulku, nic širšího.
Cílová databáze
Tři pole určují, k čemu se kontrola připojuje, a stojí nad sbalitelnými sekcemi, protože jsou povinná:
- Typ serveru - rozbalovací seznam podporovaných poskytovatelů: Microsoft SQL Server, Oracle, MySQL, PostgreSQL a Firebird.
- Server : Port - hostname nebo IP serveru databáze a jeho port. Změna typu serveru automaticky vyplní obvyklý výchozí port daného poskytovatele (1433 pro SQL Server, 1521 pro Oracle, 3306 pro MySQL, 5432 pro PostgreSQL, 3050 pro Firebird) - přepsat ho musíte, jen pokud váš server naslouchá jinde.
- Databáze (nebo u Oracle místo toho Služba a Instance name (SID)) - název databáze, ke které se připojit. Pro Oracle můžete zadat název služby, SID, nebo obojí, podle toho, jak je nastavený váš listener.
Pod tím vám volitelné pole Název umožní monitor pojmenovat pro upozornění, reporty a widgety - užitečné, jakmile máte víc než jednu database kontrolu a potřebujete je na první pohled odlišit.
Hlavní nastavení
Tato skupina obsahuje rozvrh a dva obecné přepínače, které sdílí každý typ kontroly:
- Interval - jak často se kontrola spouští, na výběr od 10 minut do 24 hodin (10, 15, 30, 45 minut, pak 1, 2, 4, 6, 12 a 24 hodin), plus alternativa v podobě cron rozvrhu pro méně pravidelné časování. Database kontroly nenabízejí intervaly kratší než 10 minut, které mají některé jiné typy kontrol.
- Značky - volně zadané štítky pro seskupování a filtrování monitorů jinde v dashboardu.
- Úplný protokol - uloží každý jednotlivý výsledek kontroly místo jen seskupených souhrnů, užitečné, když potřebujete vidět přesné časy odezvy nebo hodnoty v čase, ne jen historii nahoře/dole.
- Veřejné statistiky - zpřístupní stránku statistik a logu tohoto monitoru ke sdílení, i s lidmi, kteří nejsou přihlášení.
Připojení

Protože cíl je už nastavený výše, tato sekce řeší, jak se kontrola autentizuje a jak se vypořádá s neúspěšným pokusem o spojení:
- Jméno uživatele DB a Heslo uživatele DB - přihlašovací údaje monitorovacího účtu popsaného výše. Obě pole jsou volitelná: nechte je prázdná, pokud vaše databáze umožňuje důvěryhodné nebo anonymní spojení z adresy na seznamu povolených, což u některých interních nastavení bývá.
- Samotný panel zobrazuje dvě zdrojové adresy, ze kterých se kontroly provádí (
4.207.101.172,20.107.152.200), s připomínkou přidat je do seznamu povolených ve firewallu vaší databáze - je to stejný požadavek, jaký je popsaný v sekci Než začnete, zopakovaný zde, protože právě tady jsou přihlašovací údaje. - Retry on connect fail (opakovat pokus při selhání připojení) - přepínač, ve výchozím stavu zapnutý, který jednou zopakuje pokus o spojení, než kontrolu označí jako neúspěšnou. Týká se jen samotného kroku spojení, ne dotazu.
Ověření odpovědi

Toto je klíčové rozhodnutí v database kontrole: jestli testujete, že spojení funguje, nebo že se konkrétní dotaz stále chová podle očekávání.
- Dotaz - nechte prázdné, a kontrola otestuje jen spojení: otevře se, zavře se, a to je celá kontrola. Vyplňte jakékoli SQL, které váš monitorovací účet smí spustit -
SELECT, nebo příkaz měnící data jakoUPDATE,DELETEneboINSERT- a kontrola ho spustí při každém dotazování a dokáže posoudit výsledek. - Výsledek dotazu (zobrazí se, jen když je dotaz vyplněný) - zvolte Skalární hodnota, chcete-li přečíst hodnotu z prvního sloupce prvního vráceného řádku (přirozená volba pro
SELECT, nebo proUPDATE/INSERTs klauzulíOUTPUT), nebo Počet řádků, chcete-li přečíst, kolik řádků bylo ovlivněno (přirozená volba pro obyčejnýUPDATE,DELETEneboINSERTbez vlastní sady výsledků). - Ověření výsledku - porovnání, které se na tuto hodnotu použije: Bez ověření (dotaz se jen musí spustit bez chyby), Rovné, Není rovno, Větší než, Menší než, V rozsahu, nebo Mimo rozsah. Volby větší/menší než a rozsah přidají jedno nebo dvě číselná pole, s přepínačem zahrnuto/vyloučeno na každé hranici rozsahu.
- Retry query on error (opakovat dotaz při chybě) - přepínač, ve výchozím stavu zapnutý, který jednou zopakuje spuštění dotazu, pokud selže, nezávisle na opakování na úrovni spojení výše.
Zvolte jen spojení, když potřebujete jen vědět, že je databáze dostupná a přijímá spojení - to zachytí zjevné výpadky. Zvolte dotaz s ověřením výsledku, když by samotná dostupnost minula skutečný problém: tabulku, která přestala dostávat nové řádky, uložený počet, který se odchýlil mimo běžný rozsah, nebo konkrétní data, která by tam měla být vždy.
Odběry upozornění

Vyberte, které kontakty se o tomto monitoru dozví a u kterých událostí - Up, Down a Repeat (opakovaná připomínka, dokud kontrola zůstává v Down). Jeden přepínač přihlásí všechny kontakty na Up/Down najednou, nebo si vyberte jednotlivé kontakty a události v tabulce pod ním.
Odběry zpráv

Odděleně od upozornění vyberte, kdo dostává pravidelné reporty o uptime a výkonu tohoto monitoru - denní, týdenní nebo měsíční - e-mailem.
Vzorový příklad
Sledování produkční databáze PostgreSQL, na které závisí aplikace: Typ serveru PostgreSQL, Server : Port db.example.com:5432, Databáze myapp_prod. V sekci Připojení je zadaný vyhrazený účet jen pro čtení a obě zdrojové IP jsou nejdřív přidané do bezpečnostní skupiny databáze. Pole Dotaz obsahuje SELECT COUNT(*) FROM orders WHERE created_at > now() - interval '1 hour', Výsledek dotazu je Skalární hodnota a Ověření výsledku je Větší než s limitem 0 - pokud za poslední hodinu nebyla zaznamenaná žádná objednávka, něco výše v řetězci přestalo zapisovat, a kontrola přejde do Down, i když je databáze dostupná. Interval je 15 minut, oba přepínače opakování zůstávají zapnuté, aby přechodný výkyv nespustil falešné upozornění, upozornění chodí celému týmu podle odběru Up/Down a týdenní report chodí vlastníkovi účtu.
Řešení problémů
- Každá kontrola selže s chybou spojení. Nejčastější příčinou je firewall, který nemá otevřené obě zdrojové adresy HostTracker - ověřte, že
4.207.101.172a20.107.152.200jsou na seznamu povolených a že je pro ně otevřený i samotný port. - Spojení se podaří, ale autentizace selže. Zkontrolujte, že jméno a heslo DB uživatele jsou správné a že má účet oprávnění připojit se ke jmenované databázi, ne jen k serveru.
- Dotaz, který v klientském nástroji funguje bez problémů, tady nevrátí nic. Obyčejný
UPDATE,DELETEneboINSERTbez klauzuleOUTPUTnemá sadu výsledků, kterou by šlo přečíst jako Skalární hodnota - přepněte Výsledek dotazu na Počet řádků, nebo přidejte klauzuliOUTPUT, pokud potřebujete data řádku zpátky. - Ověření výsledku se nikdy nespustí. Ověřte, že porovnání a číselná pole odpovídají rozsahu, který očekáváte: hranice nastavená jako vyloučená místo zahrnuté je snadný způsob, jak zařídit, aby se limit nikdy nespustil.
- Občasná ojedinělá selhání, u kterých máte podezření, že jsou přechodná. Oba přepínače opakování jsou ve výchozím stavu zapnuté a už jednou opakují pokus, než kontrolu označí za neúspěšnou - pokud jsou selhání i přesto častá, problém bude spíš skutečný, spojený se spojením nebo dotazem, ne jen šum.
Související
- Monitoring databázových dotazů - produktová stránka pro tento typ kontroly.
- Návod na monitoring CPU, RAM a disku - další kontrola, která běží z privátní infrastruktury HostTracker místo veřejné sítě, užitečná spolu s database kontrolou na stejném serveru.
- Návod na monitoring SNMP - pro čtení hodnot přímo ze síťového hardwaru místo databáze.
- Assertion mode a pravidla pro validaci odpovědi - jazyk pravidel pro validaci odpovědi používaný i u dalších typů kontrol HostTracker.
- Všechny funkce monitoringu HostTracker - podívejte se na všechny typy kontrol vedle sebe.
- 503 Service Unavailable - stav, který web vrátí, když databáze za ním přestane odpovídat.
- Všechny návody k monitoringu - návod na nastavení pro každý další typ kontroly.