{"id":31864,"date":"2019-10-31T21:43:33","date_gmt":"2019-10-31T18:43:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/monitoring-myortv-da-zdravstvuet-monitoring\/"},"modified":"2019-10-31T21:43:33","modified_gmt":"2019-10-31T18:43:33","slug":"monitoring-myortv-da-zdravstvuet-monitoring","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","title":{"rendered":"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s\" src=\"\/wp-content\/uploads\/2019\/04\/13453bb7025a6bf3d1c7a3dc6d038d16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC\u00e9g\u00fcnk 2008 \u00f3ta els\u0151sorban infrastruktur\u00e1lis \u00fczemeltet\u00e9ssel \u00e9s 24\/7 technikai t\u00e1mogat\u00e1ssal foglalkozik webprojektjeink sz\u00e1m\u00e1ra: t\u00f6bb mint 400 \u00fcgyfel\u00fcnk van, ami Oroszorsz\u00e1g elektronikus kereskedelm\u00e9nek k\u00f6r\u00fclbel\u00fcl 15%-\u00e1t jelenti. Ennek megfelel\u0151en a t\u00e1mogat\u00e1s ter\u00e9n nagyon v\u00e1ltozatos az architekt\u00fara. Ha valami le\u00e1ll, 15 percen bel\u00fcl meg kell jav\u00edtanunk. De ahhoz, hogy tudjuk, hogy baleset t\u00f6rt\u00e9nt, figyelni kell a projektet \u00e9s reag\u00e1lni az incidensekre. De hogyan is tegy\u00fck ezt? <\/p>\n<p>\u00dagy gondolom, hogy a megfelel\u0151 monitoroz\u00e1si rendszer kialak\u00edt\u00e1sa borzalmasan zajlik. Ha a baj nem lenne, a besz\u00e9dem egyetlen t\u00e9zisb\u0151l \u00e1llna: \u00abK\u00e9rlek, telep\u00edtsd a Prometheus + Grafana-t \u00e9s a 1, 2, 3-as plugineket\u00bb. Sajnos ez m\u00e1r nem \u00edgy m\u0171k\u00f6dik. A legf\u0151bb probl\u00e9ma az, hogy mindenki tov\u00e1bbra is hisz valamiben, ami 2008-ban l\u00e9tezett a szoftverkomponensek szempontj\u00e1b\u00f3l. <\/p>\n<p>A monitoroz\u00e1si rendszer kialak\u00edt\u00e1s\u00e1val kapcsolatban kock\u00e1ztatom azt mondani, hogy\u2026 olyan projektek, amelyek j\u00f3l megtervezett monitoroz\u00e1ssal rendelkeznek, nem l\u00e9teznek. A helyzet annyira rossz, hogy ha valami le\u00e1ll, fenn\u00e1ll a kock\u00e1zat, hogy ez \u00e9szrev\u00e9tlen marad \u2013 hiszen mindenki biztos benne, hogy \u00abminden monitorozva van\u00bb.<br \/>\nLehets\u00e9ges, hogy minden monitorozva van. De hogyan? <\/p>\n<p>Mindannyian tal\u00e1lkoztunk m\u00e1r a k\u00f6vetkez\u0151 t\u00f6rt\u00e9nettel: m\u0171k\u00f6dik egy devops, egy admin, hozz\u00e1juk \u00e9rkezik egy fejleszt\u0151csapat, \u00e9s mondj\u00e1k \u2013 \u00abkibocs\u00e1tottuk, most monitorozd\u00bb. Mit monitorozzunk? Hogyan m\u0171k\u00f6dik ez?<\/p>\n<p>Rendben. A r\u00e9gi m\u00f3dszerek szerint monitorozunk. De m\u00e1r minden v\u00e1ltozik, \u00e9s kider\u00fcl, hogy te az A szolg\u00e1ltat\u00e1st monitoroztad, ami B szolg\u00e1ltat\u00e1ss\u00e1 v\u00e1ltozott, ami a C szolg\u00e1ltat\u00e1ssal l\u00e9p kapcsolatba. De a fejleszt\u0151csapat azt mondja: \u00abTelep\u00edtsd a szoftvert, annak mindent monitoroznia kell!\u00bb<\/p>\n<p>Nos, mi v\u00e1ltozott? \u2014 Minden megv\u00e1ltozott!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>2008. Minden csod\u00e1latos.<\/h4>\n<p>\nVan n\u00e9h\u00e1ny fejleszt\u0151, egy szerver, egy DB szerver. Itt kezd\u0151dik minden. Van egy kis inform\u00e1ci\u00f3nk, telep\u00edtj\u00fck a Zabbixot, Nagios-t, Cacti-t. Azt\u00e1n be\u00e1ll\u00edtunk \u00e9rthet\u0151 riaszt\u00e1sokat a CPU-ra, a lemezek m\u0171k\u00f6d\u00e9s\u00e9re, a lemezhelyre. Ezen k\u00edv\u00fcl v\u00e9gez\u00fcnk n\u00e9h\u00e1ny manu\u00e1lis ellen\u0151rz\u00e9st, hogy a weboldal v\u00e1laszol, hogy a rendel\u00e9sek eljutnak az adatb\u00e1zisba. \u00c9s ennyi \u2013 t\u00f6bb\u00e9-kev\u00e9sb\u00e9 v\u00e9dettek vagyunk. <\/p>\n<p>Ha \u00f6sszehasonl\u00edtjuk a munkamennyis\u00e9get, amelyet akkor az adminisztr\u00e1tor v\u00e9gzett a monitoring biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben, akkor az 98%-ban automatikus volt: az a szem\u00e9ly, aki a monitoringgal foglalkozik, meg kell \u00e9rtenie, hogyan kell telep\u00edteni a Zabbixot, hogyan kell be\u00e1ll\u00edtani, \u00e9s be\u00e1ll\u00edtani az riaszt\u00e1sokat. \u00c9s 2% - az k\u00fcls\u0151 ellen\u0151rz\u00e9sekre: hogy a weboldal v\u00e1laszol \u00e9s lek\u00e9rdez\u00e9st v\u00e9gez az adatb\u00e1zison, hogy \u00faj megrendel\u00e9sek \u00e9rkeztek.<\/p>\n<p><img decoding=\"async\" alt=\"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s\" src=\"\/wp-content\/uploads\/2019\/04\/3563dda4d025fd18200d6410d7d065ed.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>2010. \u00e9v. N\u00f6vekszik a terhel\u00e9s.<\/h4>\n<p>\nKezdj\u00fck sk\u00e1l\u00e1zni a webeket, hozz\u00e1adunk egy keres\u0151motort. Biztosak akarunk lenni benne, hogy a term\u00e9kkatal\u00f3gus tartalmazza az \u00f6sszes term\u00e9ket. \u00c9s hogy a term\u00e9kek keres\u00e9se m\u0171k\u00f6dik. Hogy az adatb\u00e1zis m\u0171k\u00f6dik, hogy a rendel\u00e9seket leadj\u00e1k, hogy a weboldal k\u00fcls\u0151leg v\u00e1laszol \u00e9s v\u00e1laszol a kett\u0151re. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/\"   title=\"szerverek\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1314\">szerverek<\/a> \u00e9s a felhaszn\u00e1l\u00f3 nem lesz kidobva az oldalr\u00f3l, am\u00edg \u00e1t nem ker\u00fcl egy m\u00e1sik szerverre, \u00e9s \u00edgy tov\u00e1bb. A l\u00e9nyek sz\u00e1ma n\u0151. <\/p>\n<p>Ami a legfontosabb, hogy az infrastrukt\u00far\u00e1hoz kapcsol\u00f3d\u00f3 entit\u00e1s tov\u00e1bbra is a legnagyobb a menedzser fej\u00e9ben. Tov\u00e1bbra is ott van a fej\u00e9ben az \u00f6tlet, hogy a monitoringgal foglalkoz\u00f3 ember az, aki telep\u00edti a Zabbixot \u00e9s k\u00e9pes azt konfigur\u00e1lni.<\/p>\n<p>De k\u00f6zben \u00faj feladatok jelentkeznek a k\u00fcls\u0151 ellen\u0151rz\u00e9sek elv\u00e9gz\u00e9se, a keres\u0151indexel\u0151 lek\u00e9rdez\u00e9seinek szkriptjeinek l\u00e9trehoz\u00e1sa, a szkriptek, amelyek ellen\u0151rzik, hogy a keres\u00e9s v\u00e1ltozik-e az indexel\u00e9s sor\u00e1n, \u00e9s a szkriptek, amelyek ellen\u0151rzik, hogy a term\u00e9kek \u00e1tad\u00e1sra ker\u00fclnek a sz\u00e1ll\u00edt\u00f3 szolg\u00e1ltat\u00e1snak, stb.<\/p>\n<p><img decoding=\"async\" alt=\"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s\" src=\"\/wp-content\/uploads\/2019\/04\/afa94a3156a24a81ab359b430341f27d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVegye \u00e9szre: h\u00e1romszor \u00edrtam \u201eszkriptek k\u00e9szlete\u201d. Vagyis a monitoring felel\u0151se m\u00e1r nem az, aki egyszer\u0171en telep\u00edti a Zabbixot. Ez az az ember, aki elkezd programozni. De a csapat fej\u00e9ben m\u00e9g mindig semmi sem v\u00e1ltozik. <\/p>\n<p>De a vil\u00e1g v\u00e1ltozik, egyre bonyolultabb\u00e1 v\u00e1lik. Hozz\u00e1ad\u00f3dik a virtualiz\u00e1ci\u00f3s r\u00e9teg, t\u00f6bb \u00faj rendszer. Kezdik egym\u00e1ssal k\u00f6lcs\u00f6nhat\u00e1sba l\u00e9pni. Ki mondta, hogy \u201eitt \u00e9rz\u0151dik a mikroszolg\u00e1ltat\u00e1sok szaga?\u201d De minden egyes szolg\u00e1ltat\u00e1s m\u00e9g mindig k\u00fcl\u00f6n-k\u00fcl\u00f6n \u00fagy n\u00e9z ki, mint egy weboldal. Hozz\u00e1f\u00e9rhet\u00fcnk hozz\u00e1, \u00e9s meg\u00e9rthetj\u00fck, hogy a sz\u00fcks\u00e9ges inform\u00e1ci\u00f3t biztos\u00edtja \u00e9s \u00f6n\u00e1ll\u00f3an m\u0171k\u00f6dik. \u00c9s ha te egy adminisztr\u00e1tor vagy, aki folyamatosan foglalkozik egy projekttel, amely 5-7-10 \u00e9ve fejl\u0151dik, akkor ezek a tud\u00e1sok felhalmoz\u00f3dnak: megjelenik egy \u00faj szint\u2014te ezt tudatos\u00edtod, megjelenik egy m\u00e1sik szint\u2014te ezt tudatos\u00edtod... <\/p>\n<p><img decoding=\"async\" alt=\"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s\" src=\"\/wp-content\/uploads\/2019\/04\/3578182594d012732afde7849b75322a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe ritk\u00e1n k\u00eds\u00e9r valaki egy projektet 10 \u00e9vig.<\/p>\n<h3>\u00d6sszegz\u00e9s a monitoring szakembernek<\/h3>\n<p>\nTegy\u00fck fel, hogy egy \u00faj startuphoz ker\u00fclt\u00e9l, amely azonnal 20 fejleszt\u0151t szerzett, 15 mikroszervizt \u00edrt, \u00e9s te vagy az admin, akinek azt mondj\u00e1k: \u201eK\u00e9rlek, \u00e9p\u00edts CI\/CD-t.\u201d Te pedig fel\u00e9p\u00edtetted a CI\/CD-t, \u00e9s hirtelen azt hallod: \u201eNeh\u00e9z dolgoznunk a 'kock\u00e1ban' a termel\u00e9si k\u00f6rnyezettel, mivel nem \u00e9rtj\u00fck, hogyan fog m\u0171k\u00f6dni benne az alkalmaz\u00e1s. K\u00e9sz\u00edts nek\u00fcnk egy homokoz\u00f3t ugyanabban a 'kock\u00e1ban'.<br \/>\n Teh\u00e1t elk\u00e9sz\u00edted a homokoz\u00f3t ebben a kock\u00e1ban. Azonnal azt mondj\u00e1k: \u201eSzeretn\u00e9nk egy stage adatb\u00e1zist, amely minden nap friss\u00fcl a termel\u00e9sb\u0151l, hogy meg\u00e9rts\u00fck, m\u0171k\u00f6dik az adatb\u00e1zison, de k\u00f6zben ne rontsuk el a termel\u00e9si adatb\u00e1zist.\u201d<\/p>\n<p>Te is ebben \u00e9lsz. K\u00e9t h\u00e9t van h\u00e1tra a kiad\u00e1sig, \u00e9s azt mondj\u00e1k: \u201eMost mindezt monitoroznunk kell...\u201d Vagyis monitoroznunk kell a klaszter infrastrukt\u00far\u00e1t, monitoroznunk kell a mikroszerviz architekt\u00far\u00e1t, monitoroznunk kell a k\u00fcls\u0151 szolg\u00e1ltat\u00e1sokkal val\u00f3 munk\u00e1t... <\/p>\n<p>A koll\u00e9g\u00e1k el\u0151veszik a megszokott s\u00e9m\u00e1t, \u00e9s azt mondj\u00e1k: \u201eH\u00e1t ez mind \u00e9rthet\u0151! Telep\u00edts egy programot, amely mindezt monitorozza.\u201d Igen, igen: Prometheus + Grafana + pluginek. <br \/>\n\u00c9s hozz\u00e1teszik: \u201eK\u00e9t heted van, csin\u00e1ld meg \u00fagy, hogy minden megb\u00edzhat\u00f3 legyen.\u201d<\/p>\n<p>A sok projekten, amelyet l\u00e1tunk, a monitoroz\u00e1sra egy embert jel\u00f6lnek ki. K\u00e9pzeld el, hogy k\u00e9t h\u00e9tre fel akarunk venni egy embert, aki a monitoroz\u00e1ssal foglalkozik, \u00e9s k\u00e9sz\u00edt\u00fcnk neki egy \u00f6n\u00e9letrajzot. Milyen k\u00e9pess\u00e9gekkel kell rendelkeznie ennek az embernek \u2013 figyelembe v\u00e9ve mindazt, amit eddig mondtunk?<\/p>\n<ul>\n<li>\u00c9rtenie kell a monitoroz\u00e1st \u00e9s a hardver infrastrukt\u00fara m\u0171k\u00f6d\u00e9s\u00e9nek saj\u00e1toss\u00e1gait.<\/li>\n<li>\u00c9rtenie kell a Kubernetes monitoroz\u00e1s\u00e1nak saj\u00e1toss\u00e1gait (mert mindenki 'kock\u00e1ban' akar lenni, mert el lehet vonatkoztatni mindent\u0151l, \u00e9s az admin a t\u00f6bbi probl\u00e9m\u00e1t megoldja) \u2013 annak infrastrukt\u00far\u00e1j\u00e1t, \u00e9s tudnia kell, hogyan kell monitorozni az alkalmaz\u00e1sokat bel\u00fcl.<\/li>\n<li>Tudnia kell, hogy a szolg\u00e1ltat\u00e1sok k\u00fcl\u00f6nleges m\u00f3don kommunik\u00e1lnak egym\u00e1ssal, \u00e9s ismernie kell a szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tti interakci\u00f3s saj\u00e1toss\u00e1gokat. Teljesen el lehet k\u00e9pzelni egy projektet, ahol egyes szolg\u00e1ltat\u00e1sok szinkronosan kommunik\u00e1lnak, mert m\u00e1sk\u00e9nt nem lehet. P\u00e9ld\u00e1ul, a backend REST-en kereszt\u00fcl megy, a katalogiz\u00e1l\u00f3 szolg\u00e1ltat\u00e1s gRPC-n kereszt\u00fcl, lek\u00e9ri a term\u00e9kek list\u00e1j\u00e1t \u00e9s visszak\u00fcldi. Itt nem lehet v\u00e1rni. M\u00e1s szolg\u00e1ltat\u00e1sokkal viszont aszinkron m\u00f3don dolgozik. Rendel\u00e9st \u00e1tadni a sz\u00e1ll\u00edt\u00f3 szolg\u00e1ltat\u00e1snak, levelet k\u00fcldeni stb.<br \/>\nVal\u00f3sz\u00edn\u0171leg m\u00e1r elvesztetted a fonalat mindezt hallva? Az admin, akinek ezt monitoroznia kell, m\u00e9g ink\u00e1bb elveszhet. <\/li>\n<li>K\u00e9pesnek kell lennie tervezni \u00e9s azt helyesen megtenni - mivel a munka egyre csak n\u0151. <\/li>\n<li>Ez\u00e9rt ki kell dolgoznia egy strat\u00e9gi\u00e1t a l\u00e9trehozott szolg\u00e1ltat\u00e1sra vonatkoz\u00f3an, hogy meg\u00e9rtse, hogyan kell ezt konkr\u00e9tan monitorozni. Sz\u00fcks\u00e9ge van a projekt architekt\u00far\u00e1j\u00e1nak \u00e9s fejl\u0151d\u00e9s\u00e9nek meg\u00e9rt\u00e9s\u00e9re, valamint a fejleszt\u00e9s sor\u00e1n haszn\u00e1lt technol\u00f3gi\u00e1k ismeret\u00e9re. <\/li>\n<\/ul>\n<p>\nEgy teljesen norm\u00e1lis esetre eml\u00e9kezz\u00fcnk: n\u00e9h\u00e1ny szolg\u00e1ltat\u00e1s PHP-n fut, n\u00e9h\u00e1ny Go-n, n\u00e9h\u00e1ny pedig JavaScript-en. Ezek valahogyan egy\u00fctt m\u0171k\u00f6dnek. Itt j\u00f6tt l\u00e9tre a \"mikroszolg\u00e1ltat\u00e1s\" kifejez\u00e9s: annyira sok k\u00fcl\u00f6n\u00e1ll\u00f3 rendszer lett, hogy a fejleszt\u0151k nem tudj\u00e1k meg\u00e9rteni a projektet \u00f6sszess\u00e9g\u00e9ben. A csapat egy r\u00e9sze JavaScript-en \u00edrja a szolg\u00e1ltat\u00e1sokat, amelyek \u00f6n\u00e1ll\u00f3an m\u0171k\u00f6dnek, \u00e9s nem tudj\u00e1k, hogyan m\u0171k\u00f6dik a t\u00f6bbi rendszer. A m\u00e1sik r\u00e9sze Python-ban k\u00e9sz\u00edt szolg\u00e1ltat\u00e1sokat, \u00e9s nem foglalkozik a t\u00f6bbi szolg\u00e1ltat\u00e1s m\u0171k\u00f6d\u00e9s\u00e9vel, \u0151k izol\u00e1ltak a saj\u00e1t ter\u00fclet\u00fck\u00f6n. A harmadik pedig PHP-val vagy m\u00e1s eszk\u00f6z\u00f6kkel \u00edrja a szolg\u00e1ltat\u00e1sokat. <br \/>\nEz a 20 ember 15 szolg\u00e1ltat\u00e1sra van felosztva, \u00e9s mind\u00f6ssze egy adminisztr\u00e1tor van, akinek mindezt meg kell \u00e9rtenie. \u00c1llj meg! \u00c9ppen most osztottuk fel a rendszert 15 mikroszolg\u00e1ltat\u00e1sra, mert 20 ember nem tudja meg\u00e9rteni az eg\u00e9sz rendszert. <\/p>\n<p>De valahogyan ezt monitorozni kell...<\/p>\n<p>Mi a helyzet v\u00e9g\u00fcl? V\u00e9g\u00fcl van egy ember, akinek a fej\u00e9ben \u00f6sszegy\u0171lik minden, amit a fejleszt\u0151k egy eg\u00e9sz csapata nem tud meg\u00e9rteni, \u00e9s emellett m\u00e9g tudnia kell \u00e9s k\u00e9pesnek kell lennie arra, amit fentebb megadtunk - a hardverinfrastrukt\u00far\u00e1t, a Kubernetes infrastrukt\u00far\u00e1t stb.<\/p>\n<p>Mit is mondhatn\u00e9k... Houston, probl\u00e9m\u00e1ink vannak.<\/p>\n<h3>A modern programoz\u00e1si projekt monitoroz\u00e1sa \u00f6n\u00e1ll\u00f3 programoz\u00e1si projekt.<\/h3>\n<p>\nA hamis bizalom miatt, hogy a monitoroz\u00e1s csak szoftver, csod\u00e1kban kezd\u00fcnk b\u00edzni. Pedig csod\u00e1k sajnos nincsenek. Nem lehet Zabbix-ot be\u00e1ll\u00edtani \u00e9s v\u00e1rni, hogy minden m\u0171k\u00f6dj\u00f6n. Nincs \u00e9rtelme Grafana-t be\u00e1ll\u00edtani \u00e9s rem\u00e9lni, hogy minden rendben lesz. Az id\u0151 nagy r\u00e9sz\u00e9t a szolg\u00e1ltat\u00e1sok m\u0171k\u00f6d\u00e9s\u00e9nek \u00e9s egym\u00e1ssal val\u00f3 k\u00f6lcs\u00f6nhat\u00e1s\u00e1nak ellen\u0151rz\u00e9s\u00e9re, valamint a k\u00fcls\u0151 rendszerek m\u0171k\u00f6d\u00e9s\u00e9nek ellen\u0151rz\u00e9s\u00e9re fogjuk ford\u00edtani. Val\u00f3j\u00e1ban az id\u0151 90%-a nem a szkriptek \u00edr\u00e1s\u00e1ra, hanem a szoftverfejleszt\u00e9sre fog menni. Ezt a fejleszt\u0151 csapatnak kell v\u00e9geznie, aki \u00e9rti a projekt m\u0171k\u00f6d\u00e9s\u00e9t. <br \/>\nHa ebben a helyzetben egy embert r\u00e1\u00e1ll\u00edtanak a monitoroz\u00e1sra, akkor baj fog t\u00f6rt\u00e9nni. Ami mindenhol meg is t\u00f6rt\u00e9nik.<\/p>\n<p>P\u00e9ld\u00e1ul van n\u00e9h\u00e1ny szolg\u00e1ltat\u00e1s, amelyek Kafka-n kereszt\u00fcl kommunik\u00e1lnak egym\u00e1ssal. Meg\u00e9rkezett egy rendel\u00e9s, elk\u00fcldt\u00fck a rendel\u00e9sr\u0151l sz\u00f3l\u00f3 \u00fczenetet a Kafka-ba. Van egy szolg\u00e1ltat\u00e1s, amely figyeli a rendel\u00e9s inform\u00e1ci\u00f3it \u00e9s lebonyol\u00edtja az \u00e1ru kisz\u00e1ll\u00edt\u00e1s\u00e1t. Van egy m\u00e1sik szolg\u00e1ltat\u00e1s, amely figyeli a rendel\u00e9s inform\u00e1ci\u00f3it \u00e9s elk\u00fcldi a levelet a felhaszn\u00e1l\u00f3nak. Azt\u00e1n j\u00f6n m\u00e9g egy csom\u00f3 szolg\u00e1ltat\u00e1s, \u00e9s elkezd\u00fcnk \u00f6sszezavarodni.<\/p>\n<p>De ha ezt m\u00e9g az adminisztr\u00e1tornak \u00e9s a fejleszt\u0151knek is odaaj\u00e1nd\u00e9kozod, amikor a kiad\u00e1shoz m\u00e1r csak r\u00f6vid id\u0151 van h\u00e1tra, akkor az illet\u0151nek meg kell \u00e9rtenie az eg\u00e9sz protokollt. Azaz egy ilyen volumen\u0171 projekt jelent\u0151s id\u0151t ig\u00e9nyel, \u00e9s ezt a rendszerszervez\u00e9sn\u00e9l figyelembe kell venni. <br \/>\nDe nagyon gyakran, k\u00fcl\u00f6n\u00f6sen a startupok eset\u00e9ben, l\u00e1tjuk, hogy a monitoroz\u00e1st elhalasztj\u00e1k. \"Most megcsin\u00e1ljuk a Proof of Concept-et, elind\u00edtjuk, hagyjuk le\u00e1llni \u2014 k\u00e9szen \u00e1llunk \u00e1ldozni. Azt\u00e1n majd mindezt monitorozzuk.\" Amikor (vagy ha) a projekt elkezd p\u00e9nzt hozni, a v\u00e1llalkoz\u00e1s t\u00f6bb funkci\u00f3t akar fejleszteni \u2014 mert kezd m\u0171k\u00f6dni, ez\u00e9rt tov\u00e1bb kell n\u00f6velni! \u00c9s \u00f6n egy olyan helyzetben van, ahol el\u0151sz\u00f6r az el\u0151z\u0151t kell monitorozni, ami nem 1% id\u0151t ig\u00e9nyel, hanem jelent\u0151sen t\u00f6bbet. \u00c9s egy\u00e9bk\u00e9nt a monitoroz\u00e1shoz fejleszt\u0151kre is sz\u00fcks\u00e9g lesz, akiket k\u00f6nnyebb \u00faj funkci\u00f3kra \u00e1tcsoportos\u00edtani. V\u00e9g\u00fcl \u00faj funkci\u00f3k \u00edr\u00f3dnak, minden felhalmoz\u00f3dik, \u00e9s \u00f6n egy v\u00e9gtelen holtponton tal\u00e1lja mag\u00e1t.<\/p>\n<p>Teh\u00e1t hogyan lehet a projektet a kezdetekt\u0151l monitorozni, \u00e9s mit tegy\u00fcnk, ha kapunk egy projektet, amit monitorozni kell, de nem tudjuk, hol kezdj\u00fck?<\/p>\n<p>El\u0151sz\u00f6r is, tervezni kell. <\/p>\n<p><i>Egy kis elt\u00e9r\u00e9s: nagyon gyakran az infrastrukt\u00fara monitoroz\u00e1s\u00e1val kezdik. P\u00e9ld\u00e1ul van Kubernetes\u00fcnk. Kezdj\u00fck azzal, hogy telep\u00edtj\u00fck a Prometheust a Grafan\u00e1val, be\u00e1ll\u00edtjuk a \"kubikus\" monitoroz\u00e1s alpluginjeit. Nemcsak a fejleszt\u0151k, hanem az adminisztr\u00e1torok eset\u00e9ben is szomor\u00fa gyakorlat, hogy \"telep\u00edtj\u00fck ezt a plugint, \u00e9s a plugin val\u00f3sz\u00edn\u0171leg tudja, hogyan kell ezt megtenni\". Az emberek szeretik a k\u00f6nny\u0171 \u00e9s \u00e9rthet\u0151 dolgokkal kezdeni, nem pedig a fontos feladatokkal. \u00c9s az infrastrukt\u00fara monitoroz\u00e1sa \u00e9ppen ilyen egyszer\u0171.<\/i><\/p>\n<p>El\u0151sz\u00f6r is d\u00f6nts\u00f6n arr\u00f3l, hogy mit \u00e9s hogyan szeretne monitorozni, majd v\u00e1lassza ki az eszk\u00f6zt, mert m\u00e1sok nem gondolkodhatnak helyette. \u00c9s vajon kellene nekik? M\u00e1sok magukr\u00f3l, egy univerz\u00e1lis rendszerre gondoltak \u2014 vagy egy\u00e1ltal\u00e1n nem gondoltak, amikor ezt a plugint \u00edrt\u00e1k. Az, hogy ennek a pluginak 5000 felhaszn\u00e1l\u00f3ja van, nem jelenti, hogy b\u00e1rmilyen hasznot hoz. Lehet, hogy \u00d6n lesz az 5001., csak az\u00e9rt, mert el\u0151tte m\u00e1r volt 5000 f\u0151. <\/p>\n<p>Ha elkezdte monitorozni az infrastrukt\u00far\u00e1t, \u00e9s az alkalmaz\u00e1s backendje nem v\u00e1laszol, akkor minden felhaszn\u00e1l\u00f3 elvesz\u00edti a kapcsolatot a mobilalkalmaz\u00e1ssal. Hib\u00e1s \u00fczenetek fognak megjelenni. Hozz\u00e1 fognak j\u00f6nni, \u00e9s azt mondj\u00e1k: \u201eAz alkalmaz\u00e1s nem m\u0171k\u00f6dik, mit csin\u00e1lnak itt?\u201d \u2014 \u201eMonitorozunk.\u201d \u2014 \u201eHogyan monitorozhatnak, ha nem l\u00e1tj\u00e1k, hogy az alkalmaz\u00e1s nem m\u0171k\u00f6dik?!\" <\/p>\n<ol>\n<li>\u00dagy gondolom, hogy a monitoroz\u00e1st a felhaszn\u00e1l\u00f3 bel\u00e9p\u00e9si pontj\u00e1n kell kezdeni. Ha a felhaszn\u00e1l\u00f3 nem l\u00e1tja, hogy az alkalmaz\u00e1s m\u0171k\u00f6dik \u2014 ez m\u00e1r buk\u00e1s. A monitoroz\u00f3 rendszernek err\u0151l kell els\u0151k\u00e9nt \u00e9rtes\u00edtenie. <\/li>\n<li>Csak ezut\u00e1n tudjuk monitorozni az infrastrukt\u00far\u00e1t. Vagy p\u00e1rhuzamosan megtehetj\u00fck. Az infrastrukt\u00fara egyszer\u0171bb \u2014 itt v\u00e9gre egyszer\u0171en telep\u00edthetj\u00fck a Zabbixot. <\/li>\n<li>Most a mobilalkalmaz\u00e1s gy\u00f6kereihez kell menn\u00fcnk, hogy meg\u00e9rts\u00fck, hol nem m\u0171k\u00f6dik valami.<\/li>\n<\/ol>\n<p>\nA legfontosabb gondolatom az, hogy a monitoroz\u00e1snak p\u00e1rhuzamosan kell folynia a fejleszt\u00e9si folyamattal. Ha leszak\u00edtja a monitoroz\u00f3 csapatot m\u00e1s feladatokra (CI\/CD l\u00e9trehoz\u00e1s, sandbox, infrastrukt\u00fara \u00e1tszervez\u00e9se), a monitoroz\u00e1s elmarad, \u00e9s lehet, hogy soha t\u00f6bb\u00e9 nem \u00e9ri utol a fejleszt\u00e9st (vagy k\u00e9s\u0151bb le kell \u00e1ll\u00edtania azt).<\/p>\n<h3>Minden szinten<\/h3>\n<p>\n\u00cdgy l\u00e1tom a monitoroz\u00e1si rendszer szervez\u00e9s\u00e9t.<\/p>\n<p>1) Alkalmaz\u00e1si szint:<\/p>\n<ul>\n<li>az alkalmaz\u00e1s \u00fczleti logik\u00e1j\u00e1nak monitoroz\u00e1sa;<\/li>\n<li>a szolg\u00e1ltat\u00e1sok health-metrik\u00e1inak monitoroz\u00e1sa;<\/li>\n<li>integr\u00e1ci\u00f3s monitoroz\u00e1s.<\/li>\n<\/ul>\n<p>\n2) Infrastrukt\u00fara szint:<\/p>\n<ul>\n<li>az orkestr\u00e1ci\u00f3 szintj\u00e9nek monitoroz\u00e1sa;<\/li>\n<li>a rendszer-szoftver monitoroz\u00e1sa;<\/li>\n<li>a \u201ehardver\u201d szint monitoroz\u00e1sa.<\/li>\n<\/ul>\n<p>\n3) Ism\u00e9t alkalmaz\u00e1si szint \u2014 de m\u00e1r mint m\u00e9rn\u00f6ki term\u00e9k:<\/p>\n<ul>\n<li>az alkalmaz\u00e1s napl\u00f3inak gy\u0171jt\u00e9se \u00e9s megfigyel\u00e9se;<\/li>\n<li>APM;<\/li>\n<li>tracing.<\/li>\n<\/ul>\n<p>\n4) \u00c9rtes\u00edt\u00e9si rendszer:<\/p>\n<ul>\n<li>\u00e9rtes\u00edt\u00e9si rendszer szervez\u00e9se;<\/li>\n<li>\u00fcgyeleti rendszer szervez\u00e9se;<\/li>\n<li>a \u201etud\u00e1sb\u00e1zis\u201d \u00e9s az incidenskezel\u00e9si workflow szervez\u00e9se.<\/li>\n<\/ul>\n<p>\n<b>Fontos<\/b>: az \u00e9rtes\u00edt\u00e9sekhez nem akkor jutunk el, amikor m\u00e1r k\u00e9s\u0151 van, hanem azonnal! Nem kell megkezdeni a monitoroz\u00e1st, majd k\u00e9s\u0151bb kital\u00e1lni, hogy kinek k\u00fcldj\u00fck az \u00e9rtes\u00edt\u00e9seket. A monitoroz\u00e1s c\u00e9lja, hogy meg\u00e9rts\u00fck, hol m\u0171k\u00f6dik valami nem megfelel\u0151en a rendszerben, \u00e9s \u00e9rtes\u00edts\u00fck a megfelel\u0151 embereket. Ha ezt a v\u00e9g\u00e9re hagyjuk, akkor a megfelel\u0151 emberek csak egy telefonh\u00edv\u00e1sb\u00f3l tudj\u00e1k meg, hogy \u201en\u00e1lunk semmi nem m\u0171k\u00f6dik\u201d.<\/p>\n<h3>Alkalmaz\u00e1sszint \u2013 \u00fczleti logika monitoroz\u00e1s<\/h3>\n<p>\nEz arr\u00f3l sz\u00f3l, hogy ellen\u0151rizz\u00fck, hogy az alkalmaz\u00e1s m\u0171k\u00f6dik-e a felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra.<\/p>\n<p>Ezt a szintet a fejleszt\u00e9si szakaszban kell l\u00e9trehozni. P\u00e9ld\u00e1ul van egy felt\u00e9teles Prometheusunk: \u0151 bel\u00e9p a szerverre, amely az ellen\u0151rz\u00e9seket v\u00e9gzi, lek\u00e9ri az endpoint-ot, \u00e9s az endpoint ellen\u0151rzi az API-t.<\/p>\n<p>Amikor gyakran k\u00e9rik, hogy monitorozzuk a f\u0151oldalt, hogy megbizonyosodjunk arr\u00f3l, hogy a weboldal m\u0171k\u00f6dik, a programoz\u00f3k adnak egy k\u00e9zigr\u00e1n\u00e1tot, amit meg lehet h\u00fazni, amikor meg kell gy\u0151z\u0151dni arr\u00f3l, hogy az API m\u0171k\u00f6dik. K\u00f6zben a programoz\u00f3k m\u00e9g \u00edrj\u00e1k \/api\/test\/helloworld. <br \/>\nAz egyetlen m\u00f3dja annak, hogy megbizonyosodjunk arr\u00f3l, hogy minden m\u0171k\u00f6dik? \u2013 Nem!<\/p>\n<ul>\n<li>Az ilyen ellen\u0151rz\u00e9sek l\u00e9trehoz\u00e1sa alapvet\u0151en a fejleszt\u0151k feladata. Az egys\u00e9gvizsg\u00e1latokat azoknak a programoz\u00f3knak kell \u00edrniuk, akik a k\u00f3dot \u00edrj\u00e1k. Mert ha ezt a rendszergazd\u00e1ra b\u00edzod: \u201eHaver, itt van a 25 funkci\u00f3 API protokolljainak list\u00e1ja, k\u00e9rlek, monitorozd mindet!\u201d \u2013 akkor semmi nem fog m\u0171k\u00f6dni. <\/li>\n<li>Ha csup\u00e1n annyit csin\u00e1lsz, hogy ki\u00edrsz egy print \u201ehello world\u201d feliratot, senki nem fogja tudni, hogy az API-nak m\u0171k\u00f6dnie kellene, \u00e9s t\u00e9nyleg m\u0171k\u00f6dik. Minden API-v\u00e1ltoz\u00e1snak egy\u00fctt kell j\u00e1rnia az ellen\u0151rz\u00e9sek megv\u00e1ltoztat\u00e1s\u00e1val. <\/li>\n<li>Ha m\u00e1r ilyen probl\u00e9m\u00e1d van \u2013 \u00e1ll\u00edtsd le a funkci\u00f3kat, \u00e9s \u00e1ll\u00edts be fejleszt\u0151ket, akik meg\u00edrj\u00e1k ezeket az ellen\u0151rz\u00e9seket, vagy b\u00e9k\u00fclj meg a vesztes\u00e9gekkel, \u00e9s fogadd el, hogy semmi nem lesz ellen\u0151rizve, \u00e9s le fog szakadni.<\/li>\n<\/ul>\n<p>\nTechnikai tan\u00e1csok:<\/p>\n<ul>\n<li>K\u00f6telez\u0151 k\u00fcls\u0151 szervert l\u00e9trehozni az ellen\u0151rz\u00e9sek lebonyol\u00edt\u00e1s\u00e1hoz \u2013 biztosnak kell lenned abban, hogy a projekted el\u00e9rhet\u0151 a k\u00fclvil\u00e1g sz\u00e1m\u00e1ra.<\/li>\n<li>Ellen\u0151rz\u00e9st kell v\u00e9gezni az API protokoll teljes spektrum\u00e1ban, nem csup\u00e1n az egyes endpoint-okn\u00e1l.<\/li>\n<li>Hozz l\u00e9tre prometheus-endpoint-ot az ellen\u0151rz\u00e9sek eredm\u00e9nyeivel.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alkalmaz\u00e1sszint \u2013 health-metrik\u00e1k monitoroz\u00e1s<\/h3>\n<p>\nMost k\u00fcls\u0151 health-metrik\u00e1kra vonatkozik a sz\u00f3 a szolg\u00e1ltat\u00e1sok eset\u00e9ben. <\/p>\n<p>Azt d\u00f6nt\u00f6tt\u00fck, hogy az alkalmaz\u00e1s minden \u201ekezel\u0151j\u00e9t\u201d egy k\u00fcls\u0151 ellen\u0151rz\u00e9s seg\u00edts\u00e9g\u00e9vel figyelj\u00fck, amelyet egy k\u00fcls\u0151 monitoroz\u00f3 rendszerb\u0151l h\u00edvunk meg. De ez t\u00e9nyleg csak azok a \u201ekezel\u0151k\u201d, amelyeket a felhaszn\u00e1l\u00f3 l\u00e1t. Biztosak akarunk lenni abban, hogy a szolg\u00e1ltat\u00e1sok maguk m\u0171k\u00f6dnek. Itt a helyzet jobb: a K8s rendelkezik eg\u00e9szs\u00e9g\u00fcgyi ellen\u0151rz\u00e9sekkel, hogy legal\u00e1bb maga a \u201ekubus\u201d megbizonyosodjon arr\u00f3l, hogy a szolg\u00e1ltat\u00e1s m\u0171k\u00f6dik. De a legt\u00f6bb ellen\u0151rz\u00e9s, amit l\u00e1ttam, ugyanaz a \u201ehello world\u201d \u00fczenet. Vagyis ezt egyszer megh\u00edvja a telep\u00edt\u00e9s ut\u00e1n, \u00e9s ha azt v\u00e1laszolj\u00e1k, hogy minden rendben van \u2014 v\u00e9ge. Azt\u00e1n a szolg\u00e1ltat\u00e1s, amely REST-en kereszt\u00fcl adja ki az API-j\u00e1t, sok bej\u00e1rati ponttal rendelkezik az API-ban, amelyet szint\u00e9n figyelni kell, mert tudni akarjuk, hogy m\u0171k\u00f6dik. \u00c9s ezt m\u00e1r bel\u00fcl monitorozzuk. <\/p>\n<p>Hogyan lehet ezt technikailag helyesen megval\u00f3s\u00edtani: minden szolg\u00e1ltat\u00e1s kiad egy v\u00e9gpontot a m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9r\u0151l, \u00e9s a Grafana (vagy b\u00e1rmely m\u00e1s alkalmaz\u00e1s) grafikonjain l\u00e1tjuk az \u00f6sszes szolg\u00e1ltat\u00e1s \u00e1llapot\u00e1t.<\/p>\n<ul>\n<li>Minden API-v\u00e1ltoztat\u00e1snak meg kell hoznia a megfelel\u0151 ellen\u0151rz\u00e9seket is. <\/li>\n<li>\u00daj szolg\u00e1ltat\u00e1s l\u00e9trehoz\u00e1sakor azonnal \u00e9rdemes eg\u00e9szs\u00e9g\u00fcgyi metrik\u00e1kat be\u00e1ll\u00edtani.<\/li>\n<li>Az admin k\u00e9rheti a fejleszt\u0151kt\u0151l, hogy \u201e\u00edrjanak meg nekem n\u00e9h\u00e1ny funkci\u00f3t, hogy mindent meg\u00e9rthessek, \u00e9s ezt az inform\u00e1ci\u00f3t hozz\u00e1adhassam a monitoroz\u00f3 rendszeremhez\u201d. De a fejleszt\u0151k \u00e1ltal\u00e1ban azt v\u00e1laszolj\u00e1k: \u201eK\u00e9t h\u00e9ttel a megjelen\u00e9s el\u0151tt nem fogunk semmit kieg\u00e9sz\u00edteni.\u201d<br \/>\nHagyni kell, hogy a fejleszt\u00e9si menedzserek tudj\u00e1k, hogy lesznek ilyen vesztes\u00e9gek, \u00e9s a fejleszt\u00e9si menedzserek vezet\u0151s\u00e9ge is tudjon err\u0151l. Mert amikor minden le\u00e1ll, valaki \u00fagyis fel fog h\u00edvni \u00e9s k\u00f6vetelni fogja a \u201efolyamatosan le\u00e1ll\u00f3 szolg\u00e1ltat\u00e1s\u201d monitoroz\u00e1s\u00e1t. <\/li>\n<li>Egy\u00e9bk\u00e9nt \u00e9rdemes fejleszt\u0151ket kijel\u00f6lni a Grafana pluginek \u00edr\u00e1s\u00e1ra \u2014 ez j\u00f3 seg\u00edts\u00e9g lesz az adminoknak.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alkalmaz\u00e1si szint \u2014 Integr\u00e1ci\u00f3s monitoroz\u00e1s<\/h3>\n<p>\nAz integr\u00e1ci\u00f3s monitoroz\u00e1s a kritikus \u00fczleti rendszerek k\u00f6z\u00f6tti kommunik\u00e1ci\u00f3 figyel\u00e9s\u00e9re \u00f6sszpontos\u00edt.<\/p>\n<p>P\u00e9ld\u00e1ul 15 szolg\u00e1ltat\u00e1s van, amelyek kommunik\u00e1lnak egym\u00e1ssal. Ezek m\u00e1r nem k\u00fcl\u00f6n\u00e1ll\u00f3 webhelyek. Vagyis nem tudunk egy szolg\u00e1ltat\u00e1st \u00f6n\u00e1ll\u00f3an h\u00edvni, hogy kapjunk egy \/helloworld v\u00e1laszt \u00e9s meg\u00e9rts\u00fck, hogy a szolg\u00e1ltat\u00e1s m\u0171k\u00f6dik. Mert a rendel\u00e9si webszolg\u00e1ltat\u00e1snak inform\u00e1ci\u00f3t kell k\u00fcldenie a rendel\u00e9sr\u0151l a buszra \u2014 a buszr\u00f3l a rakt\u00e1rkezel\u0151 szolg\u00e1ltat\u00e1snak meg kell kapnia ezt az \u00fczenetet \u00e9s tov\u00e1bb kell dolgoznia vele. Az e-mail k\u00fcld\u0151 szolg\u00e1ltat\u00e1snak is e szerint kellene k\u00e9sz\u00fclnie, \u00e9s \u00edgy tov\u00e1bb. <\/p>\n<p>Ez\u00e9rt nem tudjuk meg\u00e9rteni, ha minden egyes szolg\u00e1ltat\u00e1sra kattintunk, hogy mindez hogyan m\u0171k\u00f6dik. Mert van egy bizonyos busz, amelyen kereszt\u00fcl minden kommunik\u00e1l \u00e9s k\u00f6lcs\u00f6nhat\u00e1sba l\u00e9p egym\u00e1ssal.<br \/>\nEz\u00e9rt ennek a l\u00e9p\u00e9snek a szolg\u00e1ltat\u00e1sok m\u00e1s szolg\u00e1ltat\u00e1sokkal val\u00f3 interakci\u00f3s tesztel\u00e9s\u00e9t kell k\u00e9pviselnie. Nem lehet a k\u00f6zvet\u00edt\u0151 \u00fczenetek megfigyel\u00e9s\u00e9vel el\u00e9rni a kommunik\u00e1ci\u00f3 monitoroz\u00e1s\u00e1t. Ha van egy szolg\u00e1ltat\u00e1s, amely adatokat ad \u00e1t, \u00e9s egy m\u00e1sik szolg\u00e1ltat\u00e1s, amely azokat fogadja, a k\u00f6zvet\u00edt\u0151 megfigyel\u00e9s\u00e9n\u00e9l csak azokat az adatokat fogjuk l\u00e1tni, amelyek oda-vissza repkednek. M\u00e9g ha valahogy siker\u00fcl is a bels\u0151 adatinterakci\u00f3 monitoroz\u00e1sa \u2014 hogy egy bizonyos producer adatokat posztol, valaki olvassa azokat, \u00e9s ez az \u00e1raml\u00e1s folytat\u00f3dik a Kafka-ban \u2014 ez sem fog inform\u00e1ci\u00f3t adni nek\u00fcnk, ha egy szolg\u00e1ltat\u00e1s egy verzi\u00f3ban adta \u00e1t az \u00fczenetet, a m\u00e1sik szolg\u00e1ltat\u00e1s pedig nem v\u00e1rta azt a verzi\u00f3t \u00e9s elhanyagolta. Err\u0151l nem fogunk tudni, mert a szolg\u00e1ltat\u00e1sok azt mondj\u00e1k, hogy minden rendben m\u0171k\u00f6dik. <\/p>\n<p>Ahogy javaslom:<\/p>\n<ul>\n<li>Szinchron kommunik\u00e1ci\u00f3hoz: az endpoint lek\u00e9rdez\u00e9seket v\u00e9gez a kapcsol\u00f3d\u00f3 szolg\u00e1ltat\u00e1sokhoz. Azaz, ezt az endpoint-ot vessz\u00fck, ber\u00e1ntunk egy kis szkriptet a szolg\u00e1ltat\u00e1sba, amely v\u00e9gigmegy minden ponton \u00e9s azt mondja: \u201eott tudok h\u00edvni, \u00e9s ott tudok h\u00edvni, ott tudok h\u00edvni\u2026\u201d.<\/li>\n<li>Aszinchron kommunik\u00e1ci\u00f3hoz: a bej\u00f6v\u0151 \u00fczenetek \u2014 az endpoint ellen\u0151rzi a buszt teszt \u00fczenetek megl\u00e9t\u00e9t illet\u0151en \u00e9s kiadja a feldolgoz\u00e1s st\u00e1tusz\u00e1t. <\/li>\n<li>Aszinchron kommunik\u00e1ci\u00f3hoz: a kimen\u0151 \u00fczenetek \u2014 az endpoint teszt \u00fczeneteket k\u00fcld a buszra.<\/li>\n<\/ul>\n<p>\nAhogy \u00e1ltal\u00e1ban t\u00f6rt\u00e9nik: van egy szolg\u00e1ltat\u00e1sunk, amely adatokat k\u00fcld a buszra. Bemegy\u00fcnk ebbe a szolg\u00e1ltat\u00e1sba, \u00e9s megk\u00e9rj\u00fck, hogy mes\u00e9ljen az integr\u00e1ci\u00f3s eg\u00e9szs\u00e9g\u00e9r\u0151l. \u00c9s ha a szolg\u00e1ltat\u00e1snak egy \u00fczenetet kell el\u0151\u00e1ll\u00edtania valahova (WebApp), akkor ezt a teszt \u00fczenetet el\u0151\u00e1ll\u00edtja. Ha pedig a rendel\u00e9sfeldolgoz\u00e1s oldalon h\u00edvjuk meg a szolg\u00e1ltat\u00e1st, akkor el\u0151sz\u00f6r posztolja, amit f\u00fcggetlen\u00fcl tud posztolni, \u00e9s ha vannak f\u00fcgg\u0151 dolgok \u2014 akkor olvassa a buszr\u00f3l a teszt \u00fczeneteket, meg\u00e9rti, hogy ezt feldolgozhatja, err\u0151l jelent\u00e9st ad, \u00e9s ha sz\u00fcks\u00e9ges, tov\u00e1bb posztolja \u0151ket, \u00e9s err\u0151l mondja \u2014 minden rendben, \u00e9lek. <\/p>\n<p>Nagyon gyakran halljuk a k\u00e9rd\u00e9st: \u201eHogyan tudjuk ezt tesztelni \u00e9les adatokkal?\u201d P\u00e9ld\u00e1ul a rendel\u00e9si szolg\u00e1ltat\u00e1sr\u00f3l van sz\u00f3. A rendel\u00e9s \u00fczeneteket k\u00fcld a rakt\u00e1rba, ahol a term\u00e9kek leker\u00fclnek a list\u00e1r\u00f3l: ezt nem tudjuk \u00e9les adatokkal tesztelni, mert \u201enekem a term\u00e9kek leker\u00fclnek a list\u00e1r\u00f3l!\u201d A megold\u00e1s: a kezdeti szakaszban tervezz\u00e9tek meg ezt a tesztet. Nektek vannak egys\u00e9gtesztjeitek, amelyek mock-okat k\u00e9sz\u00edtenek. Teh\u00e1t, k\u00e9sz\u00edtsetek egy m\u00e9lyebb szint\u0171 tesztet, ahol \u00e1tmegy a kommunik\u00e1ci\u00f3s csatorna, amely nem \u00e1rt a v\u00e1llalkoz\u00e1s m\u0171k\u00f6d\u00e9s\u00e9nek. <\/p>\n<h3>Infrastrukt\u00fara szint<\/h3>\n<p>\nAz infrastrukt\u00fara monitoroz\u00e1sa m\u00e1r r\u00e9g\u00f3ta alapvet\u0151 monitoroz\u00e1snak sz\u00e1m\u00edt. <\/p>\n<ul>\n<li>Az infrastrukt\u00fara monitoroz\u00e1s\u00e1t el kell ind\u00edtani egy k\u00fcl\u00f6n folyamatk\u00e9nt.<\/li>\n<li>Nem szabad az infrastrukt\u00fara monitoroz\u00e1s\u00e1val kezdeni egy m\u0171k\u00f6d\u0151 projektet, m\u00e9g akkor sem, ha nagyon szeretn\u00e9nk. Ez minden devopsos sz\u00e1m\u00e1ra f\u00e1jdalmas ter\u00fclet. \"El\u0151sz\u00f6r a klasztert fogom monitorozni, az infrastrukt\u00far\u00e1t monitorozom\" \u2013 azaz el\u0151sz\u00f6r azt, ami lent van, \u00e9s nem n\u00e9zek bele az alkalmaz\u00e1sba. Mert az alkalmaz\u00e1s \u2014 nem vil\u00e1gos dolog a devops sz\u00e1m\u00e1ra. Ezt \u00e1tadt\u00e1k neki, \u00e9s nem \u00e9rti, hogyan m\u0171k\u00f6dik. De az infrastrukt\u00far\u00e1val tiszt\u00e1ban van, \u00e9s azzal kezd. De nem \u2014 mindig el\u0151sz\u00f6r az alkalmaz\u00e1st kell monitorozni. <\/li>\n<li>Ne sp\u00f3roljatok a figyelmeztet\u00e9sek sz\u00e1m\u00e1val. Figyelembe v\u00e9ve a modern rendszerek bonyolults\u00e1g\u00e1t, a riaszt\u00e1sok folyamatosan \u00e9rkeznek, \u00e9s ezzel a riaszt\u00f3mennyis\u00e9ggel valahogy meg kell \u00e9ln\u00fcnk. Az on-call szem\u00e9ly, n\u00e9zve a sz\u00e1zadik riaszt\u00e1st, eld\u00f6ntheti, hogy \u201enem akarok err\u0151l gondolkodni\u201d. A riaszt\u00e1soknak csak a kritikus dolgokr\u00f3l kell \u00e9rtes\u00edteni\u00fck. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Az alkalmaz\u00e1s szintje, mint \u00fczleti egys\u00e9g<\/h3>\n<p>\nKulcspontok:<\/p>\n<ul>\n<li>ELK. Ez ipari szabv\u00e1ny. Ha valamilyen okb\u00f3l nem aggreg\u00e1lj\u00e1tok a logokat, s\u00fcrg\u0151sen kezdj\u00e9tek el ezt.<\/li>\n<li>APM. K\u00fcls\u0151 APM-ek mint m\u00f3dja az alkalmaz\u00e1s monitoroz\u00e1s\u00e1nak gyors lez\u00e1r\u00e1s\u00e1ra (NewRelic, BlackFire, Datadog). Ideiglenesen telep\u00edthetitek ezt a dolgot, hogy legal\u00e1bb valamennyire meg\u00e9rts\u00e9tek, mi t\u00f6rt\u00e9nik veletek. <\/li>\n<li>Tracing. T\u00edz- vagy t\u00f6bb mikroszolg\u00e1ltat\u00e1s eset\u00e9n mindent nyomon kell k\u00f6vetnetek, mert a k\u00e9r\u00e9s m\u00e1r nem \u00e9l \u00f6n\u00e1ll\u00f3an. Nagyon neh\u00e9z k\u00e9s\u0151bb hozz\u00e1adni, ez\u00e9rt jobb el\u0151re megtervezni a nyomoz\u00e1st a fejleszt\u00e9s sor\u00e1n \u2013 ez a fejleszt\u0151k munk\u00e1ja \u00e9s eszk\u00f6ze. Ha m\u00e9g nem vezett\u00e9tek be \u2013 vezess\u00e9tek be! L\u00e1sd: Jaeger\/Zipkin.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Riaszt\u00e1s<\/h3>\n<p><\/p>\n<ul>\n<li>Figyelmeztet\u00e9si rendszer szervez\u00e9se: a sok dolog monitoroz\u00e1s\u00e1nak k\u00f6r\u00fclm\u00e9nyei k\u00f6z\u00f6tt egy egys\u00e9ges \u00e9rtes\u00edt\u00e9si rendszerre van sz\u00fcks\u00e9g. Erre a Grafana is alkalmas. Nyugaton mindenki a PagerDuty-t haszn\u00e1lja. Az \u00e9rtes\u00edt\u00e9seknek \u00e9rthet\u0151nek kell lenni\u00fck (p\u00e9ld\u00e1ul, hogy honnan j\u00f6ttek\u2026). Ide\u00e1lis esetben ellen\u0151rizni kell, hogy az \u00e9rtes\u00edt\u00e9sek val\u00f3ban meg\u00e9rkeznek-e. <\/li>\n<li>\u00dcgyeleti rendszer szervez\u00e9se: az \u00e9rtes\u00edt\u00e9sek nem \u00e9rkezhetnek mindenkinek (k\u00fcl\u00f6nben mindenki egyszerre reag\u00e1l, vagy senki sem reag\u00e1l). Az \u00fcgyeleti feladatokat a fejleszt\u0151knek is el kell l\u00e1tnia: hat\u00e1rozz\u00e1k meg a felel\u0151ss\u00e9gi k\u00f6r\u00f6ket, k\u00e9sz\u00edtsenek egy vil\u00e1gos \u00fatmutat\u00f3t, amelyben pontosan r\u00f6gz\u00edtik, hogy h\u00e9tf\u0151n \u00e9s szerd\u00e1n kinek kell h\u00edvnia, kinek pedig kedden \u00e9s p\u00e9nteken (k\u00fcl\u00f6nben senki sem fog h\u00edvni, m\u00e9g s\u00falyos probl\u00e9ma eset\u00e9n sem \u2014 f\u00e9lni fognak fel\u00e9breszteni, zavarni: az emberek \u00e1ltal\u00e1ban nem szeretnek m\u00e1sokat fel\u00e9breszteni, k\u00fcl\u00f6n\u00f6sen \u00e9jjel). \u00c9s magyar\u00e1zz\u00e1k el, hogy a seg\u00edts\u00e9gk\u00e9r\u00e9s nem a nemtud\u00e1s jele (\u201eha seg\u00edts\u00e9get k\u00e9rek, akkor rossz munkat\u00e1rs vagyok\u201d), \u00f6szt\u00f6n\u00f6zz\u00e9k a seg\u00edts\u00e9gk\u00e9r\u00e9seket.<\/li>\n<li>A \"tud\u00e1sb\u00e1zis\" \u00e9s az incidensfeldolgoz\u00e1si workflow szervez\u00e9se: minden komoly incidens ut\u00e1n posztmortem-t kell tervezni; az incidens megold\u00e1s\u00e1hoz sz\u00fcks\u00e9ges l\u00e9p\u00e9seket ideiglenes int\u00e9zked\u00e9sk\u00e9nt r\u00f6gz\u00edteni kell. Be kell vezetni a gyakorlatot is, hogy a visszat\u00e9r\u0151 \u00e9rtes\u00edt\u00e9sek b\u0171n; ezeket ki kell jav\u00edtani a k\u00f3dban vagy az infrastrukt\u00fara munk\u00e1lataiban. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Technol\u00f3giai h\u00e1tt\u00e9r<\/h3>\n<p>\nTegy\u00fck fel, hogy a stack a k\u00f6vetkez\u0151: <\/p>\n<ul>\n<li>adatgy\u0171jt\u00e9s \u2014 Prometheus + Grafana;<\/li>\n<li>napl\u00f3elemz\u00e9s \u2014 ELK;<\/li>\n<li>APM vagy Tracing \u2014 Jaeger (Zipkin).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"A monitor halott? \u2014 \u00c9ljen a monitoroz\u00e1s\" src=\"\/wp-content\/uploads\/2019\/04\/af26d3c0ba781cd856d220515788b5eb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA lehet\u0151s\u00e9gek kiv\u00e1laszt\u00e1sa nem kritikus. Mert ha az elej\u00e9n meg\u00e9rtetted, hogyan kell monitorozni a rendszert, \u00e9s kidolgoztad a tervet, akkor m\u00e1r elkezdheted kiv\u00e1lasztani az eszk\u00f6z\u00f6ket az ig\u00e9nyeid szerint. A k\u00e9rd\u00e9s az, hogy mit v\u00e1lasztott\u00e1l el\u0151sz\u00f6r monitorozni. Mert lehet, hogy az eszk\u00f6z, amit els\u0151k\u00e9nt v\u00e1lasztott\u00e1l, egy\u00e1ltal\u00e1n nem felel meg az ig\u00e9nyeidnek. <\/p>\n<p>N\u00e9h\u00e1ny technikai szempont, amit mostan\u00e1ban mindenhol l\u00e1tok:<\/p>\n<p><i>A Prometheust belerakj\u00e1k a Kubernetesbe \u2014 ki tal\u00e1lta ezt ki!?<\/i> Ha a klasztered le\u00e1ll, mit fogsz csin\u00e1lni? Ha bonyolult klasztered van, akkor m\u0171k\u00f6dnie kell egy bels\u0151 monitoroz\u00f3 rendszernek a klaszteren bel\u00fcl, \u00e9s egy k\u00fcls\u0151nek, amely adatokat gy\u0171jt a klaszteren k\u00edv\u00fclr\u0151l. <\/p>\n<p><i>A klaszteren bel\u00fcl gy\u0171jtj\u00fck a napl\u00f3kat \u00e9s minden m\u00e1st.<\/i> De a monitoring rendszer\u00e9nek k\u00edv\u00fclr\u0151l kell m\u0171k\u00f6dnie. Nagyon gyakran olyan klaszterben, ahol a Prometheus bels\u0151leg van telep\u00edtve, ott m\u0171k\u00f6dnek olyan rendszerek is, amelyek k\u00fcls\u0151 ellen\u0151rz\u00e9seket v\u00e9geznek a weboldal m\u0171k\u00f6d\u00e9s\u00e9r\u0151l. De mi t\u00f6rt\u00e9nik, ha a k\u00fcls\u0151 vil\u00e1ggal val\u00f3 kapcsolatok megszakadnak \u00e9s az alkalmaz\u00e1s nem m\u0171k\u00f6dik? \u00cdgy bent minden rendben van, de a felhaszn\u00e1l\u00f3knak nem k\u00f6nnyebb.<\/p>\n<h3>K\u00f6vetkeztet\u00e9sek<\/h3>\n<p><\/p>\n<ul>\n<li>A monitoring fejleszt\u00e9se nem egyszer\u0171en utilit\u00e1sok telep\u00edt\u00e9se, hanem egy szoftverterm\u00e9k fejleszt\u00e9se. A mai monitoring 98%-a k\u00f3d\u00edr\u00e1s. K\u00f3d\u00edr\u00e1s a szolg\u00e1ltat\u00e1sokban, k\u00f3d\u00edr\u00e1s a k\u00fcls\u0151 ellen\u0151rz\u00e9sekhez, k\u00fcls\u0151 szolg\u00e1ltat\u00e1sok ellen\u0151rz\u00e9se, \u00e9s minden egy\u00e9b. <\/li>\n<li>Ne sajn\u00e1lj\u00e1tok a fejleszt\u0151k idej\u00e9t a monitoringra: ez ak\u00e1r a munk\u00e1juk 30%-\u00e1t is elfoglalhatja, de meg\u00e9ri.<\/li>\n<li>DevOpsok, ne agg\u00f3djatok, ha nem siker\u00fcl mindent monitorozni, mert bizonyos dolgokhoz eg\u00e9szen m\u00e1s gondolkod\u00e1sm\u00f3d sz\u00fcks\u00e9ges. Nem voltatok programoz\u00f3k, a monitoring munk\u00e1ja kifejezetten az \u00f6v\u00e9k.<\/li>\n<li>Ha a projekt m\u00e1r m\u0171k\u00f6dik \u00e9s nincs monitorozva (\u00e9s ti menedzserek vagytok) \u2014 allok\u00e1ljatok er\u0151forr\u00e1sokat a monitoringra.<\/li>\n<li>Ha a term\u00e9k m\u00e1r \u00e9lesben van, \u00e9s ti devopsok vagytok, akiknek azt mondt\u00e1k, hogy \"\u00e1ll\u00edts\u00e1tok be a monitoringot\" \u2014 pr\u00f3b\u00e1lj\u00e1tok meg elmagyar\u00e1zni a vezet\u0151s\u00e9gnek, amir\u0151l mindezt \u00edrtam.<\/li>\n<\/ul>\n<p>\n<i>Ez a Saint Highload++ konferenci\u00e1n tartott el\u0151ad\u00e1s b\u0151v\u00edtett v\u00e1ltozata.<\/i><\/p>\n<p>Ha \u00e9rdeklik az \u00f6tleteim \u00e9s gondolataim az IT \u00e9s ahhoz kapcsol\u00f3d\u00f3 t\u00e9m\u00e1kr\u00f3l, akkor itt lehet <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/eapotapov_channel\">a csatorn\u00e1t elolvasni <\/a><\/noindex>A v\u00e9g\u00e9n \u00e9n, egy egyszer\u0171 szellemi munk\u00e1s, v\u00e1ratlanul h\u0151s lettem ennek a men\u0151 csatorn\u00e1nak a t\u00f6rt\u00e9net\u00e9ben!<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/448602\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31864","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.3 - aioseo.com -->\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-myortv-da-zdravstvuet-monitoring\" \/>\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 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\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-31T18:43:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:43:33+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\udd47A monitoring halott? \u2014 \u00c9ljen a monitoring | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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-31T18:43:33+00:00","article:modified_time":"2019-10-31T18:43:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31864","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-02-09 17:01:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:09:27","updated":"2026-02-09 17:01:09","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\/31864","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=31864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/31864\/revisions"}],"predecessor-version":[{"id":158558,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/31864\/revisions\/158558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/23731"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=31864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=31864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=31864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}