{"id":32322,"date":"2019-10-31T21:46:21","date_gmt":"2019-10-31T18:46:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\/"},"modified":"2019-10-31T21:46:21","modified_gmt":"2019-10-31T18:46:21","slug":"kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","title":{"rendered":"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Az nevem Anton Baderin. A Magas Technol\u00f3giai K\u00f6zpontban dolgozom, \u00e9s rendszergazd\u00e1lkod\u00e1ssal foglalkozom. Egy h\u00f3nappal ezel\u0151tt befejez\u0151d\u00f6tt a v\u00e1llalati konferenci\u00e1nk, ahol megosztottuk tapasztalatainkat a v\u00e1rosunk IT k\u00f6z\u00f6ss\u00e9g\u00e9vel. \u00c9n a webalkalmaz\u00e1sok monitoroz\u00e1s\u00e1r\u00f3l besz\u00e9ltem. Anyagom junior vagy middle szint\u0171eknek k\u00e9sz\u00fclt, akik nem \u00e1ll\u00edtott\u00e1k \u00f6ssze ezt a folyamatot null\u00e1r\u00f3l.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/c181509e6a10dd7562f361f328446d61.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A monitoring rendszer\u00e9nek alapj\u00e1t k\u00e9pez\u0151 sarokk\u00f6v\u00fcnk a v\u00e1llalati ig\u00e9nyek megold\u00e1sa. A monitoroz\u00e1s \u00f6nmag\u00e1ban senkit sem \u00e9rdekel. De mit szeretne a v\u00e1llalat? Azt szeretn\u00e9, hogy minden gyorsan \u00e9s hiba n\u00e9lk\u00fcl m\u0171k\u00f6dj\u00f6n. A v\u00e1llalat proaktivit\u00e1st v\u00e1r el t\u0151l\u00fcnk, hogy mi magunk \u00e9szlelj\u00fck a szolg\u00e1ltat\u00e1s m\u0171k\u00f6d\u00e9s\u00e9ben felmer\u00fcl\u0151 probl\u00e9m\u00e1kat, \u00e9s a lehet\u0151 leggyorsabban orvosoljuk azokat. Ez l\u00e9nyeg\u00e9ben az a feladat, amit az el\u0151z\u0151 \u00e9v sor\u00e1n egy \u00fcgyfel\u00fcnk projektj\u00e9n megoldottam.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">A projektr\u0151l<\/h2>\n<p><\/p>\n<p>A projekt az orsz\u00e1g egyik legnagyobb lojalit\u00e1si programja. Seg\u00edt\u00fcnk a kiskereskedelmi l\u00e1ncoknak n\u00f6velni az \u00e9rt\u00e9kes\u00edt\u00e9s gyakoris\u00e1g\u00e1t k\u00fcl\u00f6nf\u00e9le marketing eszk\u00f6z\u00f6k, p\u00e9ld\u00e1ul b\u00f3nusz k\u00e1rty\u00e1k r\u00e9v\u00e9n. \u00d6sszesen 14 alkalmaz\u00e1s alkotja a projektet, amelyek t\u00edz szerveren m\u0171k\u00f6dnek.<\/p>\n<p><\/p>\n<p>Besz\u00e9lget\u00e9sek sor\u00e1n t\u00f6bbsz\u00f6r \u00e9szrevettem, hogy az adminisztr\u00e1torok nem mindig a megfelel\u0151 m\u00f3don k\u00f6zel\u00edtik meg a webalkalmaz\u00e1sok monitoroz\u00e1s\u00e1t: sokan m\u00e9g mindig a rendszerszint\u0171 metrik\u00e1kra korl\u00e1toz\u00f3dnak, \u00e9s ritk\u00e1n figyelik a szolg\u00e1ltat\u00e1sokat.<\/p>\n<p><\/p>\n<p>Az \u00fcgyfelem monitoring rendszer\u00e9nek alapj\u00e1t kor\u00e1bban az Icinga k\u00e9pezte. Ez a feladatokat egy\u00e1ltal\u00e1n nem oldotta meg. Gyakran az \u00fcgyf\u00e9l maga \u00e9rtes\u00edtett minket a probl\u00e9m\u00e1kr\u00f3l, \u00e9s nem ritk\u00e1n egyszer\u0171en hi\u00e1nyoztak az adatok, hogy kider\u00edts\u00fck az okokat.<\/p>\n<p><\/p>\n<p>Ezen k\u00edv\u00fcl vil\u00e1gos volt a rendszer tov\u00e1bbi fejleszt\u00e9s\u00e9nek kil\u00e1t\u00e1stalans\u00e1ga. Azt hiszem, azok, akik ismerik az Icing\u00e1t, meg\u00e9rtenek. \u00cdgy \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy teljesen \u00fajra\u00e9p\u00edtj\u00fck a webalkalmaz\u00e1sok monitoroz\u00f3 rendszer\u00e9t a projekt\u00fcnkben.<\/p>\n<p><\/p>\n<h2 id=\"prometheus\">Prometheus<\/h2>\n<p><\/p>\n<p>A Prometheust h\u00e1rom alapvet\u0151 mutat\u00f3 alapj\u00e1n v\u00e1lasztottuk:<\/p>\n<p><\/p>\n<ol>\n<li>Rengeteg el\u00e9rhet\u0151 metrika \u00e1ll rendelkez\u00e9sre, \u00f6sszesen 60 ezer. Persze, \u00e9rdemes megjegyezni, hogy ezek t\u00f6bbs\u00e9g\u00e9t (kb. 95%) nem haszn\u00e1ljuk. Ugyanakkor viszonylag olcs\u00f3k. Ez m\u00e1sik sz\u00e9ls\u0151s\u00e9g sz\u00e1munkra, a kor\u00e1bban haszn\u00e1lt Icing\u00e1hoz k\u00e9pest. Ott a metrik\u00e1k hozz\u00e1ad\u00e1sa k\u00fcl\u00f6n\u00f6sen f\u00e1jdalmas volt: a m\u00e1r megl\u00e9v\u0151k \u00e1rban dr\u00e1g\u00e1k voltak (el\u00e9g csak megn\u00e9zni b\u00e1rmely plugin forr\u00e1sait). Minden plugin egy Bash vagy Python szkript volt, amelyek futtat\u00e1sa er\u0151forr\u00e1sig\u00e9nyes volt.<\/li>\n<li>Ez a rendszer viszonylag kev\u00e9s er\u0151forr\u00e1st fogyaszt. Az \u00f6sszes metrik\u00e1nkhoz elegend\u0151 600 MB RAM, 15% egy mag \u00e9s n\u00e9h\u00e1ny tucat IOPS. Persze, futtatni kell a metrika-export\u00e1l\u00f3kat, de mind Go nyelven \u00edr\u00f3dtak, \u00e9s szint\u00e9n nem ig\u00e9nyelnek sok er\u0151forr\u00e1st. Nem gondolom, hogy ez probl\u00e9m\u00e1t jelent a mai k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt. <\/li>\n<li>Lehet\u0151s\u00e9get ad a Kubernetesbe val\u00f3 \u00e1tt\u00e9r\u00e9sre. Figyelembe v\u00e9ve a megrendel\u0151 terveit \u2014 a v\u00e1laszt\u00e1s nyilv\u00e1nval\u00f3. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"elk\">ELK<\/h2>\n<p><\/p>\n<p>Kor\u00e1bban nem gy\u0171jt\u00f6tt\u00fcnk \u00e9s nem dolgoztunk fel napl\u00f3kat. A h\u00e1tr\u00e1nyok mindenki sz\u00e1m\u00e1ra vil\u00e1gosak. Az ELK mellett d\u00f6nt\u00f6tt\u00fcnk, mivel m\u00e1r volt tapasztalatunk ezzel a rendszerrel. Csak az alkalmaz\u00e1sok napl\u00f3it t\u00e1roljuk ott. A f\u0151 v\u00e1laszt\u00e1si szempontok a teljes sz\u00f6veg\u0171 keres\u00e9s \u00e9s annak sebess\u00e9ge voltak.<\/p>\n<p><\/p>\n<h2 id=\"slickhouse\">Clickhouse<\/h2>\n<p><\/p>\n<p>Kezdetben az InfluxDB-t v\u00e1lasztottuk. Tudtuk, hogy sz\u00fcks\u00e9g van az Nginx logok gy\u0171jt\u00e9s\u00e9re, a pg_stat_statements statisztik\u00e1ira, valamint a Prometheus t\u00f6rt\u00e9neti adatainak t\u00e1rol\u00e1s\u00e1ra. Az Influx nem nyerte el a tetsz\u00e9s\u00fcnket, mivel id\u0151nk\u00e9nt nagy mennyis\u00e9g\u0171 mem\u00f3ri\u00e1t kezdett el fogyasztani \u00e9s \u00f6sszeomlott. Ezen k\u00edv\u00fcl szeretn\u00e9nk a lek\u00e9rdez\u00e9seket remote_addr szerint csoportos\u00edtani, de ebben az adatb\u00e1zis-kezel\u0151ben a csoportos\u00edt\u00e1s csak c\u00edmk\u00e9k alapj\u00e1n lehets\u00e9ges. A c\u00edmk\u00e9k dr\u00e1g\u00e1k (mem\u00f3ria), sz\u00e1muk pedig korl\u00e1tozott.<\/p>\n<p><\/p>\n<p>\u00daj keres\u00e9st kezdt\u00fcnk. Analitikai alapra volt sz\u00fcks\u00e9g minim\u00e1lis er\u0151forr\u00e1s-fogyaszt\u00e1ssal, lehet\u0151leg az adatok lemezre t\u00f6m\u00f6r\u00edt\u00e9s\u00e9vel.<\/p>\n<p><\/p>\n<p>A Clickhouse minden ilyen krit\u00e9riumnak megfelel, \u00e9s v\u00e1laszt\u00e1sunkra egyszer sem b\u00e1ntuk meg. Nem \u00edrunk bele kiemelked\u0151 mennyis\u00e9g\u0171 adatot (a m\u00e1sodpercenk\u00e9nti besz\u00far\u00e1sok sz\u00e1ma \u00f6sszesen k\u00f6r\u00fclbel\u00fcl \u00f6tezer).<\/p>\n<p><\/p>\n<h2 id=\"newrelic\">NewRelic<\/h2>\n<p><\/p>\n<p>A NewRelic t\u00f6rt\u00e9nelmileg mindig is vel\u00fcnk volt, mivel ez volt a megrendel\u0151 v\u00e1laszt\u00e1sa. N\u00e1lunk APM-k\u00e9nt haszn\u00e1lj\u00e1k.<\/p>\n<p><\/p>\n<h2 id=\"zabbix\">Zabbix<\/h2>\n<p><\/p>\n<p>A Zabbixot kiz\u00e1r\u00f3lag a Black Box k\u00fcl\u00f6nb\u00f6z\u0151 API-jainak figyel\u00e9s\u00e9re haszn\u00e1ljuk.<\/p>\n<p><\/p>\n<h2 id=\"opredelenie-podhoda-k-monitoringu\">A megfigyel\u00e9si megk\u00f6zel\u00edt\u00e9s meghat\u00e1roz\u00e1sa<\/h2>\n<p><\/p>\n<p>Szerett\u00fck volna dekompon\u00e1lni a feladatot \u00e9s ezzel rendszerezni a megfigyel\u00e9s megk\u00f6zel\u00edt\u00e9s\u00e9t.<\/p>\n<p><\/p>\n<p>Ez\u00e9rt a rendszert a k\u00f6vetkez\u0151 szintekre osztottam:<\/p>\n<p><\/p>\n<ul>\n<li>\u201ehardver\u201d \u00e9s VMS;<\/li>\n<li>oper\u00e1ci\u00f3s rendszer;<\/li>\n<li>rendszerszolg\u00e1ltat\u00e1sok, szoftverstack;<\/li>\n<li>alkalmaz\u00e1s;<\/li>\n<li>\u00fczleti logika.<\/li>\n<\/ul>\n<p><\/p>\n<p>Milyen el\u0151nye van ennek a megk\u00f6zel\u00edt\u00e9snek:<\/p>\n<p><\/p>\n<ul>\n<li>tudjuk, ki felel\u0151s az egyes szintek m\u0171k\u00f6d\u00e9s\u00e9\u00e9rt, \u00e9s ennek megfelel\u0151en riaszt\u00e1sokat k\u00fcldhet\u00fcnk;<\/li>\n<li>a strukt\u00far\u00e1t a riaszt\u00e1sok le\u00e1ll\u00edt\u00e1sakor is haszn\u00e1lhatjuk \u2013 furcsa lenne, ha adatb\u00e1zis-el\u00e9rhetetlens\u00e9gr\u0151l k\u00fclden\u00e9nk riaszt\u00e1st, amikor az eg\u00e9sz virtu\u00e1lis g\u00e9p el\u00e9rhetetlen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Mivel a feladatunk a rendszer m\u0171k\u00f6d\u00e9si zavarainak azonos\u00edt\u00e1sa, minden szinten ki kell emelni egy adott m\u00e9r\u00e9si szettet, amelyre figyelmet kell ford\u00edtani a riaszt\u00e1si szab\u00e1lyok \u00edr\u00e1sakor. Ezut\u00e1n \u00e1ttekintj\u00fck a \u201eVMS\u201d, \u201eOper\u00e1ci\u00f3s rendszer\u201d \u00e9s \u201eRendszerszolg\u00e1ltat\u00e1sok, szoftverstack\u201d szinteket.<\/p>\n<p><\/p>\n<h2 id=\"virtualnye-mashiny\">Virtu\u00e1lis g\u00e9pek<\/h2>\n<p><\/p>\n<p><a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/\"   title=\"T\u00e1rhely\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2329\">T\u00e1rhely<\/a> kiemeli a processzort, a lemezt, a mem\u00f3ri\u00e1t \u00e9s a h\u00e1l\u00f3zatot. Az els\u0151 kett\u0151vel probl\u00e9m\u00e1ink voltak. Teh\u00e1t a mutat\u00f3k:<\/p>\n<p><\/p>\n<p>CPU stolen time \u2014 amikor virtu\u00e1lis g\u00e9pet v\u00e1s\u00e1rol az Amazonon (p\u00e9ld\u00e1ul t2.micro), \u00e9rtenie kell, hogy nem kap egy teljes processzormagot, csak a rendelkez\u00e9s\u00e9re \u00e1ll\u00f3 id\u0151 ar\u00e1ny\u00e1t. Amikor ezt kimer\u00edti, a CPU-t elkezdik elvenni.<\/p>\n<p><\/p>\n<p>Ez a mutat\u00f3 lehet\u0151v\u00e9 teszi az ilyen pillanatok nyomon k\u00f6vet\u00e9s\u00e9t \u00e9s d\u00f6nt\u00e9sek hoz\u00e1s\u00e1t. P\u00e9ld\u00e1ul, sz\u00fcks\u00e9g van-e er\u0151sebb tarif\u00e1ra vagy a h\u00e1tt\u00e9rfeladatok \u00e9s az API-k\u00e9r\u00e9sek feldolgoz\u00e1s\u00e1t k\u00fcl\u00f6nb\u00f6z\u0151 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/dts-los-angeles\/\"   title=\"a szerver\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3493\">a szerver<\/a>.<\/p>\n<p><\/p>\n<p>IOPS + CPU iowait time \u2014 valami\u00e9rt sok felh\u0151szolg\u00e1ltat\u00e1s hib\u00e1zik, hogy nem ad elegend\u0151 IOPS-t. R\u00e1ad\u00e1sul a low IOPS grafikon sz\u00e1mukra nem \u00e9rvet jelent. Ez\u00e9rt \u00e9rdemes gy\u0171jteni a CPU iowait-ot is. Ezzel a k\u00e9t grafikon p\u00e1rossal \u2014 alacsony IOPS \u00e9s magas bemeneti\/kimeneti v\u00e1rakoz\u00e1s \u2014 m\u00e1r lehet besz\u00e9lni a szolg\u00e1ltat\u00f3val \u00e9s megoldani a probl\u00e9m\u00e1t.<\/p>\n<p><\/p>\n<h2 id=\"operacionnaya-sistema\">Oper\u00e1ci\u00f3s rendszer<\/h2>\n<p><\/p>\n<p>Az oper\u00e1ci\u00f3s rendszer mutat\u00f3i:<\/p>\n<p><\/p>\n<ul>\n<li>a rendelkez\u00e9sre \u00e1ll\u00f3 mem\u00f3ria sz\u00e1zal\u00e9kos ar\u00e1nya;<\/li>\n<li>a swap haszn\u00e1lat\u00e1nak aktivit\u00e1sa: vmstat swapin, swapout;<\/li>\n<li>az el\u00e9rhet\u0151 inode-ok \u00e9s a f\u00e1jlrendszer szabad hely\u00e9nek sz\u00e1zal\u00e9kos ar\u00e1nya<\/li>\n<li>\u00e1tlagos terhel\u00e9s;<\/li>\n<li>a tw \u00e1llapot\u00fa kapcsolatok sz\u00e1ma;<\/li>\n<li>a conntrack t\u00e1bl\u00e1zat tel\u00edtetts\u00e9ge;<\/li>\n<li>a h\u00e1l\u00f3zat m\u0171k\u00f6d\u00e9s\u00e9nek min\u0151s\u00e9g\u00e9t az ss seg\u00e9dprogrammal figyelhetj\u00fck, az iproute2 csomaggal \u2013 el\u00e9rhetj\u00fck a kimenet RTT mutat\u00f3j\u00e1t \u00e9s az adatokat c\u00e9lport szerint csoportos\u00edthatjuk.<\/li>\n<\/ul>\n<p><\/p>\n<p>Az oper\u00e1ci\u00f3s rendszer szintj\u00e9n megjelenik egy olyan entit\u00e1s, mint a folyamatok. Fontos kiv\u00e1lasztani a rendszerben azokat a folyamatokat, amelyek kulcsszerepet j\u00e1tszanak a m\u0171k\u00f6d\u00e9s\u00e9ben. P\u00e9ld\u00e1ul, ha t\u00f6bb pgpool-ja van, akkor mindegyik\u00fckre vonatkoz\u00f3an inform\u00e1ci\u00f3t kell gy\u0171jteni.<\/p>\n<p><\/p>\n<p>A kiv\u00e1lasztott mutat\u00f3k a k\u00f6vetkez\u0151k:<\/p>\n<p><\/p>\n<ul>\n<li>CPU;<\/li>\n<li>a mem\u00f3ria \u2014 els\u0151sorban a rendszer mem\u00f3ria;<\/li>\n<li>IO \u2014 lehet\u0151leg IOPS-ban;<\/li>\n<li>FileFd \u2014 nyitott \u00e9s limit;<\/li>\n<li>l\u00e9tfontoss\u00e1g\u00fa oldalsz\u00e1m\u00edt\u00e1sok \u2014 \u00edgy meg\u00e9rtheti, mely folyamat swap-el.<\/li>\n<\/ul>\n<p><\/p>\n<p>Az \u00f6sszes monitoroz\u00e1sunk Dockerben fut, az metrik\u00e1k adatainak gy\u0171jt\u00e9s\u00e9hez a \u0421advisor-t haszn\u00e1ljuk. A t\u00f6bbi g\u00e9pen process-exportert alkalmazunk.<\/p>\n<p><\/p>\n<h2 id=\"sistemnye-servisy-stek-po\">Rendszerszolg\u00e1ltat\u00e1sok, szoftverstack<\/h2>\n<p><\/p>\n<p>Minden alkalmaz\u00e1snak megvan a maga saj\u00e1toss\u00e1ga, \u00e9s neh\u00e9z kiemelni egy meghat\u00e1rozott metrikak\u00e9szletet.<\/p>\n<p><\/p>\n<p>Az univerz\u00e1lis k\u00e9szlet a k\u00f6vetkez\u0151ket tartalmazza:<\/p>\n<p><\/p>\n<ul>\n<li>lek\u00e9rdez\u00e9si ar\u00e1ny;<\/li>\n<li>hiba mennyis\u00e9ge;<\/li>\n<li>k\u00e9sleltet\u00e9s;<\/li>\n<li>tel\u00edtetts\u00e9g.<\/li>\n<\/ul>\n<p><\/p>\n<p>A legl\u00e9nyegesebb monitoroz\u00e1si p\u00e9ld\u00e1k n\u00e1lunk az Nginx \u00e9s a PostgreSQL.<\/p>\n<p><\/p>\n<p>A legnagyobb terhel\u00e9s\u0171 szolg\u00e1ltat\u00e1s a rendszer\u00fcnkben az adatb\u00e1zis. Kor\u00e1bban gyakran voltak neh\u00e9zs\u00e9geink kider\u00edteni, hogy mivel foglalkozik az adatb\u00e1zis.<\/p>\n<p><\/p>\n<p>L\u00e1ttuk a lemezek magas terhel\u00e9s\u00e9t, de a slow logok nem mutattak gyakorlatilag semmit. Ezt a probl\u00e9m\u00e1t a pg_stat_statements seg\u00edts\u00e9g\u00e9vel oldottuk meg, amely n\u00e9zetben \u00f6sszegy\u0171lik a lek\u00e9rdez\u00e9sek statisztik\u00e1ja.<\/p>\n<p><\/p>\n<p>Ez minden, amire egy adminisztr\u00e1tornak sz\u00fcks\u00e9ge van.<\/p>\n<p><\/p>\n<p>Grafikonokat \u00e9p\u00edt\u00fcnk a lek\u00e9rdez\u00e9sek olvas\u00e1si \u00e9s \u00edr\u00e1si aktivit\u00e1s\u00e1r\u00f3l:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/f838b7759221b284c06941291fa186df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/ea8684ea81f21c8d762a606aeb8342a3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Minden egyszer\u0171 \u00e9s vil\u00e1gos, minden lek\u00e9rdez\u00e9snek \u2014 saj\u00e1t sz\u00edne van.<\/p>\n<p><\/p>\n<p>Nem kev\u00e9sb\u00e9 figyelemre m\u00e9lt\u00f3 p\u00e9lda \u2014 az Nginx logok. Nem meglep\u0151, hogy kevesen elemzik \u0151ket vagy eml\u00edtik a k\u00f6telez\u0151 list\u00e1ban. A standard form\u00e1tum nem t\u00fal informat\u00edv, \u00e9s b\u0151v\u00edteni kell.<\/p>\n<p><\/p>\n<p>Szem\u00e9ly szerint hozz\u00e1tettem a request_time, upstream_response_time, body_bytes_sent, request_length, request_id-ot. Grafikonokat \u00e9p\u00edt\u00fcnk a v\u00e1laszid\u0151r\u0151l \u00e9s a hib\u00e1k sz\u00e1m\u00e1r\u00f3l:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/e517f15303f8fa780d40b7f7e30eb9ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/9a07ffda75300ec939edff24532fc294.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Grafikonokat \u00e9p\u00edt\u00fcnk a v\u00e1laszid\u0151r\u0151l \u00e9s a hib\u00e1k sz\u00e1m\u00e1r\u00f3l. Eml\u00e9kszik? A v\u00e1llalkoz\u00e1s feladataira besz\u00e9ltem? Hogy gyorsan \u00e9s hib\u00e1k n\u00e9lk\u00fcl? M\u00e1r k\u00e9t grafikon e k\u00e9rd\u00e9sek ment\u00e9n lez\u00e1rta. \u00c9s alapj\u00e1nuk m\u00e1r lehet h\u00edvni a \u00fcgyeletes adminisztr\u00e1torokat.<\/p>\n<p><\/p>\n<p>De maradt egy probl\u00e9ma \u2014 gyorsan megsz\u00fcntetni az incidens ok\u00e1t.<\/p>\n<p><\/p>\n<h2 id=\"ustranenie-incidentov\">Incidens felsz\u00e1mol\u00e1s<\/h2>\n<p><\/p>\n<p>Az eg\u00e9sz folyamatot azonos\u00edt\u00e1st\u00f3l a probl\u00e9ma megold\u00e1s\u00e1ig t\u00f6bb l\u00e9p\u00e9sre lehet bontani:<\/p>\n<p><\/p>\n<ul>\n<li>a probl\u00e9ma azonos\u00edt\u00e1sa;<\/li>\n<li>az \u00fcgyeletes adminisztr\u00e1tor \u00e9rtes\u00edt\u00e9se;<\/li>\n<li>reakci\u00f3 az incidensre;<\/li>\n<li>az okok megsz\u00fcntet\u00e9se.<\/li>\n<\/ul>\n<p><\/p>\n<p>Fontos, hogy ezt a lehet\u0151 leghamarabb meg kell tenn\u00fcnk. Ha az incidens azonos\u00edt\u00e1s\u00e1nak \u00e9s az \u00e9rtes\u00edt\u00e9snek a l\u00e9p\u00e9sein\u00e9l k\u00fcl\u00f6n\u00f6sebben id\u0151t nyerni nem tudunk \u2014 mindkett\u0151h\u00f6z k\u00e9t perc fog menni mindenk\u00e9ppen, a tov\u00e1bbiak viszont \u2014 egyszer\u0171, megm m\u0171veletlen ter\u00fclet a fejleszt\u00e9sekhez.<\/p>\n<p><\/p>\n<p>K\u00e9pzelj\u00fck el, hogy a diszp\u00e9cser telefonja megcs\u00f6rren. Mit fog tenni? Keresni fogja a v\u00e1laszokat a k\u00e9rd\u00e9sekre - mi hib\u00e1sodott meg, hol hib\u00e1sodott meg, hogyan kell reag\u00e1lni? \u00cdgy v\u00e1laszolunk ezekre a k\u00e9rd\u00e9sekre:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hogyan \u00e9p\u00edtett\u00fck a monitoroz\u00e1st Prometheus, Clickhouse \u00e9s ELK seg\u00edts\u00e9g\u00e9vel\" src=\"\/wp-content\/uploads\/2019\/04\/7f33172922e646a24bb83733350b24f5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Egyszer\u0171en be\u00e9p\u00edtj\u00fck az \u00f6sszes inform\u00e1ci\u00f3t az \u00e9rtes\u00edt\u00e9s sz\u00f6veg\u00e9be, \u00e9s hivatkoz\u00e1st adunk r\u00e1 arra az oldalra a wikiben, ahol le van \u00edrva, hogyan kell reag\u00e1lni erre a probl\u00e9m\u00e1ra, hogyan kell megoldani \u00e9s eszkal\u00e1lni azt.<\/p>\n<p><\/p>\n<p>M\u00e9g nem besz\u00e9ltem a alkalmaz\u00e1s \u00e9s az \u00fczleti logika szintj\u00e9r\u0151l. Sajnos az alkalmaz\u00e1sainkban m\u00e9g nem lett megval\u00f3s\u00edtva a metrik\u00e1k gy\u0171jt\u00e9se. Az egyetlen forr\u00e1s, ami valamilyen inform\u00e1ci\u00f3t ny\u00fajt ezekr\u0151l a szintekr\u0151l, a napl\u00f3k.<\/p>\n<p><\/p>\n<p>N\u00e9h\u00e1ny dolog.<\/p>\n<p><\/p>\n<p>El\u0151sz\u00f6r is, \u00edrjon struktur\u00e1lt napl\u00f3kat. Ne kelljen a kontextust a \u00fczenet sz\u00f6veg\u00e9be belefoglalni. Ez megnehez\u00edti a csoportos\u00edt\u00e1st \u00e9s az elemz\u00e9st. A Logstash sok id\u0151t ig\u00e9nyel, hogy mindezt normaliz\u00e1lja.<\/p>\n<p><\/p>\n<p>M\u00e1sodszor, helyesen haszn\u00e1lja a severity szinteket. Minden nyelvnek megvan a saj\u00e1t sztenderdje. \u00c9n szem\u00e9ly szerint n\u00e9gy szintet k\u00fcl\u00f6nb\u00f6ztetek meg:<\/p>\n<p><\/p>\n<ol>\n<li>nincs hiba;<\/li>\n<li>hiba az \u00fcgyf\u00e9l oldal\u00e1n;<\/li>\n<li>hiba a mi oldalunkon, nem vesz\u00edt\u00fcnk p\u00e9nzt, nem hordozunk kock\u00e1zatokat;<\/li>\n<li>hiba a mi oldalunkon, p\u00e9nzt vesz\u00edt\u00fcnk.<\/li>\n<\/ol>\n<p><\/p>\n<p>\u00d6sszefoglalva. Arra kell t\u00f6rekedni, hogy a monitoroz\u00e1st pontosan az \u00fczleti logika alapj\u00e1n \u00e9p\u00edts\u00fck fel. Pr\u00f3b\u00e1ljon meg monitorozni mag\u00e1t az alkalmaz\u00e1st, \u00e9s olyan metrik\u00e1kkal oper\u00e1lni, mint az elad\u00e1sok sz\u00e1ma, \u00faj felhaszn\u00e1l\u00f3i regisztr\u00e1ci\u00f3k sz\u00e1ma, akt\u00edv felhaszn\u00e1l\u00f3k sz\u00e1ma stb.<\/p>\n<p><\/p>\n<p>Ha az eg\u00e9sz v\u00e1llalkoz\u00e1sa egy gomb a b\u00f6ng\u00e9sz\u0151ben, akkor figyelnie kell, hogy megnyomj\u00e1k-e azt, m\u0171k\u00f6dik-e megfelel\u0151en. Minden m\u00e1s nem fontos.<\/p>\n<p><\/p>\n<p>Ha nincs meg ez, megpr\u00f3b\u00e1lhatja ezt a napl\u00f3kban, Nginx napl\u00f3kban \u00e9s \u00edgy tov\u00e1bb p\u00f3tolni, ahogy mi tett\u00fck. A lehet\u0151 legk\u00f6zelebb kell lennie az alkalmaz\u00e1shoz.<\/p>\n<p><\/p>\n<p>Az oper\u00e1ci\u00f3s rendszer metrik\u00e1i term\u00e9szetesen fontosak, de az \u00fczlet sz\u00e1m\u00e1ra nem \u00e9rdekesek, nem ez\u00e9rt fizetnek nek\u00fcnk.<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449352\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c. \u041c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0430\u0441\u044c \u043d\u0430\u0448\u0430 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f, \u0433\u0434\u0435 \u043c\u044b \u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0441 IT-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0433\u043e\u0440\u043e\u0434\u0430. \u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043f\u0440\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f junior \u0438\u043b\u0438 middle, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 \u043d\u0443\u043b\u044f. \u041a\u0440\u0430\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u043c\u0435\u043d\u044c, \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u044e\u0431\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32322","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=\"description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.\" \/>\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\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\" \/>\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\u041a\u0430\u043a \u043c\u044b \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 Prometheus, Clickhouse \u0438 ELK | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\" \/>\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:46:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:21+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\udd47Hogyan \u00e9p\u00edtett\u00fck fel a monitoroz\u00e1st a Prometheus, Clickhouse \u00e9s ELK haszn\u00e1lat\u00e1val | ProHoster","description":"A nevem Anton Baderin. A Magas Technol\u00f3giai K\u00f6zpontban dolgozom \u00e9s rendszergazd\u00e1lkod\u00e1ssal foglalkozom.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","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\u041a\u0430\u043a \u043c\u044b \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 Prometheus, Clickhouse \u0438 ELK | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","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:46:21+00:00","article:modified_time":"2019-10-31T18:46:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32322","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-22 15:34:41","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:00:23","updated":"2026-02-22 15:34:41","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\/32322","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=32322"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":162019,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/32322\/revisions\/162019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/24139"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}