{"id":93358,"date":"2020-09-06T07:42:57","date_gmt":"2020-09-06T05:42:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem"},"modified":"2020-09-06T07:42:57","modified_gmt":"2020-09-06T05:42:57","slug":"monitorim-sportmaster-kak-i-chem","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem","title":{"rendered":"Monitorujemy Sportmaster \u2014 jak i czym","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>O utworzeniu systemu monitorowania zacz\u0119li\u015bmy my\u015ble\u0107 w momencie formowania zespo\u0142\u00f3w produktowych. Zda\u0142o si\u0119 jasne, \u017ce nasza robota \u2014 eksploatacja \u2014 w te zespo\u0142y w og\u00f3le nie trafia. Dlaczego tak jest?<\/p>\n<p>Chodzi o to, \u017ce wszystkie nasze zespo\u0142y s\u0105 zbudowane wok\u00f3\u0142 oddzielnych system\u00f3w informacyjnych, mikroserwis\u00f3w i front\u00f3w, wi\u0119c og\u00f3lny stan zdrowia ca\u0142ego systemu w ca\u0142o\u015bci nie jest dostrzegany przez zespo\u0142y. Na przyk\u0142ad, mog\u0105 nie wiedzie\u0107, jak jaka\u015b ma\u0142a cz\u0119\u015b\u0107 w g\u0142\u0119bokim backendzie wp\u0142ywa na cz\u0119\u015b\u0107 frontow\u0105. Ich zainteresowania ograniczaj\u0105 si\u0119 do system\u00f3w, z kt\u00f3rymi zintegrowany jest ich system. Je\u015bli zesp\u00f3\u0142 i jego us\u0142uga A prawie w og\u00f3le nie maj\u0105 zwi\u0105zku z us\u0142ug\u0105 B, to taka us\u0142uga jest dla zespo\u0142u prawie niewidoczna.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><img decoding=\"async\" alt=\"Monitorujemy Sportmaster \u2014 jak i czym\" src=\"\/wp-content\/uploads\/2020\/09\/393621991a8997d449cb3adec71b6af5.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Nasz zesp\u00f3\u0142 z kolei pracuje z systemami, kt\u00f3re s\u0105 ze sob\u0105 znacznie zintegrowane: mi\u0119dzy nimi istnieje wiele powi\u0105za\u0144, to do\u015b\u0107 du\u017ca infrastruktura. A od wszystkich tych system\u00f3w (kt\u00f3rych mamy zreszt\u0105 ogromn\u0105 ilo\u015b\u0107) zale\u017cy dzia\u0142anie sklepu internetowego. <\/p>\n<p>I tak wychodzi na to, \u017ce nasz dzia\u0142 nie nale\u017cy do \u017cadnego zespo\u0142u, lecz znajduje si\u0119 nieco na uboczu. W ca\u0142ej tej historii naszym zadaniem jest zrozumienie w ca\u0142o\u015bci, jak dzia\u0142aj\u0105 systemy informacyjne, ich funkcjonalno\u015b\u0107, integracje, oprogramowanie, sie\u0107, sprz\u0119t i jak wszystko to jest ze sob\u0105 powi\u0105zane.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPlatforma, na kt\u00f3rej dzia\u0142aj\u0105 nasze sklepy internetowe, wygl\u0105da tak:<\/p>\n<ul>\n<li>front<\/li>\n<li>middle-office<\/li>\n<li>back-office<\/li>\n<\/ul>\n<p>\nJak by\u015bmy nie chcieli, to nie ma tak, \u017ce wszystkie systemy dzia\u0142aj\u0105 p\u0142ynnie i bezproblemowo. Chodzi, znowu, o ilo\u015b\u0107 system\u00f3w i integracji - przy takim stanie, jak u nas, jakie\u015b incydenty s\u0105 nieuniknione, niezale\u017cnie od jako\u015bci test\u00f3w. A to zar\u00f3wno wewn\u0105trz jakiego\u015b pojedynczego systemu, jak i w zakresie ich integracji. I trzeba monitorowa\u0107 stan ca\u0142ej platformy kompleksowo, a nie jakiej\u015b jej pojedynczej cz\u0119\u015bci. <\/p>\n<p>Ide\u0105 jest zautomatyzowanie monitorowania stanu zdrowia ca\u0142ej platformy. I doszli\u015bmy do wniosku, \u017ce monitorowanie jest nieuniknion\u0105 cz\u0119\u015bci\u0105 tego procesu. Na pocz\u0105tku by\u0142o ono zbudowane tylko dla cz\u0119\u015bci frontowej, przy tym poszczeg\u00f3lne systemy monitorowania wed\u0142ug warstw istnia\u0142y i istniej\u0105 u sieciowc\u00f3w, administrator\u00f3w oprogramowania i sprz\u0119tu. Wszyscy ci ludzie monitorowali stan tylko na swoim poziomie, nikt nie mia\u0142 ca\u0142o\u015bciowego zrozumienia.<\/p>\n<p>Na przyk\u0142ad, je\u015bli wirtualna maszyna przestanie dzia\u0142a\u0107, w wi\u0119kszo\u015bci przypadk\u00f3w wie o tym tylko administrator odpowiedzialny za sprz\u0119t i wirtualn\u0105 maszyn\u0119. Zesp\u00f3\u0142 front-end w takich okoliczno\u015bciach widzia\u0142 jedynie sam fakt awarii aplikacji, ale nie mia\u0142 danych o awarii wirtualnej maszyny. Administrator mo\u017ce wiedzie\u0107, kto jest zleceniodawc\u0105, i mniej wi\u0119cej wyobra\u017ca\u0107 sobie, co aktualnie dzia\u0142a na tej wirtualnej maszynie, pod warunkiem, \u017ce jest to jaki\u015b wi\u0119kszy projekt. Na temat ma\u0142ych projekt\u00f3w raczej nie ma wiedzy. W ka\u017cdym razie administrator musi uda\u0107 si\u0119 do w\u0142a\u015bciciela i zapyta\u0107, co znajdowa\u0142o si\u0119 na tej maszynie, co nale\u017cy przywr\u00f3ci\u0107 i co zmieni\u0107. A je\u015bli co\u015b powa\u017cnego si\u0119 zawali\u0142o, zaczyna si\u0119 bieg w k\u00f3\u0142ko \u2014 poniewa\u017c nikt nie mia\u0142 widoku na ca\u0142y system.<\/p>\n<p>Ostatecznie takie rozproszone historie wp\u0142ywaj\u0105 na ca\u0142y front-end, na u\u017cytkownik\u00f3w i nasz\u0105 podstawow\u0105 funkcj\u0119 biznesow\u0105 \u2014 sprzeda\u017c przez internet. Poniewa\u017c nie wchodzimy w zespo\u0142y, a zajmujemy si\u0119 eksploatacj\u0105 wszystkich aplikacji e-commerce w ramach sklepu internetowego, podj\u0119li\u015bmy si\u0119 stworzenia kompleksowego systemu monitorowania platformy e-commerce. <\/p>\n<h2>Struktura systemu i stos technologiczny<\/h2>\n<p>\nZacz\u0119li\u015bmy od wyodr\u0119bnienia kilku warstw monitorowania dla naszych system\u00f3w, w zakresie kt\u00f3rych b\u0119dziemy musieli gromadzi\u0107 metryki. I wszystko to trzeba by\u0142o po\u0142\u0105czy\u0107, co zrealizowali\u015bmy w pierwszym etapie. Teraz w tym etapie udoskonalamy maksymalnie jako\u015bciowy zbi\u00f3r metryk we wszystkich naszych warstwach, aby budowa\u0107 korelacje i rozumie\u0107, jak systemy wp\u0142ywaj\u0105 na siebie nawzajem.<\/p>\n<p>Brak kompleksowego monitorowania na pocz\u0105tkowych etapach uruchamiania aplikacji (poniewa\u017c zacz\u0119li\u015bmy go budowa\u0107, gdy wi\u0119kszo\u015b\u0107 system\u00f3w by\u0142a w eksploatacji) doprowadzi\u0142 do tego, \u017ce pojawi\u0142 si\u0119 znaczny d\u0142ug techniczny zwi\u0105zany z konfiguracj\u0105 monitorowania ca\u0142ej platformy. Nie mogli\u015bmy sobie pozwoli\u0107 na skoncentrowanie si\u0119 na konfigurowaniu monitorowania konkretnego systemu informacyjnego i szczeg\u00f3\u0142owym opracowywaniu monitorowania dla niego, poniewa\u017c pozosta\u0142e systemy na jaki\u015b czas pozosta\u0142yby bez monitorowania. Aby rozwi\u0105za\u0107 ten problem, okre\u015blili\u015bmy list\u0119 najwa\u017cniejszych metryk oceny stanu systemu informacyjnego wed\u0142ug warstw i zacz\u0119li\u015bmy j\u0105 wdra\u017ca\u0107.<\/p>\n<p>Dlatego postanowili\u015bmy zje\u015b\u0107 s\u0142onia kawa\u0142ek po kawa\u0142ku.<\/p>\n<p>Nasz system sk\u0142ada si\u0119 z:<\/p>\n<ul>\n<li>sprz\u0119tu; <\/li>\n<li>systemu operacyjnego; <\/li>\n<li>oprogramowania; <\/li>\n<li>Cz\u0119\u015bci UI w aplikacji monitoruj\u0105cej; <\/li>\n<li>metryki biznesowe; <\/li>\n<li>aplikacje integracyjne; <\/li>\n<li>bezpiecze\u0144stwo informacji; <\/li>\n<li>sieci; <\/li>\n<li>balansowanie ruchu. <\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Monitorujemy Sportmaster \u2014 jak i czym\" src=\"\/wp-content\/uploads\/2020\/09\/687a5b8b39b3fd540a9b591f49a019d3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW centrum tego systemu znajduje si\u0119 monitorowanie. Aby zrozumie\u0107 stan ca\u0142ego systemu, trzeba wiedzie\u0107, co dzieje si\u0119 z aplikacjami na wszystkich tych warstwach i w kontek\u015bcie ca\u0142ej gamy aplikacji. <\/p>\n<p>A wi\u0119c, o stosie. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorujemy Sportmaster \u2014 jak i czym\" src=\"\/wp-content\/uploads\/2020\/09\/b9a9b86d788990899e7f04e34fb879d9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nU\u017cywamy oprogramowania z otwartym \u017ar\u00f3d\u0142em. W centrum mamy Zabbixa, kt\u00f3rego u\u017cywamy przede wszystkim jako systemu powiadamiania. Wszyscy wiedz\u0105, \u017ce idealnie nadaje si\u0119 do monitorowania infrastruktury. Co mamy na my\u015bli? Te niskopoziomowe metryki, kt\u00f3re posiada ka\u017cda firma maj\u0105ca swoje centra danych (a Sportmaster ma swoje centra danych) \u2014 temperatura serwera, stan pami\u0119ci, RAID, metryki urz\u0105dze\u0144 sieciowych.<\/p>\n<p>Zintegrowali\u015bmy Zabbixa z komunikatorem Telegram i Microsoft Teams, kt\u00f3re s\u0105 aktywnie u\u017cywane w zespo\u0142ach. Zabbix pokrywa warstw\u0119 faktycznej sieci, sprz\u0119tu i cz\u0119\u015bciowo oprogramowania, ale to nie jest panaceum. Wzbogacamy te dane z innych us\u0142ug. Na przyk\u0142ad, w zakresie sprz\u0119tu \u0142\u0105czymy si\u0119 bezpo\u015brednio przez API w naszym systemie wirtualizacji i pobieramy dane. <\/p>\n<p>Co wi\u0119cej. Opr\u00f3cz Zabbixa u\u017cywamy Prometheusa, kt\u00f3ry pozwala na monitorowanie metryk w aplikacji w dynamicznym \u015brodowisku. Oznacza to, \u017ce mo\u017cemy uzyskiwa\u0107 metryki aplikacji poprzez punkt ko\u0144cowy HTTP i nie martwi\u0107 si\u0119 o to, kt\u00f3re metryki za\u0142adowa\u0107, a kt\u00f3re nie. Na podstawie tych danych mo\u017cna opracowywa\u0107 analityczne zapytania.<\/p>\n<p>\u0179r\u00f3d\u0142a danych dla pozosta\u0142ych warstw, na przyk\u0142ad business metrics, dziel\u0105 si\u0119 na trzy cz\u0119\u015bci.<\/p>\n<p>Po pierwsze, to zewn\u0119trzne systemy biznesowe, Google Analytics, zbieramy metryki z log\u00f3w. Otrzymujemy z nich dane o aktywnych u\u017cytkownikach, konwersji i wszystkim innym zwi\u0105zanym z biznesem. Po drugie, to system monitorowania UI. O tym nale\u017cy opowiedzie\u0107 bardziej szczeg\u00f3\u0142owo.<\/p>\n<p>Kiedy\u015b zaczynali\u015bmy od testowania manualnego, kt\u00f3re przekszta\u0142ci\u0142o si\u0119 w automatyczne testy funkcjonalno\u015bci i integracji. To z niego stworzyli\u015bmy monitorowanie, pozostawiaj\u0105c tylko podstawow\u0105 funkcjonalno\u015b\u0107 i wi\u0105\u017c\u0105c si\u0119 z markerami, kt\u00f3re s\u0105 maksymalnie stabilne i nie zmieniaj\u0105 si\u0119 cz\u0119sto w czasie.<\/p>\n<p>Nowa struktura zespo\u0142\u00f3w oznacza, \u017ce ca\u0142a dzia\u0142alno\u015b\u0107 zwi\u0105zana z aplikacjami koncentruje si\u0119 na zespo\u0142ach produktowych, dlatego przestali\u015bmy zajmowa\u0107 si\u0119 testowaniem w czystej formie. Zamiast tego przekszta\u0142cili\u015bmy testy w monitorowanie UI, napisane w Java, Selenium i Jenkins (u\u017cywany jako system uruchamiania i generowania raport\u00f3w). <\/p>\n<p>Mieli\u015bmy wiele test\u00f3w, ale ostatecznie zdecydowali\u015bmy si\u0119 wyj\u015b\u0107 na g\u0142\u00f3wn\u0105 drog\u0119 \u2014 metryk\u0119 na wy\u017cszym poziomie. I je\u015bli b\u0119dziemy mie\u0107 wiele specyficznych test\u00f3w, trudno b\u0119dzie utrzyma\u0107 aktualno\u015b\u0107 danych. Ka\u017cde nast\u0119pne wydanie znacznie zepsuje ca\u0142y system, a my b\u0119dziemy tylko zajmowa\u0107 si\u0119 jego napraw\u0105. Dlatego skupili\u015bmy si\u0119 na ca\u0142kowicie podstawowych rzeczach, kt\u00f3re rzadko si\u0119 zmieniaj\u0105, i monitorujemy tylko je.<\/p>\n<p>W ko\u0144cu, po trzecie, \u017ar\u00f3d\u0142em danych jest scentralizowany system logowania. Do log\u00f3w u\u017cywamy Elastic Stack, a nast\u0119pnie te dane mo\u017cemy pobiera\u0107 do naszego systemu monitorowania metrykami biznesowymi. Dodatkowo dzia\u0142a nasza w\u0142asna us\u0142uga Monitoring API, napisana w Pythonie, kt\u00f3ra zapytuje przez API dowolne us\u0142ugi i pobiera dane z nich do Zabbix.<\/p>\n<p>Kolejnym niezb\u0119dnym atrybutem monitorowania jest wizualizacja. U nas opiera si\u0119 ona na Grafanie. W\u015br\u00f3d innych system\u00f3w wizualizacji wyr\u00f3\u017cnia si\u0119 tym, \u017ce na pulpicie mo\u017cna wizualizowa\u0107 metryki z r\u00f3\u017cnych \u017ar\u00f3de\u0142 danych. Mo\u017cemy zebra\u0107 metryki na wy\u017cszym poziomie ze sklepu internetowego, na przyk\u0142ad liczb\u0119 zam\u00f3wie\u0144 z\u0142o\u017conych w ci\u0105gu ostatniej godziny z bazy danych, metryki wydajno\u015bci systemu operacyjnego, na kt\u00f3rym dzia\u0142a ten sklep, z Zabbix, oraz metryki instancji tej aplikacji z Prometheusa. I wszystko to b\u0119dzie na jednym pulpicie. Przejrzyste i dost\u0119pne.<\/p>\n<p>Zaznacz\u0119 r\u00f3wnie\u017c kwesti\u0119 bezpiecze\u0144stwa \u2014 obecnie dopracowujemy system, kt\u00f3ry p\u00f3\u017aniej zintegrowa\u0107 b\u0119dziemy z globalnym systemem monitorowania. Moim zdaniem, g\u0142\u00f3wne problemy, z kt\u00f3rymi boryka si\u0119 e-commerce w zakresie bezpiecze\u0144stwa informacji, zwi\u0105zane s\u0105 z botami, parserami i atakami brute force. Trzeba to monitorowa\u0107, poniewa\u017c wszystko to mo\u017ce mie\u0107 krytyczny wp\u0142yw na dzia\u0142anie naszych aplikacji oraz na reputacj\u0119 z punktu widzenia biznesu. Wybranym stosem skutecznie pokrywamy te zadania.<\/p>\n<p>Kolejnym wa\u017cnym punktem jest to, \u017ce poziom aplikacji zbierany jest przez Prometheusa. Jest on r\u00f3wnie\u017c zintegrowany z Zabbixem. Dodatkowo mamy sitespeed, serwis, kt\u00f3ry pozwala nam monitorowa\u0107 takie parametry, jak czas \u0142adowania naszej strony, w\u0105skie gard\u0142a, renderowanie strony, \u0142adowanie skrypt\u00f3w i inne, kt\u00f3ry tak\u017ce jest zintegrowany przez API. Tak wi\u0119c metryki zbieramy w Zabbixie i z tego samego \u017ar\u00f3d\u0142a wysy\u0142amy alerty. Wszystkie alerty obecnie s\u0105 wysy\u0142ane g\u0142\u00f3wnie za po\u015brednictwem e-maila i telegramu; niedawno pod\u0142\u0105czyli\u015bmy r\u00f3wnie\u017c MS Teams. Planujemy rozbudowa\u0107 system powiadomie\u0144 do takiego stanu, aby inteligentni boty dzia\u0142a\u0142y jako serwis i dostarcza\u0142y informacje o monitorowaniu wszystkim zainteresowanym zespo\u0142om produktowym. <\/p>\n<p>Dla nas istotne s\u0105 metryki nie tylko poszczeg\u00f3lnych system\u00f3w informacyjnych, ale tak\u017ce og\u00f3lne metryki ca\u0142ej infrastruktury, z kt\u00f3rej korzystaj\u0105 aplikacje: klastry <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\u00f3w fizycznych\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1270\">serwer\u00f3w fizycznych<\/a>, na kt\u00f3rych dzia\u0142aj\u0105 wirtualne maszyny, balancery obci\u0105\u017cenia, Network Load Balancer-y, sama sie\u0107, wykorzystanie kana\u0142\u00f3w komunikacyjnych. Dodatkowo metryki z naszych w\u0142asnych centr\u00f3w danych (mamy ich kilka i infrastruktura jest do\u015b\u0107 znacznych rozmiar\u00f3w). <\/p>\n<p><img decoding=\"async\" alt=\"Monitorujemy Sportmaster \u2014 jak i czym\" src=\"\/wp-content\/uploads\/2020\/09\/aaee82a501dce0eee31c5a81662cd8be.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZalet\u0105 naszego systemu monitorowania jest to, \u017ce dzi\u0119ki niemu widzimy stan operacyjny wszystkich system\u00f3w, mo\u017cemy oceni\u0107 ich wzajemny wp\u0142yw oraz wp\u0142yw na wsp\u00f3lne zasoby. Ostatecznie pozwala nam to zajmowa\u0107 si\u0119 planowaniem zasob\u00f3w, co r\u00f3wnie\u017c nale\u017cy do naszego zakresu odpowiedzialno\u015bci. Zarz\u0105dzamy zasobami serwerowymi \u2014 pulami w ramach e-commerce, wprowadzamy i wyprowadzamy z eksploatacji nowe sprz\u0119ty, dokonujemy zakupu nowego sprz\u0119tu, przeprowadzamy audyt wykorzystania zasob\u00f3w i inne. Ka\u017cdego roku zespo\u0142y planuj\u0105 nowe projekty, rozwijaj\u0105 w\u0142asne systemy, a dla nas istotne jest zapewnienie im zasob\u00f3w. <\/p>\n<p>Dzi\u0119ki metrykom widzimy tendencj\u0119 zu\u017cycia zasob\u00f3w przez nasze systemy informacyjne. Na ich podstawie mo\u017cemy co\u015b zaplanowa\u0107. Na poziomie wirtualizacji zbieramy dane i widzimy informacje o dost\u0119pnej ilo\u015bci zasob\u00f3w w kontek\u015bcie centr\u00f3w danych. A ju\u017c wewn\u0105trz centrum danych widzimy zar\u00f3wno wykorzystanie, jak i faktyczne rozdzielenie oraz zu\u017cycie zasob\u00f3w, zar\u00f3wno dla serwer\u00f3w standalone, jak i wirtualnych maszyn oraz klastr\u00f3w fizycznych serwer\u00f3w, na kt\u00f3rych wszystkie te wirtualki sprawnie dzia\u0142aj\u0105. <\/p>\n<h2>Perspektywy<\/h2>\n<p>\nObecnie mamy gotowe j\u0105dro systemu jako ca\u0142o\u015b\u0107, ale pozosta\u0142o jeszcze wiele kwestii, nad kt\u00f3rymi musimy pracowa\u0107. Przynajmniej warstwa bezpiecze\u0144stwa informacji, ale wa\u017cne jest r\u00f3wnie\u017c dotarcie do sieci, rozwini\u0119cie systemu alert\u00f3w i rozwi\u0105zanie problemu z korelacj\u0105. Mamy wiele warstw i system\u00f3w, a na ka\u017cdej z warstw mn\u00f3stwo metryk. To jak matrioszka w stopniu matrioszki.<\/p>\n<p>Naszym celem jest w ko\u0144cu stworzenie odpowiednich alert\u00f3w. Na przyk\u0142ad, je\u015bli wyst\u0105pi\u0142 problem z cz\u0119\u015bci\u0105 sprz\u0119tow\u0105, znowu z maszyn\u0105 wirtualn\u0105, a tam by\u0142o wa\u017cne aplikacji, a us\u0142uga nie by\u0142a w \u017caden spos\u00f3b zarezerwowana. Dowiemy si\u0119, \u017ce maszyna wirtualna uleg\u0142a awarii. Nast\u0119pnie b\u0119d\u0105 alarmowa\u0107 metryki biznesowe: u\u017cytkownicy gdzie\u015b znikn\u0119li, nie ma konwersji, interfejs UI jest niedost\u0119pny, oprogramowanie i us\u0142ugi r\u00f3wnie\u017c przesta\u0142y dzia\u0142a\u0107.<\/p>\n<p>W takim przypadku otrzymamy spam z alertami, co ju\u017c nie pasuje do formatu prawid\u0142owego systemu monitorowania. Pojawia si\u0119 kwestia korelacji. Dlatego w idealnym przypadku nasz system monitorowania powinien powiedzie\u0107: \u201eCh\u0142opaki, wasza fizyczna maszyna uleg\u0142a awarii, a razem z ni\u0105 ta aplikacja i takie metryki\u201d, za pomoc\u0105 jednego alertu, zamiast zasypywa\u0107 nas setk\u0105 alert\u00f3w. Powinien informowa\u0107 o g\u0142\u00f3wnym problemie \u2014 o przyczynie, co sprzyja szybkiemu rozwi\u0105zaniu problemu poprzez jego lokalizacj\u0119.<\/p>\n<p>Nasz system powiadomie\u0144 i przetwarzania alert\u00f3w jest zbudowany wok\u00f3\u0142 ca\u0142odobowej infolinii. Wszystkie alerty, kt\u00f3re uznajemy za niezb\u0119dne i kt\u00f3re znajduj\u0105 si\u0119 na naszej li\u015bcie kontrolnej, s\u0105 przekazywane tam. Ka\u017cdy alert musi mie\u0107 opis: co si\u0119 wydarzy\u0142o, co to oznacza i na co wp\u0142ywa. A tak\u017ce link do pulpitu nawigacyjnego i instrukcj\u0119, co w takim przypadku nale\u017cy zrobi\u0107. <\/p>\n<p>To wszystko, co dotyczy wymaga\u0144 dotycz\u0105cych budowy systemu alert\u00f3w. Nast\u0119pnie sytuacja mo\u017ce rozwija\u0107 si\u0119 w dw\u00f3ch kierunkach \u2014 albo problem istnieje i nale\u017cy go rozwi\u0105za\u0107, albo wyst\u0105pi\u0142a awaria w systemie monitorowania. W ka\u017cdym przypadku trzeba dzia\u0142a\u0107 i dowiedzie\u0107 si\u0119, co si\u0119 dzieje.<\/p>\n<p>\u015arednio obecnie otrzymujemy oko\u0142o stu alert\u00f3w dziennie, bior\u0105c pod uwag\u0119, \u017ce korelacja alert\u00f3w jeszcze nie zosta\u0142a prawid\u0142owo skonfigurowana. A je\u015bli potrzebujemy przeprowadzi\u0107 prace techniczne i co\u015b z powrotem wy\u0142\u0105czamy, ich liczba wzrasta wielokrotnie. <\/p>\n<p>Opr\u00f3cz monitorowania system\u00f3w, kt\u00f3re eksploatujemy, oraz zbierania metryk uznawanych przez nas za wa\u017cne, system monitorowania umo\u017cliwia zbieranie danych dla zespo\u0142\u00f3w produktowych. Mog\u0105 one wp\u0142ywa\u0107 na sk\u0142ad metryk w ramach system\u00f3w informacyjnych, kt\u00f3re s\u0105 u nas monitorowane. <\/p>\n<p>Nasz kolega mo\u017ce przyj\u015b\u0107 i poprosi\u0107 o dodanie jakiej\u015b metryki, kt\u00f3ra oka\u017ce si\u0119 przydatna zar\u00f3wno dla nas, jak i dla zespo\u0142u. Albo na przyk\u0142ad zesp\u00f3\u0142 mo\u017ce nie mie\u0107 wystarczaj\u0105cych podstawowych metryk, kt\u00f3re posiadamy, potrzebuj\u0105 oni \u015bledzi\u0107 co\u015b specyficznego. W Grafanie tworzymy przestrze\u0144 dla ka\u017cdego zespo\u0142u i przydzielamy prawa administratora. Je\u015bli zesp\u00f3\u0142 potrzebuje pulpit\u00f3w nawigacyjnych, a nie mog\u0105 sami tego zrobi\u0107 lub nie wiedz\u0105 jak, pomagamy im. <\/p>\n<p>Poniewa\u017c jeste\u015bmy poza strumieniem tworzenia warto\u015bci zespo\u0142u, ich wyda\u0144 i planowania, stopniowo dochodzimy do punktu, w kt\u00f3rym wydania wszystkich system\u00f3w s\u0105 bezszwowe i mog\u0105 by\u0107 wdra\u017cane codziennie, bez konieczno\u015bci uzgadniania z nami. A dla nas wa\u017cne jest, aby \u015bledzi\u0107 te wydania, poniewa\u017c potencjalnie mog\u0105 one wp\u0142yn\u0105\u0107 na dzia\u0142anie aplikacji i co\u015b zepsu\u0107, co jest krytyczne. Do zarz\u0105dzania wydaniami u\u017cywamy Bamboo, z kt\u00f3rego za pomoc\u0105 API uzyskujemy dane i mo\u017cemy zobaczy\u0107, jakie wydania w jakich systemach informacyjnych mia\u0142y miejsce i ich status. I co najwa\u017cniejsze \u2014 o kt\u00f3rej godzinie. Oznaczenia wydania nak\u0142adamy na g\u0142\u00f3wne krytyczne metryki, co wizualnie stanowi znacz\u0105cy sygna\u0142 w przypadku problem\u00f3w.<\/p>\n<p>W ten spos\u00f3b mo\u017cemy zobaczy\u0107 korelacj\u0119 mi\u0119dzy nowymi wydaniami a pojawiaj\u0105cymi si\u0119 problemami. G\u0142\u00f3wna idea polega na tym, aby rozumie\u0107, jak dzia\u0142a system na wszystkich poziomach, szybko lokalizowa\u0107 problem i r\u00f3wnie szybko go naprawi\u0107. Cz\u0119sto bowiem najwi\u0119cej czasu zajmuje nie rozwi\u0105zanie problemu, a znalezienie przyczyny. <\/p>\n<p>W tej dziedzinie chcemy w przysz\u0142o\u015bci skupi\u0107 si\u0119 na proaktywno\u015bci. Idealnie by\u0142oby z wyprzedzeniem dowiadywa\u0107 si\u0119 o nadchodz\u0105cych problemach, a nie post factum, aby m\u00f3c im zapobiega\u0107, a nie je rozwi\u0105zywa\u0107. Czasami zdarzaj\u0105 si\u0119 fa\u0142szywe alarmy systemu monitorowania, zar\u00f3wno z powodu b\u0142\u0119d\u00f3w ludzkich, jak i zmian w aplikacji. Pracujemy nad tym, usprawniamy system i staramy si\u0119 przed wszelkimi manipulacjami w systemie monitorowania ostrzega\u0107 u\u017cytkownik\u00f3w, kt\u00f3rzy pracuj\u0105 z nami, lub przeprowadza\u0107 te dzia\u0142ania w oknie technicznym. <\/p>\n<p>System zosta\u0142 uruchomiony i dzia\u0142a pomy\u015blnie od pocz\u0105tku wiosny\u2026 i pokazuje ca\u0142kiem realne zyski. Oczywi\u015bcie, to nie jest jego ostateczna wersja, zamierzamy wprowadzi\u0107 jeszcze wiele przydatnych funkcji. Ale ju\u017c teraz, przy tak du\u017cej liczbie integracji i aplikacji, bez automatyzacji monitoringu naprawd\u0119 si\u0119 nie ob\u0119dzie.<\/p>\n<p>Je\u015bli r\u00f3wnie\u017c monitorujesz du\u017ce projekty z powa\u017cn\u0105 ilo\u015bci\u0105 integracji \u2014 napisz w komentarzach, jak\u0105 srebrn\u0105 kul\u0119 znalaz\u0142e\u015b do tego.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u044b \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0421\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u0434\u0435\u043b\u043e \u2014 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u2014 \u0432 \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442. \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a? \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432\u043e\u043a\u0440\u0443\u0433 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 \u0444\u0440\u043e\u043d\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0446\u0435\u043b\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0432\u0438\u0434\u044f\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":93359,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-93358","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u044b \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0421\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u0434\u0435\u043b\u043e \u2014 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u2014 \u0432 \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043c \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u043a\u0430\u043a \u0438 \u0447\u0435\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u044b \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0421\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u0434\u0435\u043b\u043e \u2014 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u2014 \u0432 \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-06T05:42:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-06T05:42:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Monitorujemy Sportmaster \u2014 jak i czym | ProHoster","description":"O stworzeniu systemu monitorowania pomy\u015bleli\u015bmy na etapie formowania zespo\u0142\u00f3w produktowych. Sta\u0142o si\u0119 jasne, \u017ce nasz dzia\u0142 \u2014 eksploatacja \u2014 w \u017caden spos\u00f3b nie wchodzi w sk\u0142ad tych zespo\u0142\u00f3w.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043c \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u2014 \u043a\u0430\u043a \u0438 \u0447\u0435\u043c | ProHoster","og:description":"\u041e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u044b \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434. \u0421\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u0434\u0435\u043b\u043e \u2014 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u2014 \u0432 \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/monitorim-sportmaster-kak-i-chem","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-06T05:42:57+00:00","article:modified_time":"2020-09-06T05:42:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93358","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:49:43","updated":"2026-02-09 16:45:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=93358"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93358\/revisions"}],"predecessor-version":[{"id":158514,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/93358\/revisions\/158514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/93359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=93358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=93358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=93358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}