{"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\/sv\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","title":{"rendered":"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jag heter Anton Baderyn. Jag arbetar p\u00e5 Center for High Technologies och \u00e4gnar mig \u00e5t systemadministration. F\u00f6r en m\u00e5nad sedan avslutades v\u00e5r f\u00f6retagskonferens d\u00e4r vi delade med oss av v\u00e5ra erfarenheter med IT-gemenskapen i v\u00e5r stad. Jag pratade om \u00f6vervakning av webbapplikationer. Materialet var avsett f\u00f6r junior- eller medelniv\u00e5, som \u00e4nnu inte har byggt upp denna process fr\u00e5n grunden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/c181509e6a10dd7562f361f328446d61.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Stolpen som ligger till grund f\u00f6r varje \u00f6vervakningssystem \u00e4r att l\u00f6sa aff\u00e4rens problem. \u00d6vervakning f\u00f6r \u00f6vervakningens skull intresserar ingen. Vad vill aff\u00e4ren? Att allt ska fungera snabbt och utan fel. Aff\u00e4ren vill ha proaktivitet, s\u00e5 att vi sj\u00e4lva kan identifiera problem i tj\u00e4nstens drift och snabbt \u00e5tg\u00e4rda dem. Detta \u00e4r i grunden de uppgifter jag har l\u00f6st under hela f\u00f6rra \u00e5ret i projektet f\u00f6r en av v\u00e5ra kunder.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">Om projektet<\/h2>\n<p><\/p>\n<p>Projektet \u00e4r ett av de st\u00f6rsta lojalitetsprogrammen i landet. Vi hj\u00e4lper detaljhandelskedjor att \u00f6ka f\u00f6rs\u00e4ljningsfrekvensen genom olika marknadsf\u00f6ringsverktyg som bonuskort. Totalt ing\u00e5r 14 applikationer i projektet som arbetar p\u00e5 tio servrar.<\/p>\n<p><\/p>\n<p>Vid genomf\u00f6rande av intervjuer har jag flera g\u00e5nger observerat att administrat\u00f6rer inte alltid n\u00e4rmar sig \u00f6vervakningen av webbapplikationer p\u00e5 r\u00e4tt s\u00e4tt: fortfarande \u00e4r det m\u00e5nga som stannar vid operativsystemets metrik och s\u00e4llan \u00f6vervakar tj\u00e4nster.<\/p>\n<p><\/p>\n<p>I mitt fall vilade systemet f\u00f6r kundens \u00f6vervakning tidigare p\u00e5 Icinga. Den l\u00f6ste inte de angivna problemen. Ofta rapporterade kunden sj\u00e4lva problem till oss och vi hade oftast inte tillr\u00e4ckligt med data f\u00f6r att komma till rotorsaken.<\/p>\n<p><\/p>\n<p>Dessutom fanns det en tydlig f\u00f6rst\u00e5else f\u00f6r meningsl\u00f6sheten i hennes vidare utveckling. Jag tror att de som \u00e4r bekanta med Icinga f\u00f6rst\u00e5r mig. S\u00e5 vi beslutade att helt omarbeta systemet f\u00f6r \u00f6vervakning av webbapplikationer i projektet.<\/p>\n<p><\/p>\n<h2 id=\"prometheus\">Prometheus<\/h2>\n<p><\/p>\n<p>Vi valde Prometheus baserat p\u00e5 tre huvudindikatorer:<\/p>\n<p><\/p>\n<ol>\n<li>Ett stort antal tillg\u00e4ngliga metrik. I v\u00e5rt fall \u00e4r de 60 000. Naturligtvis b\u00f6r det p\u00e5pekas att majoriteten av dem knappt anv\u00e4nds (troligen omkring 95%). \u00c5 andra sidan \u00e4r de alla relativt billiga. F\u00f6r oss \u00e4r detta den andra extremen j\u00e4mf\u00f6rt med det tidigare anv\u00e4nda Icinga. I den var till\u00e4gg av metrik en s\u00e4rskild pl\u00e5ga: de befintliga kostade dyrt (det r\u00e4cker att titta p\u00e5 k\u00e4llkoden f\u00f6r vilket plugin som helst). Varje plugin var ett skript i Bash eller Python, vars k\u00f6rning inte \u00e4r billig i fr\u00e5ga om resursanv\u00e4ndning.<\/li>\n<li>Detta system konsumerar relativt f\u00e5 resurser. F\u00f6r alla v\u00e5ra metrik r\u00e4cker 600 MB RAM, 15% av en k\u00e4rna och ett par dussin IOPS. Naturligtvis m\u00e5ste export\u00f6rer av metrik k\u00f6ras, men de \u00e4r alla skrivna i Go och skiljer sig inte heller i resurskrav. Jag tror inte att detta \u00e4r ett problem i dagens l\u00e4ge. <\/li>\n<li>Ger m\u00f6jlighet till \u00f6verg\u00e5ng till Kubernetes. Med tanke p\u00e5 kundens planer \u00e4r valet uppenbart. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"elk\">ELK<\/h2>\n<p><\/p>\n<p>Tidigare samlade vi inte och bearbetade inte loggar. Nackdelarna \u00e4r uppenbara f\u00f6r alla. Vi valde ELK eftersom vi redan hade erfarenhet av att arbeta med detta system. Vi lagrar endast applikationsloggar d\u00e4r. De viktigaste urvalskriterierna var fulltexts\u00f6kning och dess hastighet.<\/p>\n<p><\/p>\n<h2 id=\"slickhouse\">Clickhouse<\/h2>\n<p><\/p>\n<p>Ursprungligen f\u00f6ll valet p\u00e5 InfluxDB. Vi ins\u00e5g behovet av att samla loggar fr\u00e5n Nginx, statistik fr\u00e5n pg_stat_statements, lagra historiska data fr\u00e5n Prometheus. Influx f\u00f6ll inte i smaken, eftersom det d\u00e5 och d\u00e5 b\u00f6rjade konsumera stora m\u00e4ngder minne och kraschade. Dessutom ville vi gruppera f\u00f6rfr\u00e5gningar efter remote_addr, men gruppering i denna databas var endast m\u00f6jlig efter taggar. Taggar \u00e4r dyra (minne), och deras antal \u00e4r begr\u00e4nsat.<\/p>\n<p><\/p>\n<p>Vi b\u00f6rjade s\u00f6kandet p\u00e5 nytt. Vi beh\u00f6vde en analytisk databas med minimal resursanv\u00e4ndning, helst med data komprimering p\u00e5 disken.<\/p>\n<p><\/p>\n<p>Clickhouse uppfyller alla dessa kriterier, och vi har inte \u00e5ngrat v\u00e5rt val en enda g\u00e5ng. Vi skriver inte in n\u00e5gra exceptionellt stora datam\u00e4ngder (antalet ins\u00e4ttningar \u00e4r bara cirka fem tusen per minut).<\/p>\n<p><\/p>\n<h2 id=\"newrelic\">NewRelic<\/h2>\n<p><\/p>\n<p>NewRelic har historiskt varit med oss, eftersom det var kundens val. Vi anv\u00e4nder det som APM.<\/p>\n<p><\/p>\n<h2 id=\"zabbix\">Zabbix<\/h2>\n<p><\/p>\n<p>Vi anv\u00e4nder Zabbix uteslutande f\u00f6r att \u00f6vervaka Black Box av olika API.<\/p>\n<p><\/p>\n<h2 id=\"opredelenie-podhoda-k-monitoringu\">Best\u00e4mning av \u00f6vervakningsmetod<\/h2>\n<p><\/p>\n<p>Vi ville dekomponera uppgiften och p\u00e5 s\u00e5 s\u00e4tt systematisera tillv\u00e4gag\u00e5ngss\u00e4ttet f\u00f6r \u00f6vervakning.<\/p>\n<p><\/p>\n<p>F\u00f6r detta har jag delat v\u00e5rt system i f\u00f6ljande niv\u00e5er:<\/p>\n<p><\/p>\n<ul>\n<li>h\u00e5rdvara och VMS;<\/li>\n<li>operativsystem;<\/li>\n<li>systemtj\u00e4nster, programvarustack;<\/li>\n<li>applikation;<\/li>\n<li>aff\u00e4rslogik.<\/li>\n<\/ul>\n<p><\/p>\n<p>Vad som \u00e4r praktiskt med detta tillv\u00e4gag\u00e5ngss\u00e4tt:<\/p>\n<p><\/p>\n<ul>\n<li>vi vet vem som \u00e4r ansvarig f\u00f6r att varje niv\u00e5 fungerar och i enlighet med detta kan vi skicka varningar;<\/li>\n<li>vi kan anv\u00e4nda strukturen vid undertryckning av varningar \u2013 det skulle vara m\u00e4rkligt att skicka en varning om en databas inte \u00e4r tillg\u00e4nglig n\u00e4r hela den virtuella maskinen \u00e4r otillg\u00e4nglig.<\/li>\n<\/ul>\n<p><\/p>\n<p>Eftersom v\u00e5r uppgift \u00e4r att identifiera \u00f6vertr\u00e4delser i systemets funktion, b\u00f6r vi p\u00e5 varje niv\u00e5 identifiera ett visst antal m\u00e4tv\u00e4rden som vi b\u00f6r uppm\u00e4rksamma n\u00e4r vi skriver regler f\u00f6r varningar. L\u00e5t oss g\u00e5 igenom niv\u00e5erna 'VMS', 'Operativsystem' och 'Systemtj\u00e4nster, programvarustack'.<\/p>\n<p><\/p>\n<h2 id=\"virtualnye-mashiny\">Virtuella maskiner<\/h2>\n<p><\/p>\n<p><a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/\"   title=\"Hosting\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2329\">Hosting<\/a> utser en processor, disk, minne och n\u00e4tverk till oss. Och med de tv\u00e5 f\u00f6rsta hade vi problem. S\u00e5, m\u00e4tv\u00e4rden:<\/p>\n<p><\/p>\n<p>CPU stolen time \u2013 n\u00e4r du k\u00f6per en virtuell maskin p\u00e5 Amazon (t.ex. t2.micro) b\u00f6r du f\u00f6rst\u00e5 att du inte f\u00e5r en hel k\u00e4rna av processorn, utan bara en kvot av dess tid. Och n\u00e4r du har f\u00f6rbrukat det, b\u00f6rjar processorn bli stulen.<\/p>\n<p><\/p>\n<p>Detta m\u00e4tv\u00e4rde g\u00f6r att vi kan \u00f6vervaka s\u00e5dana \u00f6gonblick och fatta beslut. Till exempel, beh\u00f6ver vi ta en b\u00e4ttre plan eller dela upp bearbetningen av bakgrundsuppgifter och API-f\u00f6rfr\u00e5gningar p\u00e5 olika <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/dts-los-angeles\/\"   title=\"servern\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3493\">servern<\/a>.<\/p>\n<p><\/p>\n<p>IOPS + CPU iowait time \u2013 av n\u00e5gon anledning har m\u00e5nga molnhostingtj\u00e4nster en tendens att inte ge tillr\u00e4ckligt med IOPS. Dessutom \u00e4r en graf med l\u00e5ga IOPS inget argument f\u00f6r dem. D\u00e4rf\u00f6r \u00e4r det v\u00e4rt att samla b\u00e5de IOPS och CPU iowait. Med detta par av grafer \u2013 med l\u00e5ga IOPS och h\u00f6g i\/o-v\u00e4ntan \u2013 kan man redan b\u00f6rja prata med hostingleverant\u00f6ren och l\u00f6sa problemet.<\/p>\n<p><\/p>\n<h2 id=\"operacionnaya-sistema\">Operativsystem<\/h2>\n<p><\/p>\n<p>M\u00e4tv\u00e4rden f\u00f6r operativsystemet:<\/p>\n<p><\/p>\n<ul>\n<li>andelen tillg\u00e4ngligt minne i %;<\/li>\n<li>aktivitet av swap-anv\u00e4ndning: vmstat swapin, swapout;<\/li>\n<li>antal tillg\u00e4ngliga inode och ledigt utrymme p\u00e5 filsystemet i %<\/li>\n<li>genomsnittlig belastning;<\/li>\n<li>antal anslutningar i tillst\u00e5nd tw;<\/li>\n<li>fyllning av conntrack-tabellen;<\/li>\n<li>kvaliteten p\u00e5 n\u00e4tverksarbetet kan \u00f6vervakas med hj\u00e4lp av verktyget ss, med paketet iproute2 \u2013 f\u00e5 fr\u00e5n dess utdata indikatorn f\u00f6r RTT-anslutningar och gruppera efter dest-port.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c4ven p\u00e5 niv\u00e5 operativsystem f\u00e5r vi en entitet som processer. Det \u00e4r viktigt att identifiera en upps\u00e4ttning processer i systemet som spelar en viktig roll i dess funktion. Om du till exempel har flera pgpool, beh\u00f6ver du samla in information om var och en av dem.<\/p>\n<p><\/p>\n<p>Upps\u00e4ttningen av m\u00e4tv\u00e4rden \u00e4r f\u00f6ljande:<\/p>\n<p><\/p>\n<ul>\n<li>CPU;<\/li>\n<li>minne \u00e4r fr\u00e4mst resident;<\/li>\n<li>IO \u2013 helst i IOPS;<\/li>\n<li>FileFd \u2013 \u00f6ppna och begr\u00e4nsningar;<\/li>\n<li>betydande sidor avvisningar \u2013 s\u00e5 kan du f\u00f6rst\u00e5 vilken process som swappar.<\/li>\n<\/ul>\n<p><\/p>\n<p>All \u00f6vervakning \u00e4r distribuerad i Docker, f\u00f6r att samla in metricsdata anv\u00e4nder vi Cadvisor. P\u00e5 andra maskiner anv\u00e4nder vi process-exporter.<\/p>\n<p><\/p>\n<h2 id=\"sistemnye-servisy-stek-po\">Systemtj\u00e4nster, mjukvarustack<\/h2>\n<p><\/p>\n<p>Varje applikation har sina specifika egenskaper, och det \u00e4r sv\u00e5rt att lyfta fram n\u00e5got visst set av metrics.<\/p>\n<p><\/p>\n<p>Ett universellt set \u00e4r:<\/p>\n<p><\/p>\n<ul>\n<li>fr\u00e5gefrekvens;<\/li>\n<li>antal fel;<\/li>\n<li>latens;<\/li>\n<li>saturation.<\/li>\n<\/ul>\n<p><\/p>\n<p>De mest uppenbara exemplen p\u00e5 \u00f6vervakning p\u00e5 denna niv\u00e5 hos oss \u00e4r \u2013 Nginx och PostgreSQL.<\/p>\n<p><\/p>\n<p>Den mest belastade tj\u00e4nsten i v\u00e5rt system \u00e4r databasen. Tidigare hade vi ganska ofta problem med att ta reda p\u00e5 vad databasen h\u00f6ll p\u00e5 med.<\/p>\n<p><\/p>\n<p>Vi s\u00e5g h\u00f6g belastning p\u00e5 diskarna, men slowlogs visade inte n\u00e5got av v\u00e4rde. Detta problem l\u00f6ste vi med hj\u00e4lp av pg_stat_statements, en vy som samlar statistik \u00f6ver f\u00f6rfr\u00e5gningar.<\/p>\n<p><\/p>\n<p>Det \u00e4r allt som beh\u00f6vs f\u00f6r en admin.<\/p>\n<p><\/p>\n<p>Vi bygger grafer f\u00f6r aktivitet av l\u00e4s- och skrivf\u00f6rfr\u00e5gningar:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/f838b7759221b284c06941291fa186df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/ea8684ea81f21c8d762a606aeb8342a3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Det \u00e4r enkelt och tydligt, varje f\u00f6rfr\u00e5gan har sin egen f\u00e4rg.<\/p>\n<p><\/p>\n<p>Ett minst lika tydligt exempel \u00e4r Nginx-loggar. Det \u00e4r inte \u00f6verraskande att f\u00e5 personer parsar dem eller n\u00e4mner dem i listan \u00f6ver obligatoriska. Standardformatet \u00e4r inte s\u00e4rskilt informativt och beh\u00f6ver ut\u00f6kas.<\/p>\n<p><\/p>\n<p>Personligen har jag lagt till request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Vi bygger grafer f\u00f6r svarstid och antal fel:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/e517f15303f8fa780d40b7f7e30eb9ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/9a07ffda75300ec939edff24532fc294.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Vi bygger grafer f\u00f6r svarstid och antal fel. Kommer du ih\u00e5g? Jag pratade om aff\u00e4rens uppgifter? F\u00f6r att vara snabba och utan fel? Vi har redan st\u00e4ngt dessa fr\u00e5gor med tv\u00e5 grafer. Och p\u00e5 dem g\u00e5r det redan att ringa till de ordinarie administrat\u00f6rerna.<\/p>\n<p><\/p>\n<p>Men det finns fortfarande ett problem kvar \u2013 att s\u00e4kerst\u00e4lla snabb l\u00f6sning av orsaken till incidenten.<\/p>\n<p><\/p>\n<h2 id=\"ustranenie-incidentov\">Incidentl\u00f6sning<\/h2>\n<p><\/p>\n<p>Hela processen fr\u00e5n att identifiera till att l\u00f6sa problemet kan delas upp i flera steg:<\/p>\n<p><\/p>\n<ul>\n<li>identifiering av problemet;<\/li>\n<li>meddelande till den ordinarie administrat\u00f6ren;<\/li>\n<li>reaktion p\u00e5 incidenten;<\/li>\n<li>l\u00f6sning av orsakerna.<\/li>\n<\/ul>\n<p><\/p>\n<p>Det \u00e4r viktigt att vi g\u00f6r detta s\u00e5 snabbt som m\u00f6jligt. Och \u00e4ven om vi inte kan vinna mycket tid p\u00e5 stegen att identifiera problemet och skicka meddelande \u2013 tv\u00e5 minuter tar de oavsett, s\u00e5 \u00e4r de efterf\u00f6ljande stegen ett rent f\u00e4lt f\u00f6r f\u00f6rb\u00e4ttringar.<\/p>\n<p><\/p>\n<p>L\u00e5t oss bara f\u00f6rest\u00e4lla oss att telefonen ringer f\u00f6r operat\u00f6ren. Vad kommer han att g\u00f6ra? S\u00f6ka svar p\u00e5 fr\u00e5gorna \u2013 vad har g\u00e5tt s\u00f6nder, var har det g\u00e5tt s\u00f6nder, hur ska man reagera? S\u00e5 h\u00e4r svarar vi p\u00e5 dessa fr\u00e5gor:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK\" src=\"\/wp-content\/uploads\/2019\/04\/7f33172922e646a24bb83733350b24f5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Vi inkluderar helt enkelt all denna information i meddelandetexten och ger en l\u00e4nk till sidan i wikin som beskriver hur man ska reagera p\u00e5 detta problem, hur man l\u00f6ser det och eskalerar.<\/p>\n<p><\/p>\n<p>Jag har fortfarande inte sagt n\u00e5got om niv\u00e5erna av applikationen och aff\u00e4rslogik. Tyv\u00e4rr har vi \u00e4nnu ingen insamling av metrik i v\u00e5ra applikationer. Den enda k\u00e4llan till n\u00e5gon information p\u00e5 dessa niv\u00e5er \u2013 \u00e4r loggar.<\/p>\n<p><\/p>\n<p>N\u00e5gra punkter.<\/p>\n<p><\/p>\n<p>F\u00f6r det f\u00f6rsta, skriv strukturerade loggar. Inkludera inte kontexten i meddelandetexten. Det g\u00f6r det sv\u00e5rare att gruppera och analysera dem. Logstash kr\u00e4ver mycket tid f\u00f6r att normalisera allt detta.<\/p>\n<p><\/p>\n<p>F\u00f6r det andra, anv\u00e4nd allvarlighetsniv\u00e5erna korrekt. Varje spr\u00e5k har sin egen standard. Personligen jag skiljer mellan fyra niv\u00e5er:<\/p>\n<p><\/p>\n<ol>\n<li>ingen fel;<\/li>\n<li>klientfel;<\/li>\n<li>fel p\u00e5 v\u00e5r sida, vi f\u00f6rlorar inga pengar, vi b\u00e4r inga risker;<\/li>\n<li>fel p\u00e5 v\u00e5r sida, vi f\u00f6rlorar pengar.<\/li>\n<\/ol>\n<p><\/p>\n<p>Jag sammanfattar. Vi b\u00f6r str\u00e4va efter att bygga \u00f6vervakning utifr\u00e5n aff\u00e4rslogiken. F\u00f6rs\u00f6k att \u00f6vervaka sj\u00e4lva applikationen och arbeta med metrik som antalet f\u00f6rs\u00e4ljningar, antalet nya anv\u00e4ndarregistreringar, antalet aktiva anv\u00e4ndare f\u00f6r tillf\u00e4llet och s\u00e5 vidare.<\/p>\n<p><\/p>\n<p>Om hela ditt f\u00f6retag \u00e4r en knapp i webbl\u00e4saren m\u00e5ste du \u00f6vervaka om den trycks, om den fungerar som den ska. Allt annat \u00e4r oviktigt.<\/p>\n<p><\/p>\n<p>Om du inte har det kan du f\u00f6rs\u00f6ka kompensera f\u00f6r detta i applikationens loggar, Nginx-loggar och s\u00e5 vidare, som vi har gjort. Du m\u00e5ste vara s\u00e5 n\u00e4ra applikationen som m\u00f6jligt.<\/p>\n<p><\/p>\n<p>Operativsystemets metrik \u00e4r sj\u00e4lvklart viktiga, men f\u00f6r aff\u00e4rerna \u00e4r de inte intressanta, vi f\u00e5r inte betalt f\u00f6r dem.<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Hur vi byggde \u00f6vervakning med Prometheus, Clickhouse och ELK | ProHoster","description":"Mitt namn \u00e4r Anton Baderin. Jag arbetar p\u00e5 Centrum f\u00f6r H\u00f6gteknologi och sysslar med systemadministration.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/32322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=32322"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":162019,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/32322\/revisions\/162019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/24139"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}