{"id":52115,"date":"2019-11-01T00:00:00","date_gmt":"2019-10-31T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury"},"modified":"2020-02-18T13:59:47","modified_gmt":"2020-02-18T10:59:47","slug":"monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","title":{"rendered":"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A mai napon projekt\u00fcnk\u00f6n a monolitikus k\u00f3d mellett tucatnyi mikroszolg\u00e1ltat\u00e1s m\u0171k\u00f6dik. Mindegyik\u00fck folyamatos figyel\u00e9st ig\u00e9nyel. Ekkora mennyis\u00e9gben a DevOps m\u00e9rn\u00f6k\u00f6k seg\u00edts\u00e9g\u00e9vel ez probl\u00e9m\u00e1s. Kifejlesztett\u00fcnk egy monitoroz\u00e1si rendszert, amely szolg\u00e1ltat\u00e1sk\u00e9nt m\u0171k\u00f6dik a fejleszt\u0151k sz\u00e1m\u00e1ra. \u0150k maguk m\u00e9rhetik be az adatokat a monitoroz\u00e1si rendszerbe, haszn\u00e1lhatj\u00e1k azokat, \u00e9s alapjukra ir\u00e1ny\u00edtj\u00e1k a dashboardokat, figyelmeztet\u00e9seket csatolhatnak hozz\u00e1juk, amelyek akkor aktiv\u00e1l\u00f3dnak, amikor a k\u00fcsz\u00f6b\u00e9rt\u00e9kek el\u00e9rik. A DevOps m\u00e9rn\u00f6k\u00f6knek \u2013 csak az infrastrukt\u00fara \u00e9s a dokument\u00e1ci\u00f3 \u00e1ll rendelkez\u00e9sre. <\/p>\n<p>Ez a bejegyz\u00e9s a plen\u00e1ris el\u0151ad\u00e1somnak a <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/tomicro\">szekci\u00f3ja<\/a><\/noindex> a RIT++-on. Sokan k\u00e9rt\u00e9k, hogy k\u00e9sz\u00edts\u00fcnk sz\u00f6veges v\u00e1ltozatokat az ott elhangzottakr\u00f3l. Ha r\u00e9szt vett\u00e9l a konferenci\u00e1n vagy n\u00e9zted a vide\u00f3t, nem tal\u00e1lsz semmi \u00fajat. Mindenki m\u00e1snak \u2013 \u00fcdv\u00f6z\u00f6lj\u00fck az al\u00e1bbiakban. Elmondom, hogyan jutottunk el ehhez a rendszerhez, hogyan m\u0171k\u00f6dik \u00e9s hogyan tervezz\u00fck a friss\u00edt\u00e9s\u00e9t. <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/000b8fdc8fb16aa76ce545ff2aa4e767.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>A m\u00falt: s\u00e9m\u00e1k \u00e9s tervek <\/h3>\n<p>\nHogyan jutottunk el a megl\u00e9v\u0151 monitoroz\u00e1si rendszerhez? Ehhez vissza kell menn\u00fcnk 2015-be. \u00cdgy n\u00e9zett ki akkor: <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/d955f9bcdb5f5a5a54720c77113ca85d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00f6r\u00fclbel\u00fcl 24 csom\u00f3pontunk volt, amelyek a monitoroz\u00e1s\u00e9rt feleltek. Itt egy eg\u00e9sz halom k\u00fcl\u00f6nf\u00e9le cron, szkript, d\u00e9mon m\u0171k\u00f6dik, amelyek valamit itt-ott figyelnek, \u00fczeneteket k\u00fcldenek, funkci\u00f3kat hajtanak v\u00e9gre. Arra gondoltunk, hogy min\u00e9l tov\u00e1bb megy\u00fcnk, ann\u00e1l kev\u00e9sb\u00e9 lesz \u00e9letk\u00e9pes ez a rendszer. Fejleszteni nem \u00e9rdemes: t\u00fal terjedelmes. <br \/>\n\u00dagy d\u00f6nt\u00f6tt\u00fcnk, hogy kiv\u00e1lasztjuk azokat a monitoroz\u00e1si elemeket, amelyeket megtartunk \u00e9s fejleszt\u00fcnk, valamint azokat, amelyekr\u0151l lemondunk. Ezek sz\u00e1ma 19 lett. Csak grafitok, aggreg\u00e1torok \u00e9s Grafana maradt fenn dashboardk\u00e9nt. De hogyan fog kin\u00e9zni az \u00faj rendszer? \u00cdgy: <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/57d220113d0b76c05874b5d774bff8af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVan egy metrikai t\u00e1rol\u00f3nk: ez grafitok, amelyek gyors SSD-kre \u00e9p\u00edtkeznek, \u00e9s bizonyos aggreg\u00e1torok a metrik\u00e1khoz. Ezt k\u00f6vet\u0151en \u2013 Grafana a dashboardok megjelen\u00edt\u00e9s\u00e9hez \u00e9s Moira figyelmeztet\u00e9sk\u00e9nt. Emellett egy anom\u00e1liakeres\u0151 rendszert is szeretn\u00e9nk kifejleszteni. <\/p>\n<h3>Szabv\u00e1ny: Monitoroz\u00e1s 2.0<\/h3>\n<p>\n\u00cdgy n\u00e9ztek ki a tervek 2015-ben. De nemcsak az infrastrukt\u00far\u00e1t \u00e9s mag\u00e1t a szolg\u00e1ltat\u00e1st kellett el\u0151k\u00e9sz\u00edten\u00fcnk, hanem a dokument\u00e1ci\u00f3t is. Kifejlesztett\u00fck a v\u00e1llalati szabv\u00e1nyunkat, amelyet Monitoroz\u00e1s 2.0 n\u00e9vre keresztelt\u00fcnk. Mik voltak a k\u00f6vetelm\u00e9nyek a rendszerrel szemben? <\/p>\n<ul>\n<li>folyamatos rendelkez\u00e9sre \u00e1ll\u00e1s; <\/li>\n<li>a metrik\u00e1k t\u00e1rol\u00e1si intervalluma = 10 m\u00e1sodperc; <\/li>\n<li>struktur\u00e1lt metrik\u00e1k \u00e9s dashboardok t\u00e1rol\u00e1sa; <\/li>\n<li>SLA &gt; 99,99% <\/li>\n<li>esem\u00e9ny metrik\u00e1k gy\u0171jt\u00e9se UDP-n kereszt\u00fcl (!). <\/li>\n<\/ul>\n<p>\nSz\u00fcks\u00e9g\u00fcnk volt UDP-re, mivel nagy forgalmunk \u00e9s esem\u00e9nyeink vannak, amelyek metrik\u00e1kat gener\u00e1lnak. Ha mindet egyszerre \u00edrn\u00e1nk a Graphite-ba, a t\u00e1rol\u00f3nk \u00f6sszeomlana. Emellett az els\u0151 szint\u0171 prefixeket v\u00e1lasztottuk minden metrik\u00e1hoz. <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/d24c4474b19b532a48cef4d4376287ad.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMinden prefix valamilyen jelleggel b\u00edr. Vannak metrik\u00e1k a szerverek, h\u00e1l\u00f3zatok, kont\u00e9nerek, er\u0151forr\u00e1sok, alkalmaz\u00e1sok \u00e9s \u00edgy tov\u00e1bb vonatkoz\u00e1s\u00e1ban. Pontos, szigor\u00fa, tipiz\u00e1lt sz\u0171r\u00e9st val\u00f3s\u00edtottunk meg, ahol az els\u0151 szint\u0171 metrik\u00e1kat fogadjuk, a t\u00f6bbit pedig egyszer\u0171en eldobjuk. \u00cdgy tervezt\u00fck meg ezt a rendszert 2015-ben. Mi a helyzet most? <\/p>\n<h3>A jelenlegi \u00e1llapot: a monitoring komponensek k\u00f6z\u00f6tti interakci\u00f3s s\u00e9ma<\/h3>\n<p>\nEls\u0151sorban az alkalmaz\u00e1sokat monitor\u00e1ljuk: a PHP k\u00f3dunkat, az alkalmaz\u00e1sokat \u00e9s a mikroszolg\u00e1ltat\u00e1sokat \u2013 mindent, amit a fejleszt\u0151ink \u00edrnak. Minden alkalmaz\u00e1s UDP-n kereszt\u00fcl k\u00fcld metrik\u00e1kat a Brubeck aggregator sz\u00e1m\u00e1ra (statsd, amelyet C nyelven \u00edrtak \u00e1t). Ez bizonyult a leggyorsabbnak a szintetikus tesztek eredm\u00e9nyei alapj\u00e1n. Az aggreg\u00e1tor m\u00e1r aggreg\u00e1lt metrik\u00e1kat k\u00fcld a Graphite-ba TCP-n kereszt\u00fcl. <\/p>\n<p>Van egy olyan t\u00edpus\u00fa metrik\u00e1nk, mint a timer-ek. Ez nagyon k\u00e9nyelmes dolog. P\u00e9ld\u00e1ul minden felhaszn\u00e1l\u00f3i kapcsolat eset\u00e9n a szolg\u00e1ltat\u00e1ssal k\u00fcld egy metrik\u00e1t a Brubeck-nek a v\u00e1laszid\u0151r\u0151l. Egymilli\u00f3 v\u00e1lasz \u00e9rkezik, de az aggreg\u00e1tor csup\u00e1n 10 metrik\u00e1t ad ki. \u00cdgy megvan a be\u00e9rkezett l\u00e1togat\u00f3k sz\u00e1ma, a maxim\u00e1lis, minim\u00e1lis \u00e9s \u00e1tlagos v\u00e1laszid\u0151, a medi\u00e1n \u00e9s 4 percentilis. Azt\u00e1n az adatokat a Graphite-ba tov\u00e1bb\u00edtj\u00e1k, \u00e9s mindezeket \u00e9l\u0151ben l\u00e1tjuk. <\/p>\n<p>Van egy aggreg\u00e1ci\u00f3nk a hardver, szoftver, rendszer metrik\u00e1k \u00e9s a r\u00e9gi Munin monitoring rendszer\u00fcnk sz\u00e1m\u00e1ra (amely 2015-ig m\u0171k\u00f6d\u00f6tt n\u00e1lunk). Mindez a C nyelv\u0171 CollectD d\u00e9monon kereszt\u00fcl gy\u0171jtj\u00fck \u00f6ssze (amelyben sz\u00e1mos plugin van be\u00e9p\u00edtve, \u00e9s k\u00e9pes lek\u00e9rdezni az \u00e9rintett hoszt rendszert, amelyen telep\u00edtve van, csak meg kell adni a konfigur\u00e1ci\u00f3ban, hov\u00e1 \u00edrja az adatokat), \u00e9s ezeket az adatokat Graphite-ba \u00edrjuk. Tov\u00e1bb\u00e1, t\u00e1mogatja a python \u00e9s shell script pluginokat is, \u00edgy \u00edrhatsz saj\u00e1t egyedi megold\u00e1sokat: a CollectD ezeket az adatokat a helyi vagy t\u00e1voli hosztr\u00f3l (mondjuk, ha van Curl) begy\u0171jti \u00e9s elk\u00fcldi a Graphite-nak. <\/p>\n<p>A tov\u00e1bbiakban minden metrikkal, amelyet \u00f6sszegy\u0171jt\u00f6tt\u00fcnk, a Carbon-c-relay-ba k\u00fcldj\u00fck. Ez a Carbon Relay megold\u00e1s a Graphite-t\u00f3l, C nyelven tov\u00e1bbfejlesztve. Ez egy router, amely \u00f6sszegy\u0171jti az \u00f6sszes metrikk\u00e1t, amelyet az aggreg\u00e1torainkr\u00f3l k\u00fcld\u00fcnk, \u00e9s azokat ir\u00e1ny\u00edtja a node-okon. A routing szakasz\u00e1ban ellen\u0151rzi a metrik\u00e1k \u00e9rv\u00e9nyess\u00e9g\u00e9t. El\u0151sz\u00f6r is, meg kell felelni\u00fck annak a s\u00e9ma el\u0151tagjainak, amelyet kor\u00e1bban bemutattam, \u00e9s m\u00e1sodszor \u00e9rv\u00e9nyesek a Graphite sz\u00e1m\u00e1ra. K\u00fcl\u00f6nben eldobj\u00e1k \u0151ket. <\/p>\n<p>Ezut\u00e1n a Carbon-c-relay elk\u00fcldi a metrik\u00e1t a Graphite klaszterbe. Az alap\u00e9rtelmezett metrikat\u00e1rol\u00f3nk a Carbon-cache, amelyet Go nyelven \u00edrtunk \u00e1t. A Go-carbon a p\u00e1rhuzamos feldolgoz\u00e1sa miatt l\u00e9nyegesen fel\u00fclm\u00falja a Carbon-cache teljes\u00edtm\u00e9ny\u00e9t. Az adatok meg\u00e9rkeznek, \u00e9s a whisper csomag seg\u00edts\u00e9g\u00e9vel \u00edrj\u00e1k \u0151ket a lemezekre (ez a standard, Python nyelven \u00edr\u00f3dott). Az adataink olvas\u00e1s\u00e1hoz a Graphite API-t haszn\u00e1ljuk. Ez sokkal gyorsabban m\u0171k\u00f6dik, mint a standard Graphite WEB. Mi t\u00f6rt\u00e9nik az adatokkal ezut\u00e1n? <\/p>\n<p>Az adatok a Grafan\u00e1ba ker\u00fclnek. Az alapvet\u0151 adatforr\u00e1sunk a Graphite klaszterek, plusz van egy Grafana mint webes fel\u00fclet, amely megjelen\u00edti a metrikat, \u00e9s lehet\u0151v\u00e9 teszi a dashboardok k\u00e9sz\u00edt\u00e9s\u00e9t. Minden szolg\u00e1ltat\u00e1sunk fejleszt\u0151i saj\u00e1t dashboardot hoznak l\u00e9tre. Ezut\u00e1n grafikonokat \u00e9p\u00edtenek rajtuk, amelyek megjelen\u00edtik az alkalmaz\u00e1saikb\u00f3l \u00edrt metrik\u00e1kat. A Grafana mellett van m\u00e9g SLAM is. Ez egy Python demon, amely az SLA-t sz\u00e1molja a Graphite-b\u00f3l sz\u00e1rmaz\u00f3 adatok alapj\u00e1n. Ahogy m\u00e1r eml\u00edtettem, t\u00f6bb tucat mikroszolg\u00e1ltat\u00e1sunk van, mindegyiknek vannak saj\u00e1t k\u00f6vetelm\u00e9nyei. A SLAM seg\u00edts\u00e9g\u00e9vel megn\u00e9zz\u00fck a dokument\u00e1ci\u00f3t, \u00e9s \u00f6sszehasonl\u00edtjuk azt a megl\u00e9v\u0151 Graphite-tal, hogy mennyire felelnek meg a k\u00f6vetelm\u00e9nyek a szolg\u00e1ltat\u00e1saink el\u00e9rhet\u0151s\u00e9g\u00e9nek. <\/p>\n<p>Folytassuk: az alerting. Ez egy er\u0151s rendszer, a Moira seg\u00edts\u00e9g\u00e9vel van megszervezve. F\u00fcggetlen, mert saj\u00e1t Graphite-j\u00e1val rendelkezik. A SKB \"Kontur\" csapata fejlesztette ki, Pythonban \u00e9s Go-ban \u00edr\u00f3dott, teljesen ny\u00edlt forr\u00e1sk\u00f3d\u00fa. A Moira ugyanazt az adatfolyamot kapja, mint ami a Graphite-ba megy. Ha valamilyen okb\u00f3l le\u00e1ll a t\u00e1rol\u00f3, az alerting m\u0171k\u00f6dni fog.<\/p>\n<p>A Moira-t a Kubernetes-ben val\u00f3s\u00edtottuk meg, mint a f\u0151 adatb\u00e1zist, a Redis szerverek klaszter\u00e9t haszn\u00e1lva. \u00cdgy egy megb\u00edzhat\u00f3 rendszer j\u00f6tt l\u00e9tre. \u00d6sszehasonl\u00edtja a metrika\u00e1ramot a kiv\u00e1lt\u00f3k list\u00e1j\u00e1val: ha nincs eml\u00edt\u00e9s a list\u00e1n, akkor eldobja a metrik\u00e1t. \u00cdgy k\u00e9pes percenk\u00e9nt gigabyte metrik\u00e1kat feldolgozni. <\/p>\n<p>Ezen k\u00edv\u00fcl csatoltuk a v\u00e1llalati LDAP-ot, amellyel minden felhaszn\u00e1l\u00f3 a v\u00e1llalati rendszerben \u00e9rtes\u00edt\u00e9seket hozhat l\u00e9tre a megl\u00e9v\u0151 (vagy \u00fajonnan l\u00e9trehozott) kiv\u00e1lt\u00f3k alapj\u00e1n. Mivel a Moira tartalmazza a Graphite-ot, t\u00e1mogatja annak minden funkci\u00f3j\u00e1t. El\u0151sz\u00f6r egy sort vesz, \u00e9s bem\u00e1solja a Grafan\u00e1ba. Megn\u00e9zi, hogyan jelennek meg az adatok a grafikonokon. Azt\u00e1n ugyanezt a sort bem\u00e1solja a Moir\u00e1ba, korl\u00e1tokkal l\u00e1tja el, \u00e9s \u00edgy kap \u00e9les figyelmeztet\u00e9seket. Ehhez nincs sz\u00fcks\u00e9ge semmilyen speci\u00e1lis tud\u00e1sra. A Moira k\u00e9pes \u00e9rtes\u00edteni SMS-ben, emailben, Jir\u00e1ban, Slackben... T\u00e1mogatja a testreszabott szkriptek v\u00e9grehajt\u00e1s\u00e1t is. Amikor egy kiv\u00e1lt\u00f3 bek\u00f6vetkezik, \u00e9s a Moira \u00edrva van egy testreszabott szkriptre vagy bin\u00e1ris f\u00e1jlra, elind\u00edtja azt, \u00e9s a JSON-t stdin-ben \u00e1tadja a bin\u00e1risnak. K\u00f6vetkez\u00e9sk\u00e9ppen a programj\u00e1nak ezt ki kell elemeznie. Hogy mit kezd a JSON-nal, az \u00f6n d\u00f6nt\u00e9se. <\/p>\n<p>A figyelmeztet\u00e9shez egy saj\u00e1t fejleszt\u00e9s\u0171 megold\u00e1st is haszn\u00e1lunk - Imagotag. Az \u00fczletekben \u00e1ltal\u00e1ban elektronikus \u00e1rkijelz\u0151k sz\u00e1m\u00e1ra alkalmazott panelt alak\u00edtottuk \u00e1t a mi ig\u00e9nyeink szerint. Kihoztuk r\u00e1 a Moira kiv\u00e1lt\u00f3it. Ott felt\u00fcntetj\u00fck, hogy milyen \u00e1llapotban vannak \u00e9s mikor t\u00f6rt\u00e9nt az esem\u00e9ny. A fejleszt\u0151 csapat egy r\u00e9sze lemondott a Slack \u00e9s email \u00e9rtes\u00edt\u00e9sekr\u0151l, ehelyett ezt a panelt haszn\u00e1lja. <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/bcf454c96adaa0cff81f5e56db5b715c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMint progressz\u00edv c\u00e9g, a Kubernetes-t is monitoroztuk ebben a rendszerben. A Heapster seg\u00edts\u00e9g\u00e9vel integr\u00e1ltuk, amelyet a klaszterbe telep\u00edtett\u00fcnk, ez \u00f6sszegy\u0171jti az adatokat \u00e9s elk\u00fcldi \u0151ket a Graphite-nak. Ennek eredm\u00e9nyek\u00e9ppen a s\u00e9ma \u00edgy n\u00e9z ki: <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/cca0f2f9f590fc84609d48e52ebd0d21.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Monitoring komponensek<\/h3>\n<p>Itt van a lista azokr\u00f3l a komponensekr\u0151l, amelyeket ehhez a feladathoz haszn\u00e1ltunk. Mindegyik ny\u00edlt forr\u00e1sk\u00f3d\u00fa. <\/p>\n<h4>Graphite:<\/h4>\n<p><\/p>\n<ul>\n<li>go-carbon: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lomik\/go-carbon\">github.com\/lomik\/go-carbon<\/a><\/noindex><\/li>\n<li>whisper: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/whisper\">github.com\/graphite-project\/whisper<\/a><\/noindex> <\/li>\n<li>graphite-api: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/brutasse\/graphite-api\">github.com\/brutasse\/graphite-api<\/a><\/noindex> <\/li>\n<\/ul>\n<h4>Carbon-c-relay: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grobian\/carbon-c-relay\">github.com\/grobian\/carbon-c-relay<\/a><\/noindex> <\/p>\n<h4>Brubeck: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/brubeck\">github.com\/github\/brubeck<\/a><\/noindex> <\/p>\n<h4>Collectd:<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/collectd.org\/\">collectd.org<\/a><\/noindex><\/p>\n<h4>Moira: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/moira-alert\">github.com\/moira-alert<\/a><\/noindex> <\/p>\n<h4>Grafana: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/\">grafana.com<\/a><\/noindex> <\/p>\n<h4>Heapster: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/heapster\">github.com\/kubernetes\/heapster<\/a><\/noindex><\/p>\n<h3>Statisztika<\/h3>\n<p>\n\u00c9s itt van n\u00e9h\u00e1ny sz\u00e1m arr\u00f3l, hogyan m\u0171k\u00f6dik a rendszer n\u00e1lunk. <\/p>\n<h4>Aggregator (brubeck)<\/h4>\n<p>\nMetrik\u00e1k sz\u00e1ma: ~ 300 000 \/ sec<br \/>\nMetrik\u00e1k Graphite-ba k\u00fcld\u00e9s\u00e9nek intervalluma: 30 sec<br \/>\nA szerver er\u0151forr\u00e1s-haszn\u00e1lata: ~ 6% CPU (teljes \u00e9rt\u00e9k\u0171 szerverekr\u0151l van sz\u00f3); ~ 1Gb RAM; ~ 3 Mbps LAN<\/p>\n<h4>Graphite (go-carbon)<\/h4>\n<p>\nMetrik\u00e1k sz\u00e1ma: ~ 1 600 000 \/ min<br \/>\nMetrik\u00e1k friss\u00edt\u00e9si intervalluma: 30 sec<br \/>\nMetrik\u00e1k t\u00e1rol\u00e1si s\u00e9m\u00e1ja: 30sec 35d, 5min 90d, 10min 365d (ez seg\u00edt meg\u00e9rteni, mi t\u00f6rt\u00e9nik a szolg\u00e1ltat\u00e1ssal hosszabb id\u0151szakok alatt) <br \/>\nA szerver er\u0151forr\u00e1s-haszn\u00e1lata: ~ 10% CPU; ~ 20Gb RAM; ~ 30 Mbps LAN<\/p>\n<h3>Rugalmass\u00e1g<\/h3>\n<p>\nMi az Avito-n\u00e1l nagyon \u00e9rt\u00e9kelj\u00fck a monitoring szolg\u00e1ltat\u00e1sunk rugalmass\u00e1g\u00e1t. Mi\u00e9rt lett ilyen? El\u0151sz\u00f6r is, az alkot\u00f3elemei k\u00f6lcs\u00f6n\u00f6sen helyettes\u00edthet\u0151k: mind az \u00f6sszetev\u0151k, mind a verzi\u00f3ik. M\u00e1sodszor \u2014 karbantarthat\u00f3s\u00e1g. Mivel az eg\u00e9sz projekt ny\u00edlt forr\u00e1sk\u00f3d\u00fa, saj\u00e1t maguk m\u00f3dos\u00edthatj\u00e1k a k\u00f3dot, v\u00e1ltoz\u00e1sokat hozhatnak l\u00e9tre, megval\u00f3s\u00edthatj\u00e1k azokat a funkci\u00f3kat, amelyek dobozb\u00f3l nem \u00e1llnak rendelkez\u00e9sre. El\u00e9g elterjedt technol\u00f3giai stack-eket haszn\u00e1lnak, f\u0151k\u00e9nt Go-t \u00e9s Python-t, \u00edgy ez viszonylag egyszer\u0171en kivitelezhet\u0151. <\/p>\n<p>\u00cdme egy p\u00e9ld\u00e1ul felmer\u00fclt probl\u00e9ma. A metrika a Graphite-ban \u2014 ez egy f\u00e1jl. Van egy neve. A f\u00e1jl neve = a metrika neve. \u00c9s van egy \u00fatvonal hozz\u00e1. A f\u00e1jlnevek a Linux-ban 255 karakterre korl\u00e1toz\u00f3dnak. \u00c9s nek\u00fcnk van (mint 'bels\u0151 megrendel\u0151k') egy csapat az adatb\u00e1zis-\u00e9rt\u00e9kes\u00edt\u00e9si oszt\u00e1lyb\u00f3l. \u0150k azt mondj\u00e1k nek\u00fcnk: \"Szeretn\u00e9nk figyelemmel k\u00eds\u00e9rni az SQL-lek\u00e9rdez\u00e9seinket. \u00c9s ezek nem 255 karakteresek, hanem 8 MB mindegyik. Szeretn\u00e9nk, ha Grafan\u00e1ban l\u00e1thatn\u00e1nk ezeket a lek\u00e9rdez\u00e9seket, l\u00e1tni szeretn\u00e9nk a param\u00e9tereket, \u00e9s ami m\u00e9g jobb, szeretn\u00e9nk l\u00e1tni a legjobb ilyen lek\u00e9rdez\u00e9seket. J\u00f3 lenne, ha val\u00f3s id\u0151ben megjelenhetn\u00e9nek. \u00c9s igaz\u00e1n szuper lenne, ha ezen bel\u00fcl alerteket is be tudn\u00e1nk \u00e1ll\u00edtani.\" <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer mikroszolg\u00e1ltat\u00e1s-architekt\u00far\u00e1hoz\" src=\"\/wp-content\/uploads\/2019\/11\/e1136c7fd0b6156c0c3fd49bab54737e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Az SQL lek\u00e9rdez\u00e9s p\u00e9ldak\u00e9nt szerepel a k\u00f6vetkez\u0151 c\u00edmr\u0151l <noindex><a rel=\"nofollow\" href=\"https:\/\/postgrespro.ru\/docs\/postgrespro\/9.6\/queries-with\">a postgrespro.ru weboldalr\u00f3l<\/a><\/noindex> <\/i><\/p>\n<p>Futtatunk egy Redis szervert \u00e9s CollectD pluginjainkkal, amelyek a Postgres-be mennek, \u00e9s ott elk\u00e9rik az \u00f6sszes adatot, majd a metrik\u00e1kat Graphite-ba k\u00fcldj\u00fck. De a metrik\u00e1k nev\u00e9t hash-ekre cser\u00e9lj\u00fck. Ugyanezt a hash-t p\u00e1rhuzamosan k\u00fcldj\u00fck el a Redis-be kulcs gyan\u00e1nt, \u00e9s az eg\u00e9sz SQL lek\u00e9rdez\u00e9st \u00e9rt\u00e9kk\u00e9nt. Csak annyit kell tenn\u00fcnk, hogy a Grafana k\u00e9pes legyen lek\u00e9rdezni a Redis-b\u0151l \u00e9s ezt az inform\u00e1ci\u00f3t megkapni. Megnyitjuk a Graphite API-t, mivel ez az \u00f6sszes monitoring komponens k\u00f6z\u00f6tti f\u0151 interf\u00e9sz a Graphite-tal, \u00e9s be\u00edrjuk az \u00faj funkci\u00f3t, az aliasByHash()-ot \u2014 a Grafana-t\u00f3l megkapjuk a metrika nev\u00e9t, \u00e9s ezt kulcsk\u00e9nt haszn\u00e1ljuk a Redis lek\u00e9rdez\u00e9s\u00e9ben, cser\u00e9be kapunk egy kulcs \u00e9rt\u00e9ket, amely a mi \u201cSQL lek\u00e9rdez\u00e9s\u00fcnk\u201d. \u00cdgy a Grafana-ban megjelen\u00edtett\u00fck az SQL lek\u00e9rdez\u00e9st, amelyet ott elvileg nem lehetett volna megjelen\u00edteni, egy\u00fctt a hozz\u00e1 tartoz\u00f3 statisztik\u00e1val (h\u00edv\u00e1sok, sorok, teljes id\u0151, ...). <\/p>\n<h3>\u00d6sszegz\u00e9s <\/h3>\n<p>\n<b>El\u00e9rhet\u0151s\u00e9g.<\/b> Monitoring szolg\u00e1ltat\u00e1sunk 24\/7 el\u00e9rhet\u0151 b\u00e1rmilyen alkalmaz\u00e1sb\u00f3l \u00e9s b\u00e1rmilyen k\u00f3db\u00f3l. Ha hozz\u00e1f\u00e9r\u00e9se van a t\u00e1rol\u00f3khoz, akkor adatokat \u00edrhat a szolg\u00e1ltat\u00e1sba. A nyelv nem sz\u00e1m\u00edt, a megold\u00e1sok nem sz\u00e1m\u00edtanak. Csak annyit kell tudnia, hogyan nyisson egy socket-et, dobja be oda a metrik\u00e1t, \u00e9s z\u00e1rja be a socket-et. <\/p>\n<p><b>Megb\u00edzhat\u00f3s\u00e1g.<\/b> Minden komponens megb\u00edzhat\u00f3, \u00e9s j\u00f3l kezeli a terhel\u00e9seinket. <\/p>\n<p><b>Alacsony bel\u00e9p\u00e9si k\u00fcsz\u00f6b.<\/b> Ahhoz, hogy haszn\u00e1lni tudja ezt a rendszert, nem kell programoz\u00e1si nyelveket \u00e9s Grafana lek\u00e9rdez\u00e9seket tanulm\u00e1nyoznia. Egyszer\u0171en nyissa meg az alkalmaz\u00e1s\u00e1t, \u00edrja be a socket-et, amely az adatokat a Graphite-ba k\u00fcldi, z\u00e1rja be, nyissa meg a Grafana-t, hozzon l\u00e9tre dashboardokat, \u00e9s figyelje meg a metrik\u00e1k viselked\u00e9s\u00e9t, \u00e9rtes\u00edt\u00e9seket kapva a Moira \u00e1ltal.<\/p>\n<p><b>\u00d6n\u00e1ll\u00f3s\u00e1g.<\/b> Mind ezt meg lehet csin\u00e1lni egyed\u00fcl, DevOps m\u00e9rn\u00f6k\u00f6k seg\u00edts\u00e9ge n\u00e9lk\u00fcl. Ez t\u00falz\u00e1s, mert most azonnal figyelheti a projektj\u00e9t, senkit sem kell megk\u00e9rdeznie - sem a munka megkezd\u00e9se el\u0151tt, sem a v\u00e1ltoztat\u00e1sokhoz. <\/p>\n<h3>Mire t\u00f6reksz\u00fcnk? <\/h3>\n<p>\nAz al\u00e1bb felsoroltak nem csup\u00e1n absztrakt gondolatok, hanem olyan c\u00e9lok, amelyekhez legal\u00e1bb az els\u0151 l\u00e9p\u00e9seket megtett\u00fck. <\/p>\n<ol>\n<li>Anom\u00e1liadetektor. Szeretn\u00e9nk l\u00e9trehozni egy szolg\u00e1ltat\u00e1st, amely a Graphite t\u00e1rol\u00f3inkban j\u00e1r, \u00e9s minden metrik\u00e1t k\u00fcl\u00f6nb\u00f6z\u0151 algoritmusok alapj\u00e1n ellen\u0151riz. M\u00e1r vannak olyan algoritmusok, amelyeket szeretn\u00e9nk vizsg\u00e1lni, vannak adatok, tudunk vel\u00fck dolgozni.\n<\/li>\n<li>Metaadatok. Sok szolg\u00e1ltat\u00e1sunk van, amelyek id\u0151vel v\u00e1ltoznak, ahogyan azok is, akik vel\u00fck dolgoznak. A dokument\u00e1ci\u00f3 k\u00e9zi vezet\u00e9se folyamatosan nem megold\u00e1s. Ez\u00e9rt most a mikroszolg\u00e1ltat\u00e1sainkba metaadatokat \u00e9p\u00edt\u00fcnk be. Ezekben fel van t\u00fcntetve, ki fejlesztette, milyen nyelvekkel l\u00e9p kapcsolatba, SLA k\u00f6vetelm\u00e9nyek, hova \u00e9s kinek kell k\u00fcldeni a \u00e9rtes\u00edt\u00e9seket. A szolg\u00e1ltat\u00e1s telep\u00edt\u00e9sekor minden entit\u00e1s adata automatikusan l\u00e9trej\u00f6n. V\u00e9g\u00fcl k\u00e9t linket kapsz - az egyik a triggerekr\u0151l, a m\u00e1sik a Grafana m\u0171szerfalakr\u00f3l.\n<\/li>\n<li>Monitoring minden h\u00e1zhoz. \u00dagy gondoljuk, hogy egy ilyen rendszert minden fejleszt\u0151nek haszn\u00e1lnia kell. \u00cdgy mindig tudod, hol van a forgalmad, mi t\u00f6rt\u00e9nik vele, hol esik le, hol vannak a gyenge pontjai. Ha v\u00e9letlen\u00fcl valami t\u00f6rt\u00e9nik \u00e9s \u00f6sszeomlik a szolg\u00e1ltat\u00e1sod, akkor err\u0151l nem a menedzsert\u0151l \u00e9rtes\u00fclsz telefonon, hanem egy riaszt\u00e1sb\u00f3l, \u00e9s azonnal meg tudod nyitni a friss napl\u00f3kat, \u00e9s meg tudod n\u00e9zni, mi t\u00f6rt\u00e9nt.\n<\/li>\n<li>Magas teljes\u00edtm\u00e9ny. A projekt\u00fcnk folyamatosan n\u00f6vekszik, \u00e9s ma k\u00f6r\u00fclbel\u00fcl 2 000 000 metrikus \u00e9rt\u00e9ket dolgoz fel percenk\u00e9nt. Egy \u00e9vvel ezel\u0151tt ez a sz\u00e1m 500 000 volt. A n\u00f6veked\u00e9s folytat\u00f3dik, \u00e9s ez azt jelenti, hogy egy id\u0151 ut\u00e1n a Graphite (whisper) nagyon meg fogja terhelni a lemez alrendszert. Ahogyan m\u00e1r mondtam, ez a monitoring rendszer meglehet\u0151sen univerz\u00e1lis, k\u00f6sz\u00f6nhet\u0151en a komponensek k\u00f6lcs\u00f6n\u00f6s helyettes\u00edthet\u0151s\u00e9g\u00e9nek. Valaki kifejezetten a Graphite-hoz karbantartja \u00e9s folyamatosan b\u0151v\u00edti az infrastrukt\u00far\u00e1j\u00e1t, de mi \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy m\u00e1s utat k\u00f6vet\u00fcnk: haszn\u00e1lni fogjuk <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/\">clickhousedb_fdw<\/a><\/noindex> mint a metrik\u00e1ink t\u00e1rol\u00f3jak\u00e9nt. Ez az \u00e1tt\u00e9r\u00e9s gyakorlatilag befejez\u0151d\u00f6tt, \u00e9s hamarosan r\u00e9szletesebben is mes\u00e9lek arr\u00f3l, hogyan t\u00f6rt\u00e9nt: milyen neh\u00e9zs\u00e9gekkel szembes\u00fclt\u00fcnk \u00e9s hogyan oldottuk meg \u0151ket, hogyan zajlott a migr\u00e1ci\u00f3s folyamat, le\u00edrom a v\u00e1lasztott komponenseket \u00e9s azok konfigur\u00e1ci\u00f3it. \n<\/li>\n<\/ol>\n<p>\nK\u00f6sz\u00f6n\u00f6m a figyelmet! K\u00e9rdezz\u00e9tek meg a t\u00e9m\u00e1val kapcsolatban, pr\u00f3b\u00e1lok itt vagy a k\u00f6vetkez\u0151 posztokban v\u00e1laszolni. Lehet, hogy valakinek van tapasztalata egy hasonl\u00f3 monitoroz\u00f3 rendszer kialak\u00edt\u00e1s\u00e1val vagy a Clickhouse-ra val\u00f3 \u00e1tt\u00e9r\u00e9ssel hasonl\u00f3 helyzetben - ossz\u00e1tok meg a hozz\u00e1sz\u00f3l\u00e1sokban.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/335410\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e. \u041c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0438, \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b, \u043f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043a \u043d\u0438\u043c \u0430\u043b\u0435\u0440\u0442\u044b, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52115","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.\" \/>\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\/hu\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\u043d\u0433 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441: \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury\" \/>\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=\"2019-10-31T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:47+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\udd47Monitoroz\u00e1s mint szolg\u00e1ltat\u00e1s: modul\u00e1ris rendszer a mikroservices architekt\u00far\u00e1hoz | ProHoster","description":"Ma a projekt\u00fcnk\u00f6n, a monolitikus k\u00f3d mellett, t\u00f6bb tucat mikroszolg\u00e1ltat\u00e1s m\u0171k\u00f6dik. Mindegyiknek sz\u00fcks\u00e9ge van arra, hogy figyelj\u00e9k. Ezt ilyen m\u00e9rt\u00e9kben DevOps m\u00e9rn\u00f6k\u00f6k seg\u00edts\u00e9g\u00e9vel probl\u00e9m\u00e1s kivitelezni.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\u043d\u0433 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441: \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","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":"2019-10-31T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52115","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":"2026-01-24 02:30:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:49:49","updated":"2026-01-24 02:30:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/52115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=52115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/52115\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=52115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=52115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=52115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}