Shinken (software) - Shinken (software)
Shinken screenshot | |
Původní autoři | Jean Gabès |
---|---|
První vydání | 1. prosince 2009[1] |
Stabilní uvolnění | 2.4.3 / 10. března 2016[2] |
Úložiště | |
Napsáno | Krajta |
Operační systém | Unixový, Okna |
Typ | Monitorování sítě |
Licence | Obecná veřejná licence Affero |
webová stránka | www |
Shinken je otevřený zdroj počítačový systém a monitorování sítě softwarová aplikace kompatibilní s Nagios. Sleduje to hostitelé a služby, shromažďuje údaje o výkonu a upozorňuje uživatele, když dojde k chybovým podmínkám, a znovu, až budou podmínky jasné.
Shinkenova architektura si klade za cíl nabídnout jednodušší vyvažování zátěže a vysoká dostupnost. Správce spravuje jedinou konfiguraci, systém ji automaticky „rozdělí“ na části a odešle ji do pracovních uzlů. Název má podle této funkce: a Shinken je japonský meč.
Shinken napsal Jean Gabès jako a ověření konceptu pro novou architekturu Nagios. Věřit, že nová implementace byla rychlejší a pružnější než stará Kód C., navrhl to jako novou vývojovou větev Nagios 4.[3] Tento návrh byl odmítnut autory Nagios, takže Shinken se stal nezávislým monitorování sítě softwarová aplikace kompatibilní s Nagios.[4]
Shinken je navržen tak, aby fungoval pod všemi operační systémy kde Krajta běží. Vývojové prostředí je pod Linux, ale také funguje dobře na ostatních Unix varianty a Okna. Proces reakce (odpovědný za zasílání oznámení) lze také spustit pod Android OS. to je svobodný software, s licencí podle podmínek Obecná veřejná licence Affero jak zveřejnil Free Software Foundation.
Přehled
- Design
- Monitorovací systém napsaný v Pythonu
- Distribuovaná architektura pomocí vzdálených objektů Pyro
- Aktivní a pasivní monitorovací metody
- Monitorování síťových služeb (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH )
- Monitorování hostitelských zdrojů (procesor zatížení, disk využití, systémové protokoly) na většině síťové operační systémy, počítaje v to Microsoft Windows
- Pomocí agentů, jako jsou NSClient ++, send_nsca, Zkontrolujte MK, Thrift TSCA
- Pomocí agentů umožňujících vzdáleně spouštět skripty prostřednictvím Vzdálený spouštěč doplňků Nagios (Integrovaná implementace čistého Pythonu je součástí Shinkenu)
- Pomocí metod bez agentů, jako je SNMP, WMI, skriptovaný SSH nebo HTTP (SSL)
- Odešlete výsledky kontroly přímo z programů pomocí Apache Thrift (Java, Python, Ruby)
- Monitorování systémů, které mají schopnost odesílat shromážděná data prostřednictvím sítě na konkrétně napsané doplňky (např. VMWare ESX3 / 4/5, Collectd)
- Vzdálené monitorování podporováno prostřednictvím SSH nebo SSL šifrované tunely.
- Jednoduchý design zásuvného modulu, který umožňuje uživatelům snadno rozvíjet své vlastní servisní kontroly v závislosti na potřebách pomocí nástrojů výběru (shell skripty, C ++, Perl, Rubín, Krajta, PHP, C#, atd.)
- Schopnost vypočítat KPI ze stavu a údajů o výkonu v jádru Shinken za účelem vytvoření nových služeb a údajů o výkonu
- Systémová externí rozhraní
- Livestatus kompatibilní API, které poskytuje informace o stavu, konfiguraci a výkonu
- Exportuje data do grafických modulů (PNP4Nagios, Grafit a další dostupné)
- Podpora nativního zasílání zpráv API pro Android
- Exportujte data událostí do protokolovacích systémů pomocí syslog a RabbitMQ
- Moduly lze připojit k jakémukoli procesu Shinken, aby se jeho schopnosti rozšířily velmi efektivním způsobem
- Výkon
- K dispozici jsou paralelní služby a kontroly hostitele
- Schopnost distribuovat procesy poller na více serverech
- Podpora pro snadnou implementaci redundantní a zátěžově vyvážené monitorovací hostitele
- Podpora více redundantních externích rozhraní
- Schopnost směrovat kontroly na vyhrazené pollery (procesy specializované na provádění pluginů)
- Korelace a obchodní inteligence
- Vztahy rodičů a dětí
- Schopnost definovat hierarchii hostitelských sítí pomocí „nadřazených“ hostitelů, což umožňuje detekci a rozlišení mezi hostiteli, kteří jsou nefunkční a těmi, kteří nejsou dosažitelní
- 1 až 1, 1 až N
- Stromy závislostí na volné formě mezi jakoukoli službou a hostitelem
- 1 až 1, 1 až N
- Podpora integrovaných obchodních pravidel
- Vypočítaní hostitelé nebo služby představující stav obchodní služby
- Podpora přiřazení obchodního dopadu každé službě, hostiteli nebo obchodnímu procesu
- Schopnost zobrazit pouze kořenové problémy
- Automaticky změní podřízené stavy na neznámé, když rodič není k dispozici
- Vztahy rodičů a dětí
- Další funkce
- Kontaktujte oznámení, když dojde k problémům se službou nebo hostitelem, a nechte je vyřešit (prostřednictvím e-mailem, pager, SMS nebo libovolná metoda definovaná uživatelem prostřednictvím systému zásuvných modulů)
- Schopnost definovat obslužné rutiny událostí, které se mají spustit během událostí služby nebo hostitele pro proaktivní řešení problémů
- Schopnost předefinovat závažnost upozornění na základě pravidel regulárního výrazu
- Podpora pro názvy objektů UTF-8
- Podpora monitorování více zákazníků s jedním bodem správy
- Podpora opakujících se prostojů pomocí atributu maintenance_period
- Pokročilý systém šablon s dědičností a přetížením
Architektura
Instalace Shinken se skládá z několika procesů, každý optimalizovaný pro konkrétní úkol.
- Rozhodce
- Načte konfigurační soubory a odešle objekty hostitele a služby do plánovače
- Hlídací pes pro všechny ostatní procesy a odpovědný za zahájení převzetí služeb při selhání, pokud je zjištěna chyba
- Může směrovat události výsledku kontroly z přijímače do jeho přidruženého plánovače
- Rozhodčí moduly
- Existuje celá řada modulů pro manipulaci s konfiguračními daty
- Plánovač
- Naplánuje další běh kontrol hostitele a služby
- Odesílá šeky na pollery
- Vypočítá stav a závislosti
- Aplikuje spouštěče KPI
- Zvýší oznámení a odešle je reakčnímu
- Aktualizuje soubor uchovávání (nebo jiné backendy uchovávání)
- Odesílá brokery (interní události jakéhokoli druhu) brokerům
- Poller
- Získává kontroly z plánovače, spouští pluginy nebo integrované moduly polleru a výsledky odesílá do plánovače
- Poller moduly
- NRPE - provádí aktivní sběr dat pro agenty Nagios Remote Plugin Executor
- SNMP - Provede aktivní sběr dat pro agenty s povoleným SNMP (ve fázi beta pomocí PySNMP)
- CommandPipe - přijímá pasivní údaje o stavu a výkonu ze skriptu check_mk, nebude zpracovávat příkazy
- Reactionner
- Získá oznámení a obsluhy událostí z plánovače, provede pluginy / skripty a odešle výsledky do plánovače
- Makléř
- Má více modulů (obvykle běží ve vlastních procesech)
- Získá brokery z plánovače a předá je modulům brokera
- Moduly rozhodují, zda zacházejí s brokerem v závislosti na typu brokera (log, počáteční stav služby / hostitele, zkontrolovat výsledek, zahájit / ukončit prostoje, ...)
- Moduly zpracovávají brokery mnoha různými způsoby. Některé z modulů jsou:
- webui - aktualizuje objekty v paměti a poskytuje webový server pro nativní grafické rozhraní Shinken
- livestatus - aktualizuje objekty v paměti, které lze dotazovat pomocí API pomocí GUI, jako je Thruk nebo Check_MK Multisite
- grafit - exportuje data do grafitové databáze
- ndodb - aktualizace databáze ndo (MySQL nebo Oracle)
- simple_log - centralizuje protokoly všech procesů Shinken
- status_dat - zapíše do souboru status.dat, který lze číst klasickým grafickým uživatelským rozhraním založeným na cgi
- Přijímač (volitelně)
- Přijímá data pasivně z místních nebo vzdálených protokolů
- Pasivní příjem dat, který je před přeposláním do příslušného plánovače (nebo arbitra pro globální příkazy) uložen do vyrovnávací paměti
- Umožňuje nastavit „farmu“ přijímačů pro zpracování vysoké rychlosti příchozích událostí
- Moduly pro přijímače
- NSCA - přijímač protokolu NSCA
- Collectd - Příjem dat o výkonu z collectd prostřednictvím sítě
- CommandPipe - přijímá příkazy, aktualizace stavu a údaje o výkonu
- TSCA - rozhraní Apache Thrift k odesílání výsledků kontroly pomocí vysokorychlostního připojení TCP s vyrovnávací pamětí přímo z programů
- Webová služba - Webová služba, která přijímá příspěvky protokolu HTTP s výsledky kontroly (beta)
Pro každý typ procesu může existovat více instancí, a to buď na jednom hostiteli, nebo rozloženém na mnoha hostitelích. Přidání dalších procesů automaticky rozloží zátěž.
Shinken WebUI je integrované webové rozhraní, které poskytuje informace o stavu téměř v reálném čase, konfiguraci, interakci, řídicí panel pro vizualizaci trendových dat z grafitových databází a vizualizaci grafů závislostí.
Shinken skonfUI je nezávislé webové rozhraní používané ke správě procesu zjišťování a konfiguračních úloh.
Skript CLI shinken-admin se používá ke správě aspektů systému na úrovni běhového procesu, jako je změna úrovní protokolování a získávání zpráv o stavu.
Skript CLI install.sh je hlavní skript pro správu k instalaci, odebrání nebo aktualizaci Shinkenu a souvisejícího softwaru.
Rozvoj
Shinken má otevřený a testovaný vývoj přístup s přispěvateli do projektu poskytujícími nové funkce, refaktoring kódu, kvalitu kódu a opravu chyb.[5]
Zdrojový kód je hostován na GitHub.[6] An integrační server provádí testy při každém potvrzení a hloubkové testy v pravidelných intervalech.
The Shinken dokumentace je hostován na wiki.
Viz také
Reference
- ^ Oficiální vydání v seznamu adres Nagios na adrese http://sourceforge.net/p/nagios/mailman/message/24087464/
- ^ http://shinkenlab.io/release-2-4-2/
- ^ Gabès, Jean (01.12.2009). „Shinken: nový návrh implementace“. GitHub. Citováno 2014-03-04.
Chtěl bych mít zpětnou vazbu o (nedokončené) reimplementaci Nagios s názvem „Shinken“, kterou jsem napsal v Pythonu a která je rychlejší a modulárnější než současná implementace Nagios v C
- ^ Gabès, Jean (01.06.2010). „Shinken: mix s Nagiosem není možný“. Shinken tým. Archivovány od originál dne 2014-01-23. Citováno 2010-06-01.
Na původní Shinkenův návrh jsme nikdy nedostali odpověď, protože jsme považováni za projekt odpadlíka. Ve skutečnosti nyní můžeme říci, že jsme vidličkou.
- ^ Shinken přispěvatelé na Ohloh
- ^ zdrojový kód na GitHub
externí odkazy
- Oficiální webové stránky
- Monitorování pluginů domov oficiálních pluginů
- (v němčině) Linux Magazin článek o Shinken v německém Linux Magazinu 04/2010