{"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\/it\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","title":{"rendered":"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mi chiamo Anton Baderin. Lavoro al Centro Tecnologie Avanzate e mi occupo di amministrazione di sistema. Un mese fa si \u00e8 conclusa la nostra conferenza aziendale, dove abbiamo condiviso esperienze con la comunit\u00e0 IT della nostra citt\u00e0. Ho parlato del monitoraggio delle applicazioni web. Il materiale era rivolto a un pubblico di livello junior o middle, che non ha strutturato questo processo da zero.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/c181509e6a10dd7562f361f328446d61.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il fondamento di qualsiasi sistema di monitoraggio \u00e8 risolvere le esigenze del business. Monitorare solo per farlo non interessa a nessuno. E cosa desidera il business? Che tutto funzioni rapidamente e senza errori. Il business vuole proattivit\u00e0, che possiamo identificare i problemi nel servizio e risolverli nel minor tempo possibile. Queste, in sostanza, sono le sfide che ho affrontato nell'ultimo anno su un progetto di uno dei nostri clienti.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">Informazioni sul progetto<\/h2>\n<p><\/p>\n<p>Il progetto \u00e8 uno dei pi\u00f9 grandi programmi di fidelizzazione nel paese. Aiutiamo le catene di vendita al dettaglio a incrementare la frequenza delle vendite attraverso vari strumenti di marketing come le carte fedelt\u00e0. In totale, il progetto comprende 14 applicazioni che funzionano su dieci server.<\/p>\n<p><\/p>\n<p>Durante il processo di colloqui ho notato pi\u00f9 volte che gli amministratori non sempre approcciano correttamente il monitoraggio delle applicazioni web: molti si fermano ancora alle metriche del sistema operativo e monitorano sporadicamente i servizi.<\/p>\n<p><\/p>\n<p>Nel mio caso, in precedenza il sistema di monitoraggio del cliente si basava su Icinga. Questo non risolveva i problemi menzionati sopra. Spesso il cliente ci segnalava i problemi e frequentemente ci mancavano i dati per risalire alla causa.<\/p>\n<p><\/p>\n<p>Inoltre, era chiaro che lo sviluppo futuro di questo sistema non era promettente. Penso che chi conosca Icinga capir\u00e0. Cos\u00ec, abbiamo deciso di riprogettare completamente il sistema di monitoraggio delle applicazioni web per il progetto.<\/p>\n<p><\/p>\n<h2 id=\"prometheus\">Prometheus<\/h2>\n<p><\/p>\n<p>Abbiamo scelto Prometheus sulla base di tre indicatori principali:<\/p>\n<p><\/p>\n<ol>\n<li>Un'enorme quantit\u00e0 di metriche disponibili. Nel nostro caso sono 60.000. Ovviamente, va notato che la stragrande maggioranza di esse non viene utilizzata (probabilmente circa il 95%). D'altra parte, sono tutte relativamente economiche. Per noi \u00e8 una situazione completamente diversa rispetto a Icinga, che utilizzavamo in precedenza. In essa l'aggiunta di metriche era particolarmente dolorosa: quelle esistenti costavano care (basta guardare il codice sorgente di qualsiasi plugin). Qualsiasi plugin era uno script in Bash o Python, il cui avvio non \u00e8 economico in termini di risorse consumate.<\/li>\n<li>Questo sistema consuma una quantit\u00e0 relativamente ridotta di risorse. Per tutte le nostre metriche bastano 600 MB di RAM, il 15% di un core e una manciata di IOPS. Certo, occorre avviare gli esportatori di metriche, ma sono tutti scritti in Go e non sono neppure particolarmente affamati di risorse. Non credo che oggi sia un problema. <\/li>\n<li>Consente la transizione a Kubernetes. Considerando i piani del cliente, la scelta \u00e8 ovvia. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"elk\">ELK<\/h2>\n<p><\/p>\n<p>In precedenza non raccogevamo n\u00e9 trattavamo i log. Gli svantaggi sono evidenti a tutti. Abbiamo scelto ELK, avendo gi\u00e0 esperienza con questo sistema. Conserviamo solo i log delle applicazioni. I criteri principali per la scelta sono stati la ricerca full-text e la sua velocit\u00e0.<\/p>\n<p><\/p>\n<h2 id=\"slickhouse\">Clickhouse<\/h2>\n<p><\/p>\n<p>Inizialmente la nostra scelta era caduta su InfluxDB. Eravamo consapevoli della necessit\u00e0 di raccogliere i log di Nginx, le statistiche da pg_stat_statements e conservare i dati storici di Prometheus. Non ci piaceva Influx, poich\u00e9 occasionalmente iniziava a consumare grandi quantit\u00e0 di memoria e crollava. Inoltre, volevamo raggruppare le richieste per remote_addr, ma il raggruppamento in questo DBMS \u00e8 solo per tag. I tag sono costosi (dal punto di vista della memoria) e il loro numero \u00e8 limitato.<\/p>\n<p><\/p>\n<p>Abbiamo iniziato a cercare di nuovo. Avevamo bisogno di una base analitica con un consumo minimo di risorse e, preferibilmente, con compressione dei dati sul disco.<\/p>\n<p><\/p>\n<p>Clickhouse soddisfa tutti questi criteri e non ci siamo mai pentiti della scelta. Non scriviamo volumi eccezionali di dati in esso (il numero di inserimenti \u00e8 di circa cinquemila al minuto).<\/p>\n<p><\/p>\n<h2 id=\"newrelic\">NewRelic<\/h2>\n<p><\/p>\n<p>NewRelic \u00e8 storicamente con noi, essendo stata la scelta del cliente. Lo usiamo come APM.<\/p>\n<p><\/p>\n<h2 id=\"zabbix\">Zabbix<\/h2>\n<p><\/p>\n<p>Utilizziamo Zabbix esclusivamente per il monitoraggio del Black Box di varie API.<\/p>\n<p><\/p>\n<h2 id=\"opredelenie-podhoda-k-monitoringu\">Definizione dell'approccio al monitoraggio<\/h2>\n<p><\/p>\n<p>Desideravamo decomporre il compito e sistematizzare cos\u00ec l'approccio al monitoraggio.<\/p>\n<p><\/p>\n<p>Per fare ci\u00f2, ho suddiviso il nostro sistema nei seguenti livelli:<\/p>\n<p><\/p>\n<ul>\n<li>\u00abhardware\u00bb e VMS;<\/li>\n<li>sistema operativo;<\/li>\n<li>servizi di sistema, stack software;<\/li>\n<li>applicazione;<\/li>\n<li>logica di business.<\/li>\n<\/ul>\n<p><\/p>\n<p>La comodit\u00e0 di questo approccio \u00e8 che:<\/p>\n<p><\/p>\n<ul>\n<li>sappiamo chi \u00e8 responsabile del funzionamento di ciascun livello e, in base a questo, possiamo inviare gli alert;<\/li>\n<li>possiamo utilizzare la struttura per sopprimere gli alert: sarebbe strano inviare un alert sulla mancata disponibilit\u00e0 del database quando l'intera macchina virtuale non \u00e8 disponibile.<\/li>\n<\/ul>\n<p><\/p>\n<p>Poich\u00e9 il nostro compito \u00e8 identificare le anomalie nel funzionamento del sistema, dobbiamo, a ogni livello, definire un insieme di metriche a cui prestare attenzione durante la scrittura delle regole di allerta. Procederemo ora a esaminare i livelli \"VMS\", \"Sistema operativo\" e \"Servizi di sistema, stack software\".<\/p>\n<p><\/p>\n<h2 id=\"virtualnye-mashiny\">Macchine virtuali<\/h2>\n<p><\/p>\n<p><a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/\"   title=\"Hosting\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2329\">Hosting<\/a> ci assegna CPU, disco, memoria e rete. E con i primi due abbiamo avuto problemi. Quindi, le metriche sono:<\/p>\n<p><\/p>\n<p>CPU stolen time \u2014 quando si acquista una macchina virtuale su Amazon (ad esempio, t2.micro), \u00e8 importante capire che non si ottiene un intero core di CPU, ma solo una quota del suo tempo. E quando si esaurisce, il processore inizia a essere sottratto.<\/p>\n<p><\/p>\n<p>Questa metrica consente di monitorare questi momenti e prendere decisioni. Per esempio, \u00e8 necessario passare a un piano pi\u00f9 ricco oppure distribuire l'elaborazione delle attivit\u00e0 in background e delle richieste API su diversi livelli. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3493\">server<\/a>.<\/p>\n<p><\/p>\n<p>IOPS + CPU iowait time \u2014 per qualche motivo, molti provider di cloud hosting hanno il vizio di non fornire IOPS sufficienti. Inoltre, un grafico con bassi IOPS per loro non \u00e8 un'argomentazione. Pertanto, \u00e8 opportuno raccogliere anche i dati su CPU iowait. Con questa coppia di grafici \u2014 con bassi IOPS e alta latenza di input\/output \u2014 possiamo gi\u00e0 dialogare con il provider di hosting e risolvere il problema.<\/p>\n<p><\/p>\n<h2 id=\"operacionnaya-sistema\">Il sistema operativo<\/h2>\n<p><\/p>\n<p>Metriche del sistema operativo:<\/p>\n<p><\/p>\n<ul>\n<li>percentuale di memoria disponibile;<\/li>\n<li>attivit\u00e0 di utilizzo dello swap: vmstat swapin, swapout;<\/li>\n<li>numero di inode disponibili e spazio libero sul file system in %.<\/li>\n<li>carico medio;<\/li>\n<li>numero di connessioni in stato tw;<\/li>\n<li>percentuale di riempimento della tabella conntrack;<\/li>\n<li>La qualit\u00e0 del lavoro della rete pu\u00f2 essere monitorata tramite l'utilit\u00e0 ss, includendo il pacchetto iproute2 \u2014 per ottenere dal suo output il valore RTT delle connessioni e raggrupparlo per porta di destinazione.<\/li>\n<\/ul>\n<p><\/p>\n<p>Inoltre, a livello di sistema operativo, abbiamo l'entit\u00e0 chiamata processi. \u00c8 importante identificare nella sistema un insieme di processi che svolgono un ruolo cruciale nel funzionamento. Se, ad esempio, si dispone di pi\u00f9 istanze di pgpool, \u00e8 necessario raccogliere informazioni su ciascuna di esse.<\/p>\n<p><\/p>\n<p>L'insieme delle metriche \u00e8 il seguente:<\/p>\n<p><\/p>\n<ul>\n<li>CPU;<\/li>\n<li>memoria \u2014 principalmente, quella residente;<\/li>\n<li>IO \u2014 preferibilmente in IOPS;<\/li>\n<li>FileFd \u2014 aperti e limite;<\/li>\n<li>importanti errori di pagina \u2014 in questo modo \u00e8 possibile comprendere quale processo sta utilizzando lo swap.<\/li>\n<\/ul>\n<p><\/p>\n<p>Tutta la nostra attivit\u00e0 di monitoraggio \u00e8 eseguita in Docker, utilizziamo Cadvisor per raccogliere i dati delle metriche. Negli altri server impieghiamo process-exporter.<\/p>\n<p><\/p>\n<h2 id=\"sistemnye-servisy-stek-po\">Servizi di sistema, stack software<\/h2>\n<p><\/p>\n<p>Ogni applicazione ha la sua specificit\u00e0 ed \u00e8 difficile identificare un insieme di metriche universale.<\/p>\n<p><\/p>\n<p>Un insieme di metriche universali include:<\/p>\n<p><\/p>\n<ul>\n<li>il tasso di richieste;<\/li>\n<li>numero di errori;<\/li>\n<li>latenza;<\/li>\n<li>saturazione.<\/li>\n<\/ul>\n<p><\/p>\n<p>I pi\u00f9 evidenti esempi di monitoraggio a questo livello sono Nginx e PostgreSQL.<\/p>\n<p><\/p>\n<p>Il servizio pi\u00f9 carico nel nostro sistema \u00e8 il database. In passato avevamo spesso problemi nel capire cosa stesse facendo il database.<\/p>\n<p><\/p>\n<p>Notavamo un alto carico sui dischi, ma i log non fornivano informazioni utili. Abbiamo risolto questo problema usando pg_stat_statements, una vista che raccoglie statistiche sulle richieste.<\/p>\n<p><\/p>\n<p>Questo \u00e8 tutto ci\u00f2 che serve all'amministratore.<\/p>\n<p><\/p>\n<p>Costruiamo grafici sull'attivit\u00e0 delle richieste di lettura e scrittura:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/f838b7759221b284c06941291fa186df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/ea8684ea81f21c8d762a606aeb8342a3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00c8 tutto chiaro e diretto, ogni richiesta ha un colore distinto.<\/p>\n<p><\/p>\n<p>Un altro esempio significativo sono i log di Nginx. Non sorprende che pochi li analizzino o li menzionino come obbligatori. Il formato standard non \u00e8 molto informativo e deve essere ampliato.<\/p>\n<p><\/p>\n<p>Ho personalmente aggiunto request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Costruiamo grafici sul tempo di risposta e sul numero di errori:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/e517f15303f8fa780d40b7f7e30eb9ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/9a07ffda75300ec939edff24532fc294.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Costruiamo grafici sul tempo di risposta e sul numero di errori. Ricordate? Ho parlato delle necessit\u00e0 aziendali? Per agire rapidamente e senza errori? Questi due grafici risolvono gi\u00e0 queste problematiche. E su di essi possiamo gi\u00e0 contattare gli amministratori in turno.<\/p>\n<p><\/p>\n<p>Ma resta un'ulteriore sfida: garantire una rapida risoluzione delle cause dell'incidente.<\/p>\n<p><\/p>\n<h2 id=\"ustranenie-incidentov\">Risoluzione degli incidenti<\/h2>\n<p><\/p>\n<p>L'intero processo dall'identificazione alla risoluzione del problema pu\u00f2 essere suddiviso in vari passaggi:<\/p>\n<p><\/p>\n<ul>\n<li>identificazione del problema;<\/li>\n<li>notifica all'amministratore di turno;<\/li>\n<li>reazione all'incidente;<\/li>\n<li>risoluzione delle cause.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c8 fondamentale che facciamo il tutto nel minor tempo possibile. E se per le fasi di identificazione del problema e di invio della notifica non possiamo guadagnare tempo \u2014 ci vorranno comunque due minuti, le fasi successive rappresentano un campo fertile per miglioramenti.<\/p>\n<p><\/p>\n<p>Immaginiamo semplicemente che il telefono dell'amministratore di turno squilli. Cosa far\u00e0? Cercher\u00e0 le risposte alle domande: cosa \u00e8 andato storto, dove \u00e8 andato storto, come reagire? Ecco come rispondiamo a queste domande:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/7f33172922e646a24bb83733350b24f5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Includiamo semplicemente tutte queste informazioni nel testo della notifica, fornendo un link alla pagina della wiki che spiega come reagire a questo problema, come risolverlo e come escalation.<\/p>\n<p><\/p>\n<p>Non ho ancora parlato del livello dell'applicazione e della logica aziendale. Sfortunatamente, nelle nostre applicazioni non \u00e8 ancora implementata la raccolta di metriche. L'unica fonte di informazioni, ancorch\u00e9 limitata, da questi livelli sono i log.<\/p>\n<p><\/p>\n<p>Alcuni aspetti.<\/p>\n<p><\/p>\n<p>In primo luogo, scrivete log strutturati. Non includete il contesto nel testo del messaggio. Questo rende difficile la loro aggregazione e analisi. Logstash richiede molto tempo per normalizzare tutto ci\u00f2.<\/p>\n<p><\/p>\n<p>In secondo luogo, usate correttamente i livelli di severit\u00e0. Ogni linguaggio ha il proprio standard. Personalmente, identifico quattro livelli:<\/p>\n<p><\/p>\n<ol>\n<li>nessun errore;<\/li>\n<li>errore client;<\/li>\n<li>errore nostro, non perdiamo soldi, non ci sono rischi;<\/li>\n<li>errore nostro, perdiamo soldi.<\/li>\n<\/ol>\n<p><\/p>\n<p>In sintesi, bisogna cercare di costruire il monitoraggio a partire dalla logica di business. Dobbiamo monitorare l'applicazione stessa e operare con metriche come il numero di vendite, il numero di nuove registrazioni degli utenti, il numero di utenti attivi in quel momento e cos\u00ec via.<\/p>\n<p><\/p>\n<p>Se tutto il vostro business \u00e8 un pulsante nel browser, \u00e8 necessario monitorare se viene cliccato, se funziona correttamente. Tutto il resto non \u00e8 importante.<\/p>\n<p><\/p>\n<p>Se non avete questo, potete cercare di recuperarlo nei log dell'applicazione, nei log di Nginx e cos\u00ec via, come abbiamo fatto noi. Dovete essere il pi\u00f9 vicino possibile all'applicazione.<\/p>\n<p><\/p>\n<p>Le metriche del sistema operativo sono sicuramente importanti, ma non interessano al business, non siamo pagati per esse.<\/p>\n<p>Fonte: <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.0.1 - 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\/it\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Come abbiamo costruito il monitoraggio su Prometheus, Clickhouse ed ELK | ProHoster","description":"Mi chiamo Anton Baderin. Lavoro presso il Centro Tecnologie Avanzate e mi occupo di amministrazione di sistema.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/32322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=32322"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":162019,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/32322\/revisions\/162019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/24139"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}