Pozdrowienia,
Chciałbym zapytać kolektywne o opinię i pogląd na temat rozproszonych systemów monitorowania, z czego korzystasz i co wiesz, które mogą zaznaczyć moje pola?
Wymagania są dość złożone;
Brak pojedynczego punktu awarii. Naprawdę. Jestem śmiertelnie poważny! Musi być w stanie tolerować awarie pojedynczego / wielu węzłów, zarówno „głównego”, jak i „roboczego”, i można założyć, że żadna lokalizacja monitorowania („witryna”) nie ma wielu węzłów lub jest w tej samej sieci. Dlatego prawdopodobnie wyklucza to tradycyjne techniki HA, takie jak DRBD lub Keepalive.
Logika rozproszona. Chciałbym wdrażać ponad 5 węzłów w wielu sieciach, w wielu centrach danych i na wielu kontynentach. Chcę widok „Birds Eye” mojej sieci i aplikacji z perspektywy moich klientów, punkty bonusowe za logikę monitorowania nie ulegną zapadnięciu, gdy masz ponad 50 węzłów, a nawet ponad 500 węzłów.
Musi być w stanie obsłużyć dość uzasadnioną liczbę kontroli hosta / usługi, a la Nagios, dla danych liczbowych na boisku zakłada 1500-2500 hostów i 30 usług na hosta. Byłoby naprawdę miło, gdyby dodanie większej liczby węzłów monitorowania pozwoliło na skalowanie względnie liniowe, być może za 5 lat będę chciał monitorować 5000 hostów i 40 usług na host! Dodając do mojej powyższej uwagi na temat „logiki rozproszonej”, dobrze byłoby powiedzieć:
- W normalnych okolicznościach kontrole te muszą być uruchamiane na $ n lub n% węzłów monitorowania.
- Jeśli zostanie wykryta awaria, uruchom sprawdzanie kolejnych $ n lub n% węzłów, skoreluj wyniki, a następnie użyj ich do podjęcia decyzji, czy spełnione są kryteria, aby wysłać alert.
Wykresy i funkcje przyjazne dla zarządzania. Musimy śledzić nasze umowy SLA i wiedzieć, czy nasze „wysoce dostępne” aplikacje działają 24x7, jest nieco przydatne. Idealnie byłoby, gdyby proponowane rozwiązanie generowało raportowanie „od razu po wyjęciu z pudełka” przy minimalnym nakładzie pracy.
Musi mieć solidny interfejs API lub system wtyczek do opracowywania niestandardowych kontroli.
Musi być rozsądny, jeśli chodzi o alerty. Nie chcę koniecznie wiedzieć (przez SMS, o 3 nad ranem!), Że jeden węzeł monitorujący uważa, że mój główny router jest wyłączony. I nie chcę wiedzieć, czy określony procent z nich zgadza się , że coś się dzieje Funky;) Zasadniczo, co mówię tutaj o „quorum” logika, lub stosowanie zdrowego rozsądku do rozproszonego szaleństwa!
Jestem gotów rozważyć zarówno opcje komercyjne, jak i open source, chociaż wolałbym omijać oprogramowanie kosztujące miliony funtów :-) Jestem również skłonny zaakceptować fakt, że może nie być nic, co mogłoby zaznaczyć wszystkie te pola, ale chciałem zapytać kolektyw o to.
Myśląc o monitorowaniu węzłów i ich rozmieszczeniu, należy pamiętać, że większość z nich będzie serwerami dedykowanymi w losowych sieciach dostawców usług internetowych, a zatem w dużej mierze poza moją kontrolą. Rozwiązania oparte na kanałach BGP i innych złożonych wygłupach sieciowych prawdopodobnie nie będą pasować.
Powinienem również zauważyć, że albo oceniłem, wdrożyłem lub intensywnie używałem / dostosowywałem większość smaków open source w przeszłości, w tym Nagios, Zabbix i przyjaciół - to naprawdę nie są złe narzędzia, ale nie pasują do całości ” aspekt „rozproszony”, szczególnie w odniesieniu do logiki omówionej w moim pytaniu i „inteligentnych” alertów.
Chętnie wyjaśni wszelkie wymagane punkty. Na zdrowie chłopaki i dziewczęta :-)
źródło
Odpowiedzi:
nie jest to odpowiedź, ale niektóre wskazówki:
zdecydowanie spójrz na prezentację o nagios @ goldman sachs . napotkali problemy, o których wspomniałeś - nadmiarowość, skalowalność: tysiące hostów, a także automatyczne generowanie konfiguracji.
miałem nadmiarową konfigurację nagios, ale na znacznie mniejszą skalę - 80 serwerów, łącznie ~ 1 000 usług. jeden dedykowany serwer główny, jeden serwer podrzędny pobiera konfigurację z serwera głównego w regularnych odstępach czasu kilka razy dziennie. oba serwery obejmowały monitorowanie tych samych komputerów, między sobą sprawdzono ich kondycję. używałem nagios głównie jako ramy do wywoływania niestandardowych kontroli specyficznych dla produktu [kilka zadań cron wykonujących skrypty wykonujące „sztuczną kontrolę przepływu”, wyniki logowane do sql, wtyczki nrpe ware sprawdzające pomyślne / nieudane wykonanie tych w ostatnich x minutach]. wszystko działało bardzo ładnie.
twoja logika kworum brzmi dobrze - trochę podobnie do moich „sztucznych przepływów” - w zasadzie kontynuuj, ipmplementuj siebie ;-]. i niech nrpe po prostu sprawdzi jakiś rodzaj flagi [lub sql db ze znacznikiem czasu], jak się rzeczy mają.
prawdopodobnie będziesz chciał zbudować hierarchię do skalowania - będziesz mieć kilka węzłów, które zbierają przegląd innych węzłów, spójrz na prezentację od pierwszego punktu. domyślnym rozwidleniem nagios dla każdego pojedynczego czeku jest przesada przy większej liczbie monitorowanych usług.
odpowiedzieć na kilka pytań:
źródło
To, o co prosisz, brzmi bardzo podobnie do tego, co Shinken zrobił dla Nagios.
Shinken to przepisanie Nagios.
To powinno być przemyśleniem.
Twoje zdrowie
źródło