Dwa lata temu napisałem już post
[
Kogo to może zainteresować
Może to Cię zainteresować, jeśli pracujesz w małym zespole lub sam. Nie masz monitoringu i nie jesteś pewien, czy na pewno go potrzebujesz. Albo próbowałeś jakiegoś popularnego, poważnego monitorowania „dla dużych chłopców”, ale jakoś „nie wyszło” w twoim przypadku, albo działa w niemal domyślnej konfiguracji i nie zmieniło zbytnio twojego życia. A także – jeśli na pewno nie planujesz wyznaczyć całego pracownika (ani nawet działu) do monitorowania dashboardu monitoringu przynajmniej na kilka godzin dziennie lub jego konfigurowania.
Dlaczego okerr jest niezwykły
Następnie pokażę ciekawe cechy okerry, które wyróżniają ją na tle innych systemów monitorowania.
Okerr to monitoring hybrydowy
Podczas wewnętrznego monitorowania na monitorowanych maszynach działa „agent”, który przesyła dane do serwera monitorującego (np. ilość wolnego miejsca na dysku). Gdy jest zewnętrzny, serwer sprawdza sieć (na przykład ping lub dostępność strony internetowej). Każde podejście ma swoje ograniczenia. Okerr korzysta z obu opcji. Kontrole wewnątrz serwerów przeprowadzane są przez bardzo lekkiego agenta (30 KB) lub własne skrypty i aplikacje, a kontrole sieci są przeprowadzane za pomocą czujników okerr w różnych krajach.
okerr to nie tylko oprogramowanie, ale także usługa
Część serwerowa każdego monitoringu jest duża i złożona, trudna w instalacji i konfiguracji oraz wymaga zasobów. Dzięki okerr możesz zainstalować własny serwer monitorujący (jest darmowy i open source) lub możesz po prostu korzystać tylko z części klienckiej i korzystać z usług naszego serwera. Również bezpłatne.
Jeżeli monitoring pozwala zrekompensować i zatuszować braki niezawodności w serwerach i aplikacjach, to pojawia się pytanie filozoficzne – kto jest strażnikiem? W jaki sposób monitoring powie nam o problemie, jeśli on sam z jakiegoś powodu „umarł”, osobno lub razem z innymi zasobami (np. padł kanał do centrum danych)? Podczas korzystania z usługi zewnętrznej okerr - ten problem został rozwiązany - otrzymasz powiadomienie, nawet jeśli całe centrum danych z Twoimi serwerami będzie pozbawione zasilania lub zostanie zaatakowane przez zombie.
Oczywiście istnieje ryzyko, że sam serwer okerr będzie niedostępny, to prawda (jak wiadomo, 90% niezawodności uzyskuje się zawsze prosto i „za darmo”, 99% przy minimalnym wysiłku, a każde kolejne dziewięć to wykładniczo trudniejsze). Ale po pierwsze, szanse na to są mniejsze, a po drugie, problem może pozostać niezauważony tylko wtedy, gdy zbiega się z problemami na naszych serwerach. Jeśli my mamy niezawodność na poziomie 99.9%, a Ty masz 99.9% (niezbyt duże liczby), wówczas szansa na niewykrytą awarię wynosi 0.1% z 0.1% = 0.0001%. Dodanie trzech dziewiątek do swojej niezawodności prawie bez wysiłku i bez kosztów jest bardzo dobre!
Kolejną zaletą monitorowania jako usługi jest to, że dostawca usług hostingowych lub studio internetowe może zainstalować serwer okerr i zapewniać klientom dostęp w ramach płatnej lub bezpłatnej usługi dodatkowej. Twoi konkurenci mają tylko hosting i strony internetowe, ale Ty masz niezawodny hosting z monitoringiem.
Okerr dotyczy wskaźników
Wskaźnikiem jest „żarówka”. Posiada dwa główne stany - zielony (OK) lub czerwony (ERR). Projekt zawiera wiele wskaźników pogrupowanych (np. według serwera). Na głównej stronie projektu od razu widać, że albo wszystko jest zielone (i można to zamknąć), albo coś świeci na czerwono i trzeba to poprawić. Podczas przejścia między tymi stanami wysyłany jest alert. Raz dziennie podczas konfiguracji wysyłane jest podsumowanie projektu.
Każdy wskaźnik okerr ma wbudowane warunki, według których zmienia stan (w Zabbix nazywa się to wyzwalaczem). Na przykład średnia obciążenia nie powinna być większa niż 2 (oczywiście można to skonfigurować). Dla każdej wewnętrznej kontroli (średnie obciążenie, brak dysku, ...) istnieje watchdog. Jeżeli z jakiegoś powodu w wyznaczonym terminie nie otrzymamy pomyślnego potwierdzenia, zostanie zarejestrowany błąd i wysłany zostanie alert.
Nasz typowy schemat pracy polega na tym, że rano sprawdzamy e-maile i przeglądamy podsumowanie wśród innych listów (planujemy to na początku pracy). Jeśli wszystko w nim jest ok, to robimy inne ważne rzeczy (ale dla bezpieczeństwa możemy szybko zajrzeć do deski rozdzielczej okerry i upewnić się, że w tej chwili wszystko jest zielone). Jeśli nadejdzie ostrzeżenie, reagujemy.
Oczywiście możliwe jest po prostu zachowanie wskaźników „informacyjnych” (aby zobaczyć obraz sieci z monitoringu), ale wszystko po to, aby prosto, łatwo i szybko stworzyć wskaźniki specjalnie do automatycznego monitorowania i wysyłania alertów.
Celem dla którego ustawiasz okerr są alerty, żeby w minutę stworzyć wskaźnik, mógłby „uśpić” rok, po prostu akceptować aktualizacje, a jak po roku coś się zepsuje to zapala się i wysyła ostrzeżenie. Minuta poświęcona na stworzenie wskaźnika opłaciła się – o problemie dowiedziałeś się natychmiast, zanim ktokolwiek inny. Możliwe, że naprawili to, zanim ktokolwiek zauważył. Coś, co szybko się podnosi, nie jest uważane za upadłe!
bezpieczeństwo
Byłoby szkoda, gdybyś skonfigurował monitorowanie w celu zwiększenia niezawodności, ale w rezultacie jesteś za jego pośrednictwem atakowany przez sieć, a w różnych narzędziach monitorujących jest sporo luk w zabezpieczeniach sieci (
Agent (okerrmod z pakietu
Pełny zasięg monitoringu
Teraz naszą zasadą jest, że o wszystkich problemach technicznych dowiadujemy się od okerra. Jeżeli nagle reguła zostanie naruszona (okerr nie uprzedził o jej rychłym wystąpieniu (o ile jest to możliwe) lub że już nastąpiło) - dodajemy kontrole do okerr.
Kontrole zewnętrzne
Całkiem typowy zestaw:
- świst
- Stan http
- sprawdzenie ważności i aktualności certyfikatu SSL (ostrzeże, jeśli będzie bliski wygaśnięcia)
- otwórz port TCP i baner na nim
- http grep (strona [nie może] zawierać określonego tekstu)
- sha1, aby przechwytywać zmiany stron.
- DNS (rekord DNS musi mieć określoną wartość)
- WHOIS (ostrzeże, jeśli domena wkrótce ulegnie awarii)
- Antyspam DNSBL (kontrola hosta na ponad 50 czarnych listach antyspamowych jednocześnie)
Kontrole wewnętrzne
Również dość standardowy zestaw (ale z możliwością łatwej rozbudowy).
- df (wolne miejsce na dysku)
- średnie obciążenie
- opentcp (otwarte gniazda nasłuchiwania TCP - powiadomią, jeśli coś się uruchomi lub ulegnie awarii)
- uptime - po prostu uptime na serwerze. Powiadomi, jeśli nastąpi awaria (tj. serwer jest przeciążony)
- klient_ip
- dirsize - używamy go do śledzenia, kiedy rootfs naszej maszyny wirtualnej przekraczają dozwolony rozmiar, bez wprowadzania ścisłych ograniczeń, oraz rozmiar katalogów domowych użytkowników
- pusty i niepusty - monitoruj pliki, które powinny być puste (lub niepuste). Np. dziennik błędów samego serwera okerr powinien być pusty, a jeśli będzie w nim chociaż linijka, to dostanę powiadomienie i sprawdzę to. Ale mail.log na serwerze pocztowym NIE powinien być pusty (N minut po rotacji). A czasami było dla nas puste po aktualizacji systemu, gdy logrotate nie mógł poprawnie zrestartować rsyslog.
- linecount - liczba linii w pliku (np. wc -l). Używamy go jako łagodniejszego zamiennika pustego, gdy dziennik błędów może nadal rosnąć, ale tylko powoli (na przykład Googlebot trafia na niektóre zamknięte strony). Obowiązuje limit 2 linii w ciągu 20 minut. Jeśli będzie wyższa, zostanie wyświetlony alert
Ciekawe kontrole wewnętrzne
Jeśli do tego momentu czytałeś „po przekątnej”, teraz ciekawiej będzie czytać uważniej.
Kopie zapasowe
Monitoruje kopie zapasowe w katalogu. Nasze pliki kopii zapasowych mają nazwy takie jak „NazwaSerwera-20200530.tar.gz”. Dla każdego serwera w okerr tworzony jest wskaźnik ServerName-DATE.tar.gz (rzeczywista data zmienia się na linię „DATE”). Monitorowana jest także sama obecność świeżej kopii zapasowej oraz jej rozmiar (np. nie może być mniejszy niż 90% poprzedniej kopii zapasowej).
Co należy zrobić, aby nowa kopia zapasowa zaczęła być śledzona po tym, jak zaczęliśmy ją tworzyć i umieszczać w tym katalogu? Nic! Jest to bardzo wygodne podejście, gdy trzeba „nic nie robić”, ponieważ:
- Nierobienie „nic” jest dość szybkie, oszczędza czas
- Trudno zapomnieć o „nic nie robieniu”
- Trudno zrobić „nic” złego, popełniając błąd. Nic nie jest najbardziej niezawodną metodą
Jeśli nagle przestaną się pojawiać nowe pliki kopii zapasowych, pojawi się alert. Jeśli np. wyłączyłeś jeden z serwerów i nie powinno być już żadnych kopii zapasowych, konieczne będzie usunięcie wskaźnika (poprzez interfejs WWW lub z powłoki poprzez API).
maxfilesz
Śledzi rozmiar największych plików (zwykle: /var/log/*). Pozwala to wychwycić nieprzewidywalne problemy, np. hasła typu brute-force czy wysyłanie spamu przez serwer.
stan pracy/linia uruchomieniowa
Są to dwa ważne moduły proxy do uruchamiania innych programów na serwerze. Runstatus zgłasza kod zakończenia programu do wskaźnika. Na przykład okerr nie wymaga (wymaga) modułu sprawdzającego, czy usługi systemowe działają. Odbywa się to poprzez status uruchomienia (patrz poniżej). Runline - raportuje do serwera linię utworzoną przez program. Na przykład, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp"
w konfiguracji Runline na naszym serwerze tworzy wskaźnik nazwa_serwera:temp z temperaturą procesora.
sql
Wykonuje zapytanie numeryczne do MySQL i raportuje wynik do wskaźnika. W prostym przypadku możesz wykonać na przykład „WYBIERZ 1” - sprawdzi to, czy system DBMS jako całość działa.
Ale o wiele ciekawszym zastosowaniem jest na przykład śledzenie liczby zamówień w sklepie internetowym. Jeśli wiesz, że masz 100 lub więcej zamówień na godzinę, możesz ustawić minimalny limit na 100 lub 80. Wtedy, jeśli Twoja sprzedaż nagle spadnie, otrzymasz powiadomienie i będziesz mógł to rozgryźć.
Pamiętaj, że nie ma znaczenia, z jakiego nieprzewidywalnego powodu to się stało:
- Serwer jest po prostu niedostępny (brak zasilania lub sieci), a ostrzeżenie wynika z faktu, że wskaźnik był „zepsuty”.
- Serwer jest czymś przeciążony, działa wolno lub gubi pakiety, jest to niewygodne dla użytkowników i wychodzą bez dokonania zakupów
- Serwer znajduje się na listach spamowych i poczta z niego nie jest akceptowana, użytkownicy nie mogą się rejestrować
- Skończył się budżet kampanii reklamowej, banery nie kręcą się.
Powodów może być wiele i nie można ich wszystkich przewidzieć z góry, a śledzenie ich jest technicznie trudne. Można jednak wygodnie monitorować końcowy parametr (zlecenia) i na ich podstawie stwierdzić, że sytuacja jest podejrzana i zasługuje na to, aby się nią zająć.
Wskaźniki logiczne
Umożliwia użycie wyrażeń logicznych (składnia Pythona) za pośrednictwem modułu
Możesz utworzyć dwa wskaźniki, dzień i noc. Ustaw oba jako „ciche” (nie będą wysyłać alertów). I utwórz logiczny wskaźnik, który wymaga, aby wskaźnik dzienny był OK przed 20:00, a po 20:00 wystarczy, że wskaźnik nocny będzie OK.
Innym przykładem zastosowania wskaźnika logicznego jest eskalacja. Na przykład kierownik projektu rezygnuje z alertów (nie musi tego robić, administratorzy powinni reagować na normalne problemy), ale subskrybuje logiczny wskaźnik, który zmienia kolor na czerwony, jeśli którykolwiek wskaźnik w projekcie nie zostanie poprawiony w wyznaczonym czasie.
Można także ustawić dozwolony czas pracy, np. od 3 do 5 rano. Nie obchodzi nas, czy w tym czasie serwery i witryny ulegną awarii. Ale o 5:00 muszą pracować. Jeśli w innym terminie nie zadziałają - alarmuj. Wskaźnik logiczny pozwala również uwzględnić redundancję serwera. Jeśli masz 5 serwerów internetowych, administratorzy mogą w dowolnym momencie wyłączyć 1-2 serwery. Jeżeli jednak w bitwie bierze udział mniej niż 3 z 5 serwerów, pojawi się ostrzeżenie.
Powyższe przykłady nie są funkcjami ok, ani niektórymi funkcjami, które należy aktywować i skonfigurować. Okerra nie posiada wszystkich tych funkcji, ale jest moduł logiczny, który pozwala na realizację tej funkcjonalności (W przybliżeniu jak w języku programowania - jeśli mamy operatory arytmetyczne, to nie potrzebujemy specjalnej funkcji do wyliczenia 20% VAT z języka, zawsze możesz to zrobić sam, dostosuj do swoich potrzeb).
Wskaźnik logiki jest prawdopodobnie jednym z niewielu stosunkowo skomplikowanych tematów w okerr, ale dobra wiadomość jest taka, że nie musisz go opanowywać, dopóki nie będzie to konieczne. Ale jednocześnie znacznie rozszerzają możliwości, zachowując jednocześnie dość prosty system.
Dodawanie własnych czeków
Bardzo chciałbym przekazać myśl, że okerr nie jest zbiorem tysięcy gotowych czeków na każdą okazję, ale wręcz odwrotnie - przede wszystkim - prostym silnikiem z prostą możliwością tworzenia własnych czeków. Tworzenie własnych kontroli w okerr nie jest zadaniem dla hakerów, współtwórców systemu lub przynajmniej zaawansowanych użytkowników okerr, ale wykonalnym zadaniem dla każdego administratora, który miesiąc temu po raz pierwszy zainstalował Linuksa.
Kontrola płacy minimalnej odbywa się za pośrednictwem modułu
Ta linia w pliku config
true_OK=/bin/true
Tylko jedna linijka - i już jesteśmy trochę rozszerzony funkcjonalność ok.
Nawet taka kontrola ma już swoją wartość: jeśli nagle Twój serwer ulegnie awarii, odpowiedni wskaźnik na serwerze oker nie zostanie zaktualizowany w odpowiednim czasie, a po upływie czasu pojawi się alert.
To sprawdzenie powiadomi, że serwer Apache2 uległ awarii (no cóż, nigdy nie wiadomo...):
apache_OK="systemctl is-active --quiet apache2"
Tak więc, jeśli znasz dowolny język programowania i przynajmniej potrafisz pisać skrypty powłoki, możesz już dodawać własne kontrole.
Trudniejsze - możesz napisać (w dowolnym języku) własny moduł dla okerrmod. W najprostszym przypadku wygląda to tak:
#!/usr/bin/python3
print("STATUS: OK")
Czy to nie jest bardzo trudne? Moduł musi sam sprawdzić i wyprowadzić wyniki do STDOUT. Bardziej złożony moduł daje na przykład to:
$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52
NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32
Aktualizuje kilka wskaźników na raz (oddzielonych pustą linią), tworzy je w razie potrzeby, wskazuje szczegóły weryfikacji oraz znacznik, dzięki któremu łatwo znaleźć potrzebne wskaźniki w dashboardzie.
Telegram
Istnieje bot Telegramu
Strony stanu
W dzisiejszych czasach strony statusowe są niemal koniecznością dla każdej firmy, która posiada IT, odpowiedzialne podejście do niezawodności i która traktuje swoich klientów/użytkowników z szacunkiem.
Wyobraźmy sobie sytuację – użytkownik chce coś zrobić, wyświetlić informacje lub złożyć zamówienie, a coś nie działa. Nie wie, co się dzieje, po czyjej stronie leży problem i kiedy zostanie rozwiązany. Może Twoja firma ma po prostu niefunkcjonalną stronę internetową? A może zepsuł się sześć miesięcy temu i zostanie naprawiony za dwa lata? Ale lodówkę trzeba kupić już teraz, jest już w koszyku... A zupełnie inna sprawa, gdy ktoś widzi, że coś z Tobą jest nie tak (przynajmniej widać, że problem nie leży po jego stronie), że problem został wykryty, że już nad nim pracujesz, a może nawet zapisałeś przybliżony czas naprawy. Użytkownik może się zapisać i otrzymać powiadomienie e-mailem, gdy problem zostanie rozwiązany i będzie mógł robić, co chce (kupić lodówkę).
Problemy i przestoje zdarzają się każdemu. Jednak użytkownicy i partnerzy bardziej ufają tym, którzy podchodzą do tego bardziej przejrzyście i odpowiedzialnie.
tutaj jest
Failover
Aby nie przedłużać tego artykułu, jeszcze raz odniosę się do mojego poprzedniego artykułu -
Niskie wymagania systemowe
Do serwerów okerr używamy maszyn z pamięcią RAM od 2Gb. W przypadku czujników sieciowych wystarczy nawet 512Mb. Część klienta jest na ogół prawie zerowa. (Plastikowa torba
Biorąc to pod uwagę – prawdopodobnie okerr większość darmowa system monitorowania spośród dostępnych, bo nawet żeby skorzystać z innego darmowego systemu typu open source jak Zabbix czy Nagios, trzeba przeznaczyć na niego zasoby (serwer), a to już są pieniądze. Ponadto nadal wymagana jest konserwacja serwera. Dzięki okerr tę część można usunąć. Lub nie musisz go usuwać i korzystać z własnego serwera, w zależności od tego, co lubisz najbardziej.
API i integracja z oprogramowaniem autorskim
Prosta i otwarta architektura. oker ma całkiem prosty
#!/bin/sh
for indicator in `okerrclient --api-filter sslcert`
do
echo set location for $indicator
okerrclient --api-set location=ru retest=1 --name $indicator
done
Możesz zaktualizować wskaźnik za pomocą naszego modułu klienta, nawet bez niego, po prostu za pomocą curl.
# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK
# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/
Możesz aktualizować wskaźniki bezpośrednio ze swojego programu. Na przykład wysyłanie sygnałów pulsu, aby okerr wiedział, że działa i podnosił alarm w przypadku awarii lub zawieszenia. Nawiasem mówiąc, komponenty okerr właśnie to robią - okerr monitoruje się sam, a problemy w prawie każdym module zostaną wykryte i wygenerują powiadomienie o problemie. (A w przypadku tego „prawie” - są sprawdzane krzyżowo z innego serwera)
Oto kod (uproszczony) w naszym bocie telegramowym:
from okerrupdate import OkerrProject, OkerrExc
op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
os.getpid(), dhms(uptime), commands_cnt))
Istnieje biblioteka do aktualizacji wskaźników z programów w języku Python
Jak okerr nam pomaga
Okerr zmienił nasze życie. Rzeczywiście. Być może inny system monitorowania mógłby zrobić to samo, ale praca z okerr jest dla nas łatwa i prosta i ma wszystkie funkcje, których potrzebowaliśmy (dodaliśmy to, czego nie miał). Swoją drogą, jeśli brakuje jakichś funkcji, pytaj, a ja je dodam (nie obiecuję, ale chcę, żeby okerr był najlepszym systemem monitorowania małych i średnich projektów). Albo jeszcze lepiej, dodaj go sam – to proste.
Udało nam się żyć zgodnie z zasadą „o wszystkich problemach dowiaduj się od kerry”. Jeśli nagle pojawi się problem, o którym nie dowiedzieliśmy się od okerr, dodajemy kontrolę do okerr. (w tym przypadku przez „my” mam na myśli nas jako użytkowników systemu, a nie współtwórców). Na początku było to powszechne, ale teraz stało się bardzo rzadkie.
Monitorowanie
Za pośrednictwem okerr monitorujemy rozmiary logów na wszystkich serwerach. Niemożliwe jest oczywiście dokładne przeczytanie każdej linii kłody oczami, ale samo monitorowanie tempa wzrostu już wiele daje. Dzięki temu wykryliśmy wysyłanie spamu i odgadywanie haseł metodą brute-force, a kiedy niektóre aplikacje „wariują”, coś im nie wychodzi i powtarzają to raz za razem (za każdym razem dodając kilka linii do dziennika ).
Certyfikaty SSL. Niemal natychmiast po uruchomieniu a2okerr.py
— a jeśli na serwerze pojawi się kilka nowych witryn, automatycznie pojawią się one w okerr. Jeśli nagle z jakiegoś powodu certyfikat nie zostanie odnowiony, na trzy tygodnie przed wygaśnięciem certyfikatu, będziemy wiedzieć i dowiemy się, dlaczego nie jest aktualizowany, taki pies. a2certbot.py
z tej samej paczki - bardzo w tym pomaga (od razu sprawdza najbardziej prawdopodobne problemy - i pisze, co zostało dobrze sprawdzone i gdzie najprawdopodobniej jest problem).
Monitorujemy datę ważności wszystkich naszych domen. Wszystkie nasze serwery pocztowe wysyłające pocztę są również sprawdzane na ponad 50 różnych czarnych listach. (A czasem w nie wpadają). Swoją drogą, czy wiesz, że serwery pocztowe Google również znajdują się na czarnej liście? Dla własnego testu dodaliśmy mail-wr1-f54.google.com do monitorowanych serwerów i nadal znajduje się on na czarnej liście SORBS! (Tu chodzi o wartość „antyspamerów”)
Kopie zapasowe - pisałem już powyżej jak łatwo je monitorować za pomocą okerr. Ale monitorujemy zarówno najnowsze kopie zapasowe na naszym serwerze, jak i (za pomocą osobnego narzędzia korzystającego z okerr) kopie zapasowe, które przesyłamy do Amazon Glacier. I tak, problemy zdarzają się od czasu do czasu. Nic dziwnego, że patrzyli.
Używamy wskaźnika eskalacji. Pokazuje, czy jakiś problem nie został rozwiązany przez długi czas. A ja sam, gdy rozwiązuję jakieś problemy, czasem udaje mi się o nich zapomnieć. Eskalacja jest dobrym przypomnieniem, nawet jeśli sam siebie monitorujesz.
Ogólnie uważam, że jakość naszej pracy wzrosła o rząd wielkości. Przestojów prawie nie ma (albo klient nie ma czasu tego zauważyć. Po prostu ciii!), a ilość pracy się zmniejszyła, a warunki pracy stały się spokojniejsze. Przeszliśmy od pracy awaryjnej przy zaklejaniu dziur taśmą do pracy spokojnej i wyważonej, kiedy wiele problemów jest przewidywanych z góry i jest czas, aby im zapobiec. Nawet problemy, które się wydarzyły, również stały się łatwiejsze do naprawienia: po pierwsze, dowiadujemy się o nich, zanim klienci wpadną w panikę, a po drugie, często zdarza się, że problem ma związek z ostatnią pracą (robiąc jedno, zepsułem drugą) - więc jest gorąco Ślady łatwiej sobie z tym poradzą.
Ale był inny przypadek...
Czy wiesz, że w popularnym Debianie 9 (Stretch) tak popularny pakiet jak phpmyadmin nadal (od wielu miesięcy!) znajduje się w stanie zagrożenia? (
Kolejny raz w podobnej sytuacji: po luce w SSH konieczna była aktualizacja wszystkich serwerów. A kiedy wyznaczasz zadanie, musisz kontrolować jego wykonanie. (Podwładni mają tendencję do niezrozumienia, zapominania, dezorientacji i popełniania błędów). Dlatego najpierw dodaliśmy funkcję sprawdzania wersji SSH do okerr na wszystkich serwerach, a poprzez okerr upewniliśmy się, że aktualizacje zostały wdrożone na wszystkich serwerach. (Wygodne! Wybrałem ten typ wskaźnika i od razu widać, który serwer ma jaką wersję). Kiedy byliśmy pewni, że zadanie zostało wykonane na wszystkich serwerach, usunęliśmy wskaźniki.
Kilka razy zdarzyła się sytuacja, że pojawił się pewien problem, a potem sam zniknął. (prawdopodobnie każdemu znane?). Zanim zauważysz, zanim sprawdzisz – a nie ma co sprawdzać – wszystko już działa dobrze. Ale potem znowu się psuje. Zdarzyło nam się to na przykład w przypadku produktów, które przesłaliśmy do Amazon Marketplace (MWS). W pewnym momencie załadowane zapasy były nieprawidłowe (złe ilości towarów i złe ceny). Rozwiązaliśmy to. Ale żeby to rozgryźć, ważne było, aby od razu dowiedzieć się o problemie. Niestety MWS, podobnie jak wszystkie usługi Amazon, jest trochę powolny, więc zawsze występowało opóźnienie, ale mimo to udało nam się przynajmniej z grubsza zrozumieć związek między problemem a skryptami, które go powodują (sprawdziliśmy, utknęliśmy go do okerra i sprawdziłem natychmiast po otrzymaniu ostrzeżenia).
Do kolekcji dołączył ostatnio ciekawy case od dużego i drogiego europejskiego hostera, z którego korzysta nasz klient. Nagle WSZYSTKIE nasze serwery zniknęły z radaru! Najpierw sam klient (szybciej niż okerra!) zauważył, że strona, z którą współpracował, nie otwiera się i wystawił z tego powodu mandat. Ale nie tylko jedna witryna uległa awarii, ale wszystkie! (Natasza, rzuciliśmy wszystko!). Tutaj Okerr zaczął wysyłać długie opaski na stopy ze wszystkimi świecącymi dla niego wskaźnikami. Panika, panika, biegamy w kółko (co innego możemy zrobić?). Potem wszystko się podniosło. Okazuje się, że w centrum danych przeprowadzono rutynową konserwację (raz na wiele lat) i oczywiście należało nas ostrzec. Ale przydarzył im się jakiś problem i nas nie ostrzegli. Cóż, więcej ataków serca, mniej ataków serca. Ale po przywróceniu wszystkiego musisz wszystko dokładnie sprawdzić! Nie wyobrażam sobie, jak bym to zrobił własnymi rękami. Okerr przetestował wszystko w ciągu kilku minut. Okazało się, że większość serwerów była po prostu chwilowo niedostępna, ale działały. Niektórzy byli przeciążeni, ale też wstawali tak, jak powinni. Ze wszystkich strat straciliśmy dwa zapasy, które według korony powinny były zostać utworzone i załadowane w czasie trwania tego pełnego banana. Nawet nie zawracałem sobie głowy ich tworzeniem, zaledwie dzień później pojawiły się powiadomienia, że wszystko jest w porządku, pojawiły się kopie zapasowe. Bardzo podoba mi się ten przykład, ponieważ okerr okazał się bardzo przydatny w sytuacji, o której nawet wcześniej nie myśleliśmy, a taki jest cel monitorowania – przeciwstawienie się nieprzewidywalnemu.
W przypadku czujników Okerr korzystamy z najtańszego możliwego hostingu (gdzie jakość i niezawodność nie są ważne, ubezpieczają się nawzajem). Niedawno znaleźliśmy bardzo dobry hosting i super tani, testy porównawcze są niesamowite. Ale... czasami okazuje się, że połączenia wychodzące z maszyny wirtualnej są realizowane z innego (sąsiadującego) adresu IP. Cuda. Moduł Client_ip z
No i jeszcze jedno – skoro mowa o hostingu VPS – zawsze korzystamy z niedrogich (hetzner, ovh, Scaleway). Bardzo mi się podoba zarówno pod względem benchmarków, jak i stabilności. Do innych projektów wykorzystujemy także znacznie droższe Amazon EC2. Dzięki okerr mamy więc własną, świadomą opinię. Oboje upadają. I nie powiedziałbym, że na przestrzeni długiego okresu naszych obserwacji tanie hostingi typu hetzner okazywały się zauważalnie mniej stabilne niż EC2. Dlatego jeśli nie jesteś przywiązany do innych funkcji Amazon, po co płacić więcej? 🙂
Co dalej?
Jeśli na tym etapie jeszcze Cię nie odstraszyłem od Okerra, to spróbuj! Możesz przejść bezpośrednio do tego linku
Po rejestracji zostaniesz poproszony o odbycie szkolenia (wykonanie kilku niezbyt trudnych zadań szkoleniowych). Początkowe limity są bardzo małe, ale na szkolenie lub jeden serwer wystarczą. Po ukończeniu szkolenia limity (np. maksymalna liczba wskaźników) zostaną zwiększone.
Z dokumentacji - przede wszystkim
Jeśli używasz go na poważnie i te zwiększone limity nie wystarczą, napisz do supportu, a my je zwiększymy (za darmo).
Czy chcesz zainstalować serwer okerr na swoim serwerze? Tutaj
Chcemy, żeby ten projekt wystartował, aby świat dzięki nam stał się bardziej niezawodny. Dzięki darmowemu oprogramowaniu i usługom świat stał się bardziej przyjazny i rozwija się dynamiczniej. Źródła można przechowywać na darmowym githubie, do poczty można używać darmowego Gmaila. Korzystamy bezpłatnie
Źródło: www.habr.com