Přejít na hlavní obsah

Návody / Návody k monitoringu: každý typ kontroly krok za krokem

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í

Sekce Připojení k databázi se zobrazenými poli pro jméno a heslo DB uživatele, poznámkou, že kontroly se provádí ze dvou pevných IP adres HostTracker v severní Evropě, které je potřeba přidat do seznamu povolených ve firewallu databáze, a zapnutým přepínačem Retry on connect fail (opakovat pokus při selhání 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

Sekce Ověření odpovědi s prázdným textovým polem Dotaz zobrazujícím vzorové zástupné texty SELECT a UPDATE a souhrnem skupiny s textem jen test spojení

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 jako UPDATE, DELETE nebo INSERT - 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 pro UPDATE/INSERT s klauzulí OUTPUT), nebo Počet řádků, chcete-li přečíst, kolik řádků bylo ovlivněno (přirozená volba pro obyčejný UPDATE, DELETE nebo INSERT bez 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í

Sekce Odběry upozornění se zapnutým přepínačem Přihlásit všechny kontakty k událostem Up/Down a seznamem kontaktů se sloupci Down a Up vybranými pro jeden e-mailový kontakt

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

Sekce Odběry zpráv se zapnutým přepínačem Přihlásit všechny kontakty na týdenní/měsíční zprávy a kontaktem s vybranými sloupci Weekly a Monthly

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.172 a 20.107.152.200 jsou 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, DELETE nebo INSERT bez klauzule OUTPUT nemá 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 klauzuli OUTPUT, 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í

Zkontrolovat hned

Spusťte bezplatnou kontrolu na svém webu - bez registrace.

Database query monitoring

Sledovat trvale

Dostanete upozornění ve chvíli, kdy něco přestane fungovat: HostTracker kontroluje z více než 300 lokalit a upozorní vás e-mailem, SMS, přes Slack, Telegram a další.

Funkce HostTracker

Více v této sekci: Návody k monitoringu: každý typ kontroly krok za krokem