Nový ping engine a jeho nastavení

Share
06. 06. 2019

Jelikož jsme na Helpdesku zaznamenali větší množství dotazů týkajících se nového způsobu práce s pingem a nových grafů, rozhodli jsme se pro vás zpracovat podrobnější popis toho, jak to vlastně vše funguje.

Proč jsme přišli s touto novinkou?

Ve verzi 5.06 jsme do ISPadmina implementovali nový ping engine a ping grafy. Změnil se tak celkový přístup k testování dostupnosti routerů, zařízení, modemů, switchů a klientů. Naše rozhodnutí vyplynulo ze zkušeností a pozorování. Zjistili jsme totiž, že starší typ „pingání“ již zcela nesplňuje výkonnostní požadavky, které se zvyšují s neustále se zvyšujícím počtem sledovaných zařízení a klientů. Navíc nebyl předešlý systém příliš flexibilní v možnostech uživatelského nastavení. Tímto jsme tedy chtěli jednotlivým uživatelům dát příležitost si systém přizpůsobit svým vlastním potřebám, které jsou čistě individuální.

V čem je nový engine jiný?

ISPadmin nyní zpracovává frontu, která se plní IP adresami z různých zdrojů (routery, switche, koncová zařízení, IP klientů, modemy, … – tedy „vše, co má IP adresu“). Každá IP adresa je zařazena do skupiny dle typu zařízení a každé této skupině je možné nastavit určité chování pingu.

Na pozadí se vytvoří dávky IP adres a ty se začnou paralelně zpracovávat. Výsledkem je velké množství souběžného testování hostů a získávání informací o dostupnosti pro následné vykreslení grafů.

Všechny statistické informace se ukládají do databáze Influx, která je speciálně určená pro tento účel.

Jak systém nastavit?

Individuální a systémové nastavení

  • Hardware / Nastavení / Nastavení pingu / Individuální
  • Hardware / Nastavení / Nastavení pingu / Systémové

U každého zařízení (IP) nebo skupiny zařízení lze nastavit konkrétní chování pingu.

K dispozici jsou následující parametry:

  • Aktivní: Jednotlivé skupiny hostů je možné aktivovat/deaktivovat pro účely sledování dostupnosti. Výjimku tvoří pouze skupina Routery. Ta je vždy aktivní. Změny zde provedené se automaticky aplikují do jedné minuty.
  • Size: Velikost paketu v bytech (včetně hlavičky). Touto velikostí se „pingá“ na koncovou IP adresu.
  • Timeout: Čas (v sekundách), po jehož uplynutí systém vyhodnotí hosta jako nedostupného. Na výběr jsou přednastavené hodnoty 1 a 2 sekundy.
  • Count: Počet poslaných pingů na jednoho hosta. Z tohoto počtu se vypočítává průměrná, maximální a minimální hodnota pro následné zobrazení v grafu.
  • Interval: Interval mezi jednotlivými pingy na jednoho hosta (počet opakování dán hodnotou Count)
  • Perioda: Čas (v minutách), po jehož uplynutí se opakuje testování dostupnosti hosta.
  • Platné do: Datum expirace daného testu dostupnosti. Tato volba je aktivní jen u nastavení konkrétního zařízení. Není možné ji definovat u skupiny.

Nastavení globálních proměnných

  • Hardware / Nastavení / Nastavení pingu / Systémové

Na výše uvedené stránce je možné nastavit následující globální proměnné ovlivňující fungování ping enginu:

  • Počet pingů v jednom procesu: Počet hostů (IP adres) v jedné dávce (procesu)
  • Počet procesů ping: Počet dávek (procesů) souběžně zpracovávaných v jednom okamžiku
  • Zpoždění spouštěných procesů: Časová prodleva při spouštění dalších procesů (v sekundách). Nastavením této položky lze zajistit, aby se systém příliš nezahlcoval.
  • Velikost ukládací cache DB Influx: Velikost vyrovnávací cache pro Influx. Uvedená hodnota vyhovuje 99 % systémů. Příliš malá hodnota by způsobila časté promazávání a ukládání dat a vyšší režii systému. Vysoká hodnota by mohla způsobit přeplnění http GET requestu a ztrátu ukládaných dat.

Testování hostů pracuje s dávkami IP adres (proces). Tyto dávky se zpracovávají paralelně. Je potřeba si uvědomit, že v jednom okamžiku se může zpracovávat velké množství testovaných IP adres, což znamená, že se v daném okamžiku vysílá a zpracovává velké množství požadavků na dostupnost (ICMP – ping reguest). Toto množství je dáno počtem IP adres v dávce a počtem souběžně zpracovávaných dávek. Do hry navíc vstupují i nastavené parametry pro jednotlivé skupiny hostů a individuální nastavení hostů mimo definované skupiny. Celý tento složitý a na výkon náročný mechanismus ovlivňuje jak výsledky samotného pingu, tak i zatížení serveru.

Příklad

Pokud máte nastaveno 200 hostů v dávce a 5 souběžně spouštěných dávek, pak systém vygeneruje v jednom okamžiku 1 000 ping requestů. Při 10 opakováních u každého testování s intervalem 0,1 sekundy systém vygeneruje v průběhu 1 sekundy 10 000 ping requestů.

Systém je navržen tak, aby nebylo spuštěno více než zadané množství dávek (procesů) naráz (nastavení Počet procesů ping). Pokud je celkové množství všech hostů (IP) například 50 000, může ping engine pracovat a zatěžovat systém 2 minuty. To pak má vliv na celkovou stabilitu systému a na údaje získané z výstupu pingu.

Doporučení

Pokud ztrátovost paketů neodpovídá očekávaným hodnotám, proveďte následující minimalistické nastavení:

Globální proměnné:

  • Počet pingů v jednom procesu: 50
  • Počet procesů ping: 1
  • Zpoždění spouštěných procesů: 1 s

Systémové nastavení:

  • Všechny skupiny kromě Routerů jsou neaktivní.
  • U skupiny Routery je nastaveno toto:
    • Size: 56 B
    • Timeout: 1 s
    • Count: 3
    • Interval: 0,5 s
    • Perioda: 1 min (pouze pro testování, následně zpět nastavit na 5 min)

Pokud se systém ustálí, pomalu přidávejte skupiny hostů a zvyšujte počet procesů a hostů v procesu.

Systém pro testování dostupnosti je podstatně odlišný od minulého pojetí, a proto i výsledky v grafech jsou odlišné. Je to dáno principem zpracování a hlavně propustností systému.

Pomohl Vám tento článek?