Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:spravce:monitoring:end2end_monitoring [2018/08/15 18:49] – [FAKE-UID] semik@cesnet.cz | cs:spravce:monitoring:end2end_monitoring [2024/05/17 10:30] (aktuální) – odstraněno Jan Čáslavský | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== end2end monitoring ====== | ||
- | ===== Úvod ===== | ||
- | |||
- | Na základě zkušeností s zaváděním // | ||
- | že monitoring postavený jen na kontrole stavu jednotlivých RADIUS | ||
- | serverů není dostatečný. Docházelo totiž k případům, | ||
- | konfiguraci na některé z organizaci vedla k tomu, že se návštěvníci | ||
- | nemohli získat přístup k síti ale monitoring nás na toto neupozornil | ||
- | předem. | ||
- | |||
- | Ideální by asi bylo mít možnost instalovat do každé připojené | ||
- | instituce počítač s WiFi kartou a příslušným softwarovým vybavením. To | ||
- | by ale bylo dosti nákladné a administrativně jen velmi obtížně | ||
- | realizovatelné. | ||
- | |||
- | CESNETem implementované řešení používá k monitorování jediný k tomuto | ||
- | účelu vyhrazený počítač. Tento počítač je nezávislý na //eduroam// | ||
- | infrastruktuře a s jednotlivými RADIUS servery organizací zapojenými | ||
- | do // | ||
- | provozován, | ||
- | nutné, aby měl přístup k RADIUS serveru organizace, který se běžně | ||
- | stará o vyřizování dotazů z AP. | ||
- | |||
- | Díky přímému přístupu ke koncovým RADIUS serverům a faktu, že pro | ||
- | testování se používají testovací účty všech zapojených institucí, se | ||
- | jedná o testování každého s každým, tedy o end2end monitoring. Výhodou | ||
- | tohoto monitoringu je kromě získání informací, kde mohou mít | ||
- | návštěvníci z některých institucí problém s přístupem, | ||
- | nezohledňuje transport dotazů mezi RADIUS serverem hostitelské a | ||
- | domácí instituce. Díky tomu bude tento monitoring použitelný i v | ||
- | případě, že v budoucnu dojde k vyřazení proxy serverů a komunikace | ||
- | mezi zapojenými institucemi bude probíhat přímo. | ||
- | |||
- | ===== Zátěž generovaná monitoringem ===== | ||
- | |||
- | {{ : | ||
- | |||
- | Nevýhodou tohoto způsobu monitorování je, že systém generuje podstatně | ||
- | vyšší zátěž než jak tomu bylo v minulosti. Zátěž se pochopitelně | ||
- | agreguje na proxy serverech, ale i koncové RADIUS servery organizací | ||
- | musí vyřídit nemalé množství dotazů. | ||
- | |||
- | Na obrázku je znázorněna situace z pohledu monitoringu. Pro monitoring | ||
- | není podstatné, že komunikace je realizována prostřednictvím NREN | ||
- | proxy RADIUS serverů. Také není moc podstatné, že některé instituce | ||
- | mají dva RADIUS servery a jiné jen jeden. Hrubě řečeno - monitorující | ||
- | systém má k dispozici seznam serverů a seznam testovacích účtů, | ||
- | testuje každý s každým a nic víc nepotřebuje. | ||
- | |||
- | To, že pro monitoring není podstatná znalost zapojení infrastruktury, | ||
- | zjednodušení, | ||
- | zátěže. Implementovaný monitoring pochopitelně bere ohled na zapojení | ||
- | infrastruktury. Ve výpočtu zohledňuji pouze fakt, že dotaz s funkčním | ||
- | testovacím účtem stojí podstatně méně zdrojů, než dotaz s testovacím | ||
- | účtem, jehož domácí RADIUS server neodpovídá. To je dáno tím, že | ||
- | monitoring musí dlouho čekat než vyprší timeouty a RADIUS servery po | ||
- | cestě musí zkoušet opakovat dotazy na protějšek, | ||
- | |||
- | ==== Odvození teoretické zátěže ==== | ||
- | |||
- | |**RS** |Počet monitorovaných RADIUS serverů. | | ||
- | |**TA** |Počet testovacích účtů (test account). | | ||
- | |**N< | ||
- | |**N< | ||
- | | || | ||
- | |**Q< | ||
- | |**Q< | ||
- | |**Q< | ||
- | |**Q< | ||
- | |||
- | ==== Vypočtená teoretická zátěž ==== | ||
- | |||
- | Zátěž celé infrastruktury závisí na počtu zapojených organizací | ||
- | **TA**, počet RADIUS serverů je odvozen od počtu testovacích účtů: | ||
- | **RS=1.5*TA**. **N< | ||
- | intervalu 1 hodiny se cizí účty testují 2x a vlastní | ||
- | (lokální) každých 5min. Po dosazení jsem dostal tato čísla: | ||
- | |||
- | | ^ **TA=20, RS=30** ^^ **TA=50, RS=75** ^^ **TA=500, RS=750** ^^ **TA=2000, RS=3000** ^^ | ||
- | ^server organizace | 108| 0,03| | ||
- | ^NREN servery | ||
- | |||
- | Čísla v prvním sloupci představují absolutní počet vyřízených dotazů | ||
- | za hodinu, hodnota v druhém sloupci je přepočtena na vteřinu. Je třeba | ||
- | mít na paměti, že množství paketů bude o jeden řád vyšší. V tabulce | ||
- | jsou uvedeny EAP dotazy, což např. v případě PEAP-MSCHAPv2 znamená 10 | ||
- | RADIUS paketů na vyřízení. Chcete-li si s výpočty pohrát, je k | ||
- | {{: | ||
- | OpenOffice Calc Sheet}}, který jsem použil. | ||
- | |||
- | Z čísel je tedy vidět, že pro koncové servery není monitoring žádným | ||
- | rizikem, problémy se objeví mnohem dříve na NREN RADIUS | ||
- | serverech. Reálné výkonnostní parametry v tento okamžik nemám k | ||
- | dispozici, ale očekávám, | ||
- | paketů za vteřinu. | ||
- | |||
- | Výše uvedené má zásadní podmínku v tom, že testování musí být v čase | ||
- | rovnoměrně rozprostřeno. To se zhruba daří splnit, jak ukazují | ||
- | [[https:// | ||
- | počtu]] testovacích procesů. Další informace o | ||
- | [[: | ||
- | jsou k dispozici v samostatném článku. | ||
- | |||
- | ===== Služby monitorované na serverech připojených organizací ===== | ||
- | |||
- | ==== ==== | ||
- | |||
- | {{ : | ||
- | |||
- | Na každém serveru organizace je monitorována řada služeb. Jejich | ||
- | význam, závislosti na ostatních službách dalších serverů a vzájemné | ||
- | závislosti jsou popsány dále. Na připojeném obrázku můžete vidět, jak | ||
- | Nagios tyto služby vizualizuje. | ||
- | |||
- | === Ikona přeškrtlé trumpetky === | ||
- | |||
- | Naznačuje, u kterých služeb se **ne**posílá notifikace. | ||
- | |||
- | === Sloupec "Last check" === | ||
- | |||
- | Udává, kdy naposledy byla služba kontrolována. Pokud služba nemá | ||
- | splněnu některou ze závislostí, | ||
- | testy. Například když není povolen přístup pro ping z monitorovacího | ||
- | systému, tak se netestují žádné služby, ale Nagios stále zobrazuje | ||
- | poslední známý stav služby. | ||
- | |||
- | === Sloupec " | ||
- | |||
- | Udává, jak dlouho setrvává služba v HARD stavu. Například služba IPSEC | ||
- | měla poslední zaznamenaný výpadek před 18hodinami. To ale ještě | ||
- | neznamená, že došlo k notifikaci o výpadku. Detailnější informace jsou | ||
- | k dispozici po kliknutí na jméno služby a následně na | ||
- | [[http:// | ||
- | Availability Report For This Service" | ||
- | |||
- | ==== PING ==== | ||
- | * testuje se odpověď na ICMP echo request | ||
- | * závisí na **gw/PING** | ||
- | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
- | * normální perioda testování je **5 minut** | ||
- | * v případě výpadku se testuje každou **1 minutu** | ||
- | * notifikace se **posílají** správcům serveru a správcům eduroam.cz | ||
- | |||
- | |||
- | |||
- | ==== IPSEC ==== | ||
- | * tato služba je testována jen na RADIUS serverech, které tvoří infrastrukturu a jsou připojeny pomocí IPSEC, není k dispozici u serverů sloužících jen pro monitoring | ||
- | * testuje se odpověď na ICMP echo request skrz IPSEC tunel | ||
- | * test se spouští přes vzdálené volání pomocí nrpe na radius1.eduroam.cz | ||
- | * závisí na: | ||
- | * **PING** | ||
- | * **radius1.eduroam.cz/ | ||
- | * **radius1.eduroam.cz/ | ||
- | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
- | * normální perioda testování je **5 minut** | ||
- | * v případě výpadku se testuje každou **1 minutu** | ||
- | * notifikace se **posílají** správcům serveru a správcům eduroam.cz | ||
- | |||
- | |||
- | ==== RADSEC ==== | ||
- | * tato služba je testována jen na RADIUS serverech, které tvoří infrastrukturu a jsou připojeny pomocí RADSEC, není k dispozici u serverů sloužících jen pro monitoring | ||
- | * testuje zda jsou navázána RADSEC spojení oběma směry | ||
- | * test se spouští přes vzdálené volání pomocí nrpe na radius1.eduroam.cz | ||
- | * závisí na: | ||
- | * **PING** | ||
- | * **radius1.eduroam.cz/ | ||
- | * CRITICAL-HARD stav nastává po **10**ti pokusech, tj. max po 5+9*1=**14 minutách** od výpadku | ||
- | * normální perioda testování je **5 minut** | ||
- | * v případě výpadku se testuje každou **1 minutu** | ||
- | * notifikace se **posílají** správcům serveru a správcům eduroam.cz | ||
- | |||
- | ==== BIG-PACKET ==== | ||
- | |||
- | * test přenosu fragmentovaných UDP paketů | ||
- | * závisí na **domácím realmu** | ||
- | * test se provádí s účtem big-packet@cesnet.cz což je specielní účet s velkým Access-Acceptem. Pokud testovaný server zvládne tento paket doručit na ermon, tak to znamená že je schopen přijmnout (z národního RADIUSu) ale i odeslat (na ermon) fragmentový UDP paket. | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **12 hodin** | ||
- | * notifikace se posílají pro CRITICAL (timeout) a WARNING (access-reject) stavy | ||
- | |||
- | ==== VCELKA-MAJA ==== | ||
- | |||
- | * test přeposílání vnitřní EAP identity, více viz [[ | ||
- | https:// | ||
- | * závisí na **domácím realmu** | ||
- | * CRITICAL-HARD nastává po **3** neúspěných pokusech | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **12 hodin** | ||
- | * notifikace se posílají pro CRITICAL (timeout) a WARNING (access-reject) stavy | ||
- | |||
- | ==== INSTITUTION-XML ==== | ||
- | |||
- | * test existence souboru [[: | ||
- | * URL souboru institution.xml se bere z definice realmu organizace v CESNET CAAS, testuje se na existenci stringu inst_realm ve staženém dokumentu | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **3 hodiny** | ||
- | * notifikace se posílají 1x za 2 dny pro CRITICAL stav | ||
- | |||
- | ==== domácí realm ==== | ||
- | |||
- | * domácí realm je ten, pro který je server koncovým | ||
- | * domácích realmů může být na jednom serveru definováno několik | ||
- | * tento test testuje, jestli na serveru **funguje RADIUS** server | ||
- | * závisí na **PING** | ||
- | * CRITICAL-HARD stav nastává po **3** pokusech, tj. max po 5+10*(3-1)=**25 minutách** od výpadku | ||
- | * normální perioda testování je **5 minut** | ||
- | * v případě výpadku se testuje každých **10 minut** | ||
- | * notifikace se **posílají** správcům serveru, správcům realmu a správcům eduroam.cz | ||
- | |||
- | |||
- | ==== realmy ostatních organizací ==== | ||
- | |||
- | * tento test simuluje návštěvu uživatele z cizí organizace | ||
- | * závisí na: | ||
- | * **PING**, tj. jestli je server živý | ||
- | * **IPSEC**, tj. jestli má server živé spojení alespoň s jedním RADIUS serverem. Tato podmínka se uplaťnuje, jen když tento server tvoří eduroam.cz infrastrukturu. | ||
- | * **domácí realm**, tj. jestli na serveru funguje RADIUS | ||
- | * **domácí server testovaného realmu/ | ||
- | * CRITICAL-HARD stav nastává po **3** pokusech, tj. max po 180+120*(3-1)=**420 minutách = 7 hodinách ** od výpadku | ||
- | * normální perioda testování je **180 minut** | ||
- | * v případě výpadku se testuje každých **120 minut** | ||
- | * notifikace se **ne**posílají | ||
- | |||
- | ==== CALLING-STATION-ID ==== | ||
- | |||
- | * test že SP posílá vyplněný RADIUS atribut Calling-Station-Id | ||
- | * týká se pouze serverů, které jsou napojeny na národni RADIUS přímo | ||
- | * test je implementován na základě dat z logů národního RADIUS serveru, podklady pro sondu se **aktualizují jednou za hodinu** | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **3 hodiny** | ||
- | * notifikace se neposílají < | ||
- | |||
- | ==== OPERATOR-NAME ==== | ||
- | |||
- | * test že SP posílá vyplněný RADIUS atribut Operator-Name, | ||
- | * týká se pouze serverů, které jsou napojeny na národni RADIUS přímo | ||
- | * test je implementován na základě dat z logů národního RADIUS serveru, podklady pro sondu se aktualizují **jednou za hodinu** | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **3 hodiny** | ||
- | * notifikace se neposílají < | ||
- | |||
- | ==== CHARGEABLE-USER-IDENTITY ==== | ||
- | |||
- | * test že SP posílá vyplněný RADIUS atribut Chargeable-User-Idenity | ||
- | * test probíhá z CESNETích RADIUS serverů pomocí testovacího účtu organizace | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **3 hodiny** | ||
- | * notifikace se neposílají < | ||
- | |||
- | ==== FAKE-UID ==== | ||
- | |||
- | * Test že IdP vynucuje shodu vnější a vnitřní identity. Jako vnější (anonymní) identita se použije anonXXX@realm.cz a jako vnitřní pak testovací účet organizace. IdP takový požadavek na ověření nesmí vyhodnotit pozitivně. IdP které nepodporuje Chargeable-User-Identity nesmí povolit žádnou anonymní identitu (tj. ani anonymous@realm.cz), | ||
- | * [[https:// | ||
- | * řešení: [[https:// | ||
- | * test probíhá z ermona | ||
- | * CRITICAL/ | ||
- | * normální perioda testování je **24 hodin** | ||
- | * v případě výpadku se testuje každé **3 hodiny** | ||
- | * notifikace se posílají 1x za 2 dny pro CRITICAL stav | ||
- | ===== Agregované neboli virtuální servery ===== | ||
- | |||
- | {{ : | ||
- | |||
- | Jestliže je organizace připojena k // | ||
- | několika serverů, tak se každý server monitoruje nezávisle. Aby bylo | ||
- | možné realizovat některé závislosti, | ||
- | servery, ty slučují všechny servery organizace v jediný. Služby | ||
- | definované na tomto serveru jsou přesnou kopií služeb na jednotlivých | ||
- | serverech organizací. Logika skrytá za těmito agregovanými službami | ||
- | zajišťuje, | ||
- | všechny odpovídající služby na fyzických serverech. V případě, že je | ||
- | některý služba v jiném než OK stavu, má agregovaná služba stav WARNING. | ||
- | |||
- | Pro všechny služby na těchto serverech platí: | ||
- | * CRITICAL-HARD stav nastává po **1** pokusu | ||
- | * normální perioda testování je **1 minuta** | ||
- | * v případě výpadku se testuje každou **1 minutu** | ||
- | * notifikace se **ne**posílají | ||
- | |||
- | ==== Tvorba jmen virtuálních serverů ==== | ||
- | |||
- | Původně se vytvářely virtuální servery podle toho, který realm | ||
- | obsluhovaly, | ||
- | než bylo nezbytně nutné a díky tomu bylo i zbytečně mnoho služeb v | ||
- | systému. Používala se jména aggregated.< | ||
- | virtuálních serverů na základě jmen serverů, ze kterých se virtuální | ||
- | server skládá. Například: | ||
- | |||
- | * radius.cesnet.cz => radius.cesnet.cz | ||
- | * radius1.cesnet.cz + radius2.cesnet.cz => radius1_AND_radius2.cesnet.cz | ||
- | * radius1.cesnet.cz + radius2.cesnet.cz + radius3.cesnet.cz => radius1_AND_radius2_AND_radius3.cesnet.cz | ||
- | * radius.etest.cesnet.cz + radius.cesnet.cz => radius.etest_AND_radius.cesnet.cz | ||
- | * radius.cesnet.cz + radius.ces.net => radius.cesnet.cz_AND_radius.ces.net | ||
- | |||
- | ===== Systémové servery ===== | ||
- | |||
- | Monitoring monitoruje kromě serverů i systémové servery. Jedná se o | ||
- | |||
- | ==== GW ==== | ||
- | |||
- | Gateway, zajišťuje připojení monitorovacího systému k Internetu. Každá | ||
- | služba, která můžete vyvolat notifikaci, závisí na **GW/ | ||
- | zajišťuje, | ||
- | výpadku konektivity monitoringu poštou. | ||
- | |||
- | ==== radius1 a radius2.eduroam.cz ==== | ||
- | |||
- | NREN RADIUS servery zodpovědné za transport RADIUS paketů mezi | ||
- | organizacemi v rámci // | ||
- | toplevel servery // | ||
- | |||
- | === PING === | ||
- | |||
- | === PING-etlr1 a PING-etlr2 === | ||
- | |||
- | Ping z NREN serveru na první, respektive druhý toplevel server. | ||
- | |||
- | === RADIUS === | ||
- | |||
- | RADIUS na NREN serveru. Testuje se pomocí lokálního účtu, takže | ||
- | výpadek skutečně znamená výpadek služby RADIUS na tomto serveru. | ||
- | |||
- | === RADIUS-etlr1 a RADIUS-etlr2 === | ||
- | |||
- | RADIUS na toplevel serverech. Zatím se testuje jen pomocí účtu v | ||
- | surfnet.nl, takže výpadek těchto služeb nutně nemusí znamenat, že | ||
- | došlo k výpadku národních serverů. | ||
- | |||
- | === RACOON === | ||
- | |||
- | RACOON je daemon zodpovědný za výměnu šifrovacích tajemství pro IPSEC, | ||
- | čas od času nemá svůj den a dostane se do dead-locku. Oba NREN servery se | ||
- | samy kontrolují a v případě potřeby tuto službu restartují. Více | ||
- | informací viz FIXME odkaz do archivu konference. | ||
- | |||
- | ===== Skupiny služeb a serverů ===== | ||
- | |||
- | Pro snazší orientaci ve značném množství serverů a služeb jsou | ||
- | definovány skupiny, které slučují související objekty a usnadňují | ||
- | navigaci. | ||
- | |||
- | ==== Skupiny serverů ==== | ||
- | |||
- | * [[https:// | ||
- | * [[https:// | ||
- | * semikwin2003s.cesnet.cz je pokusný Win2003 server určený k pokusům s IPsec na Windows. | ||
- | * cyrus.cesnet.cz slouží pro dočasné napojení IP telefonie k eduroam infrastruktuře | ||
- | * Everyone at < | ||
- | |||
- | ==== Skupiny služeb ==== | ||
- | |||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | ===== Matice dostupnosti ===== | ||
- | |||
- | {{ : | ||
- | |||
- | Skupiny služeb a serverů sice trochu usnadňují orientaci v množství | ||
- | dat, ale neumožňují vidět aktuální stav sítě najednou. Proto jsem | ||
- | vytvořil na Nagiosu nezávislou matici dostupnosti. V ní jsou na řádcích | ||
- | buď lokality nebo servery organizací a na sloupcích jsou uvedeny | ||
- | jednotlivé realmy. Díky tomu lze na téměř první pohled okamžitě zjistit, | ||
- | kde co nefunguje. | ||
- | |||
- | K matici je volný přístup, adresa je [[https:// | ||
- | |||
- | ===== Nagios ===== | ||
- | |||
- | Jak už jsem zmínil několikrát výše, jádrem celého monitoringu je | ||
- | Nagios. Jeho webové rozhraní je k dispozici na adrese | ||
- | https:// | ||
- | účet v CESNET CAAS. | ||
- | |||
- | |||
- | ====== | ||
- | --- // | ||
- | --- // | ||
- | --- // |