{"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 presso il Centro Tecnologie Avanzate e mi occupo di amministrazione di sistemi. Un mese fa si \u00e8 conclusa la nostra conferenza aziendale, dove abbiamo condiviso l'esperienza accumulata con la comunit\u00e0 IT della nostra citt\u00e0. Ho parlato del monitoraggio delle applicazioni web. Il materiale era destinato a un pubblico di livello junior o middle, che non aveva impostato 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>La pietra angolare di qualsiasi sistema di monitoraggio \u00e8 la risoluzione delle problematiche aziendali. Il monitoraggio fine a se stesso non interessa a nessuno. Cosa desidera il business? Che tutto funzioni rapidamente e senza errori. Il business vuole proattivit\u00e0, che possiamo identificare autonomamente i problemi nel funzionamento del servizio e risolverli il pi\u00f9 velocemente possibile. Queste sono, in sostanza, le sfide che ho affrontato per tutto lo scorso anno nel progetto di uno dei nostri clienti.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">Il progetto<\/h2>\n<p><\/p>\n<p>Il progetto \u00e8 uno dei programmi di fedelt\u00e0 pi\u00f9 grandi del paese. Aiutiamo le reti di vendita al dettaglio ad aumentare la frequenza delle vendite tramite vari strumenti di marketing come le carte fedelt\u00e0. In totale, il progetto comprende 14 applicazioni, che operano su dieci server.<\/p>\n<p><\/p>\n<p>Durante i colloqui di lavoro, ho notato pi\u00f9 volte che gli amministratori non sempre si approcciano correttamente al monitoraggio delle applicazioni web: molti si fermano ancora alle metriche del sistema operativo, monitorando raramente 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 affrontava le problematiche sopra menzionate. Spesso il cliente ci comunicava autonomamente i problemi e non di rado ci mancavano i dati per risalire alla causa.<\/p>\n<p><\/p>\n<p>Inoltre, c'era una chiara comprensione della mancanza di prospettive per il suo ulteriore sviluppo. Penso che chi conosce Icinga mi capir\u00e0. Pertanto, abbiamo deciso di riprogettare completamente il sistema di monitoraggio delle applicazioni web nel 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 numero enorme di metriche disponibili. Nel nostro caso sono 60.000. Certo, \u00e8 da sottolineare che la stragrande maggioranza di esse non viene utilizzata (probabilmente circa il 95%). D'altra parte, sono tutte relativamente economiche. Per noi, questa \u00e8 l'altra extremit\u00e0, rispetto a quanto utilizzato precedentemente con Icinga. Aggiungere metriche in quell'ultima era particolarmente doloroso: quelle esistenti costavano molto (basta guardare il codice sorgente di qualsiasi plugin). Ogni 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 memoria RAM, il 15% di un core e alcune decine di IOPS. Certo, dobbiamo avviare gli exporter di metriche, ma sono tutti scritti in Go e non si distinguono per affamato di risorse. Non credo che nelle attuali condizioni sia un problema. <\/li>\n<li>Consente il passaggio a Kubernetes. Considerati i piani del cliente, la scelta \u00e8 evidente. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"elk\">ELK<\/h2>\n<p><\/p>\n<p>In precedenza non raccoglievamo n\u00e9 elaboravamo log. Gli svantaggi sono chiari a tutti. Abbiamo scelto ELK, poich\u00e9 avevamo gi\u00e0 esperienza con questo sistema. Conserviamo l\u00ec solo i log delle applicazioni. I criteri principali di 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 scelta \u00e8 ricaduta su InfluxDB. Eravamo consapevoli della necessit\u00e0 di raccogliere i log di Nginx, le statistiche da pg_stat_statements e di conservare dati storici di Prometheus. Non ci \u00e8 piaciuto Influx, poich\u00e9 ogni tanto iniziava a consumare una grande quantit\u00e0 di memoria e crollava. Inoltre, volevamo raggruppare le richieste per remote_addr, mentre il raggruppamento in questo DB \u00e8 solo per tag. I tag costano (memoria), il loro numero \u00e8 limitato.<\/p>\n<p><\/p>\n<p>Abbiamo ricominciato le ricerche. Avevamo bisogno di una base analitica con un consumo minimo di risorse, preferibilmente con compressione dei dati su disco.<\/p>\n<p><\/p>\n<p>Clickhouse soddisfa tutti questi criteri, e non ci siamo mai pentiti della scelta. Non scriviamo volumi di dati eccezionali 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, poich\u00e9 era la scelta del cliente. Lo utilizziamo come APM.<\/p>\n<p><\/p>\n<h2 id=\"zabbix\">Zabbix<\/h2>\n<p><\/p>\n<p>Utilizziamo Zabbix esclusivamente per il monitoraggio della 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>Volevamo decomporre il compito e in tal modo sistematizzare l'approccio al monitoraggio.<\/p>\n<p><\/p>\n<p>Per questo 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>I vantaggi di questo approccio:<\/p>\n<p><\/p>\n<ul>\n<li>sappiamo chi \u00e8 responsabile del funzionamento di ciascun livello e, di conseguenza, possiamo inviare notifiche;<\/li>\n<li>possiamo utilizzare la struttura per sopprimere le notifiche: sarebbe strano inviare una notifica per l'inaccessibilit\u00e0 del database quando l'intera macchina virtuale \u00e8 inaccessibile.<\/li>\n<\/ul>\n<p><\/p>\n<p>Poich\u00e9 il nostro obiettivo \u00e8 identificare le anomalie nel funzionamento del sistema, dobbiamo identificare un insieme di metriche a ciascun livello da tenere in considerazione nella scrittura delle regole di notifica. Procederemo quindi attraverso i livelli \u00abVMS\u00bb, \u00abSistema Operativo\u00bb e \u00abServizi di Sistema, Stack Software\u00bb.<\/p>\n<p><\/p>\n<h2 id=\"virtualnye-mashiny\">Le 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 fornisce CPU, disco, memoria e rete. E con i primi due abbiamo avuto problemi. Ecco quindi le metriche:<\/p>\n<p><\/p>\n<p>CPU stolen time \u2014 quando acquisti una macchina virtuale su Amazon (t2.micro, ad esempio), devi comprendere che ti viene assegnato non un intero core della CPU, ma solo una quota del suo tempo. E quando esaurisci questa quota, la CPU inizier\u00e0 a essere prelevata da te.<\/p>\n<p><\/p>\n<p>Questa metrica consente di monitorare tali situazioni e prendere decisioni. Ad esempio, \u00e8 necessario passare a una tariffa pi\u00f9 robusta o suddividere l\u2019elaborazione delle attivit\u00e0 in background e le richieste API su diversi <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 + tempo di attesa CPU iowait \u2014 per qualche motivo molti servizi di hosting cloud hanno il difetto di non fornire abbastanza IOPS. Inoltre, un grafico con bassi IOPS per loro non \u00e8 un argomento. Pertanto, \u00e8 utile raccogliere anche il tempo di attesa CPU iowait. Con questa coppia di grafici \u2014 bassi IOPS e alta attesa di input-output \u2014 si pu\u00f2 gi\u00e0 avviare una discussione con l'hosting e risolvere il problema.<\/p>\n<p><\/p>\n<h2 id=\"operacionnaya-sistema\">Sistema operativo<\/h2>\n<p><\/p>\n<p>Metriche del sistema operativo:<\/p>\n<p><\/p>\n<ul>\n<li>quantit\u00e0 di memoria disponibile in %;<\/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>saturazione della tabella conntrack;<\/li>\n<li>la qualit\u00e0 del lavoro della rete pu\u00f2 essere monitorata con l'utility ss, il pacchetto iproute2 \u2014 per ottenere dal suo output il valore RTT delle connessioni e raggruppare per porta di destinazione.<\/li>\n<\/ul>\n<p><\/p>\n<p>Inoltre, a livello di sistema operativo abbiamo una nozione di processi. \u00c8 importante identificare nel sistema un insieme di processi che svolgono un ruolo cruciale nel suo funzionamento. Se, ad esempio, hai pi\u00f9 pgpool, \u00e8 necessario raccogliere informazioni su ciascuno di essi.<\/p>\n<p><\/p>\n<p>L'insieme di metriche \u00e8 il seguente:<\/p>\n<p><\/p>\n<ul>\n<li>CPU;<\/li>\n<li>la memoria \u00e8, innanzitutto, residente;<\/li>\n<li>IO \u2014 preferibilmente in IOPS;<\/li>\n<li>FileFd \u2014 file aperti e limite;<\/li>\n<li>errori di pagina significativi \u2014 cos\u00ec puoi capire quale processo \u00e8 in swap.<\/li>\n<\/ul>\n<p><\/p>\n<p>Tutto il monitoraggio \u00e8 eseguito in Docker, per la raccolta dei dati metrici utilizziamo Cadvisor. Su altre macchine utilizziamo 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 distinguere un insieme di metriche.<\/p>\n<p><\/p>\n<p>Un insieme universale \u00e8:<\/p>\n<p><\/p>\n<ul>\n<li>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 di questo livello sono Nginx e PostgreSQL.<\/p>\n<p><\/p>\n<p>Il servizio pi\u00f9 carico del nostro sistema \u00e8 il database. In passato, avevamo spesso problemi a capire cosa stesse facendo il database.<\/p>\n<p><\/p>\n<p>Abbiamo notato un alto carico sui dischi, ma i slow log non mostravano nulla di sostanziale. Abbiamo risolto questo problema con pg_stat_statements, una vista che raccoglie statistiche sulle richieste.<\/p>\n<p><\/p>\n<p>\u00c8 tutto ci\u00f2 di cui ha bisogno un 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 semplice e chiaro, ogni richiesta ha il suo colore.<\/p>\n<p><\/p>\n<p>Un esempio altrettanto significativo sono i log di Nginx. Non sorprende che pochi li analizzino o li menzionino nella lista di quelli obbligatori. Il formato standard non \u00e8 molto informativo e deve essere ampliato.<\/p>\n<p><\/p>\n<p>Personalmente, ho aggiunto request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Costruiamo grafici sui tempi 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 sui tempi di risposta e sul numero di errori. Ricordi? Ho parlato delle esigenze aziendali? Per essere rapidi e senza errori? Abbiamo gi\u00e0 coperto queste questioni con due grafici. E su di essi \u00e8 gi\u00e0 possibile contattare gli amministratori in servizio.<\/p>\n<p><\/p>\n<p>Ma rimane ancora un problema \u2014 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 dalla rilevazione alla risoluzione del problema pu\u00f2 essere suddiviso in vari passaggi:<\/p>\n<p><\/p>\n<ul>\n<li>rilevazione del problema;<\/li>\n<li>notifica dell'amministratore di turno;<\/li>\n<li>reazione all'incidente;<\/li>\n<li>risoluzione delle cause.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c8 importante che dobbiamo farlo il pi\u00f9 rapidamente possibile. E se nelle fasi di rilevazione del problema e invio della notifica non possiamo guadagnare tempo \u2014 ci vorranno due minuti comunque, le fasi successive sono un campo lasciato incolto per i miglioramenti.<\/p>\n<p><\/p>\n<p>Immaginiamo semplicemente che il telefono del servizio di guardia stia squillando. Cosa far\u00e0? Cercher\u00e0 risposte alle domande: cosa \u00e8 rotto, dove \u00e8 rotto, 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 a una pagina nel wiki dove \u00e8 descritto come reagire a questo problema, come risolverlo e come escalare.<\/p>\n<p><\/p>\n<p>Non ho ancora detto nulla riguardo al livello dell'applicazione e della logica di business. Purtroppo, nelle nostre applicazioni non \u00e8 ancora implementata la raccolta delle metriche. L'unica fonte di informazioni, anche parziali, a questi livelli sono i log.<\/p>\n<p><\/p>\n<p>Un paio di punti.<\/p>\n<p><\/p>\n<p>In primo luogo, scrivete log strutturati. Non includete il contesto nel testo del messaggio. Questo complica la loro raggruppamento e analisi. Logstash richiede molto tempo per normalizzare tutto questo.<\/p>\n<p><\/p>\n<p>In secondo luogo, usate correttamente i livelli di severit\u00e0. Ogni linguaggio ha il proprio standard. Personalmente, ne distinguo quattro livelli:<\/p>\n<p><\/p>\n<ol>\n<li>nessun errore;<\/li>\n<li>errore lato client;<\/li>\n<li>errore lato nostro, non perdiamo soldi, non ci sono rischi;<\/li>\n<li>errore lato nostro, perdiamo soldi.<\/li>\n<\/ol>\n<p><\/p>\n<p>In sintesi. Occorre cercare di costruire il monitoraggio proprio dalla logica di business. Cercare di monitorare l'applicazione stessa e operare gi\u00e0 con metriche come il numero di vendite, il numero di nuove registrazioni utenti, il numero di utenti attivi in quel momento e cos\u00ec via.<\/p>\n<p><\/p>\n<p>Se tutto il vostro business si riduce a un pulsante nel browser, \u00e8 necessario monitorare se viene premuto, se funziona correttamente. Tutto il resto non \u00e8 importante.<\/p>\n<p><\/p>\n<p>Se non lo avete, 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 ovviamente importanti, ma non interessano al business, non ci pagano 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.1.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.1.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 e ELK | ProHoster","description":"Mi chiamo Anton Baderin. Lavoro nel 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}]}}