Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Halo kabeh. Ing ngisor iki dekripsi laporan saka Big Monitoring Meetup 4.

Prometheus - sistem kanggo ngawasi macem-macem sistem lan layanan, kanthi bantuan administrator sistem bisa ngumpulake informasi babagan paramèter sistem saiki lan nyiyapake tandha kanggo nampa kabar babagan penyimpangan ing operasi sistem.

Laporan kasebut bakal mbandhingake Thanos и VictoriaMetrics - proyek kanggo panyimpenan jangka panjang metrik Prometheus.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo dakcritakake babagan Prometheus dhisik. Iki minangka sistem ngawasi sing ngumpulake metrik saka target tartamtu lan nyimpen ing panyimpenan lokal. Prometheus bisa nulis metrik menyang panyimpenan remot, bisa ngasilake tandha lan aturan rekaman.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Watesan Prometheus:

  • Ora duwe tampilan pitakon global. Iki nalika sampeyan duwe sawetara kedadean prometheus independen. Dheweke ngumpulake metrik. Lan sampeyan pengin takon ing ndhuwur kabeh metrik iki sing diklumpukake saka macem-macem conto prometheus. Prometheus ora ngidini iki.
  • Kanthi prometheus, kinerja diwatesi mung siji server. Prometheus ora bisa kanthi otomatis skala menyang macem-macem server. Sampeyan mung bisa kanthi manual pamisah target antarane sawetara Prometheus.
  • Cakupan metrik ing Prometheus diwatesi mung ing siji server amarga alasan sing padha ora bisa otomatis skala menyang sawetara server kanthi otomatis.
  • Ing Prometheus, ora gampang ngatur keamanan data.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Solusi kanggo masalah / tugas kasebut?

Solusi yaiku:

Kabeh solusi kasebut kanggo panyimpenan remot data sing diklumpukake dening Prometheus. Dheweke ngrampungake masalah panyimpenan remot saka slide sadurunge kanthi cara sing beda-beda. Ing presentasi iki, aku mung bakal ngomong babagan rong solusi pisanan: Thanos и VictoriaMetrics.

Kanggo informasi pisanan babagan Thanos muncul ing link iki. Arsitektur diterangake Thanos lan cara kerjane.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos njupuk data sing disimpen Prometheus menyang drive lokal lan nyalin menyang S3, GCS utawa menyang panyimpenan obyek liyane.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Mangkono Thanos nyedhiyakake tampilan pitakon global. Sampeyan bisa takon data sing disimpen ing panyimpenan obyek saka sawetara kedadean Prometheus.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos ndhukung PromQL lan API pitakon Prometheus.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nggunakake kode Prometheus kanggo nyimpen data.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos dikembangake dening pangembang sing padha karo Prometheus.

ing VictoriaMetrics. Kene pranalangendi kita pisanan ngedika bab VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics nampa data saka sawetara prometheus remot nulis API protokol didhukung dening Prometheus.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics nyedhiyakake tampilan pitakon global, amarga sawetara conto Prometheus bisa nulis data menyang VictoriaMetrics siji. Mulane, sampeyan bisa nggawe pitakon babagan kabeh data kasebut.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics uga ndhukung, kaya Thanos, PromQL lan Prometheus querying API.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ora kaya Thanos, kode sumber VictoriaMetrics ditulis saka awal lan dioptimalake kanggo konsumsi kacepetan lan sumber daya.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics, ora kaya Thanos, timbangan vertikal lan horisontal. mangan Versi simpul tunggal, sing skala vertikal. Sampeyan bisa miwiti karo siji prosesor lan 1 GB memori lan tuwuh nganti atusan prosesor lan 1 TB memori. VictoriaMetrics ngerti carane nggunakake kabeh sumber daya iki. Kinerja bakal mundhak udakara 100 kaping dibandhingake karo sistem 1-inti.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Sejarah Thanos diwiwiti ing November 2017, nalika komitmen umum pisanan muncul. Sadurunge iki, Thanos dikembangake ing omah mokal.io.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing wulan Juni 2019, ana rilis landmark 0.5.0, yaiku dibusak gosip protokol. Dheweke dicopot saka Thanos amarga ora nindakake kanthi apik. Asring kluster Thanos ora bisa digunakake kanthi bener, simpul sing disambungake kanthi salah amarga protokol gosip. Dadi kita mutusake kanggo mbusak saka ing kono. Aku pracaya iki kaputusan tengen.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing wulan Juni 2019 sing padha, dheweke ngirim nomer aplikasi 256 в Yayasan Komputasi Native Cloud.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Lan sawise sawetara sasi, Thanos ditampa Yayasan Komputasi Native Cloud, sing kalebu Prometheus, Kubernetes lan proyek populer liyane.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing Januari 2018, pangembangan VictoriaMetrics diwiwiti.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing September 2018, aku pisanan nyebutake VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing Desember 2018, versi Single-node diterbitake.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing Mei 2019 padha diterbitake sumber versi Single-node lan cluster.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing wulan Juni 2019, kaya Thanos, kita ngirim aplikasi menyang yayasan CNCF miturut nomer kasebut 255. Kita nglamar sedina sadurunge Thanos nglamar.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Nanging, sayangé, kita isih durung ditampa ing kono. Bantuan masyarakat dibutuhake.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Coba slide paling penting sing nuduhake arsitektur Thanos lan VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo dadi miwiti karo Thanos. Komponen kuning minangka komponen Prometheus. Kabeh liyane yaiku komponen Thanos. Ayo dadi miwiti karo komponen paling penting. Thanos Sidecar minangka komponen sing dipasang ing jejere saben Prometheus. Iku tanggung jawab kanggo loading data Prometheus saka panyimpenan lokal kanggo S3 utawa Storage Obyek liyane.

Ana uga komponen kayata Thanos Store Gateway, sing bisa maca data iki saka Object Storage nalika panjaluk mlebu saka Thanos Query. Thanos Query ngleksanakake PromQL lan Prometheus API. Yaiku, saka njaba katon kaya Prometheus. Iki nampa panjalukan PromQL, dikirim menyang Thanos Store Gateway, Thanos Store Gateway entuk data sing dibutuhake saka Object Storage, dikirim maneh.

Nanging kita duwe data sing disimpen ing Panyimpenan Obyek tanpa rong jam pungkasan amarga implementasine Thanos Sidecar, sing ora bisa ngunggah rong jam pungkasan menyang Obyek Storage S3, amarga Prometheus durung nggawe file ing panyimpenan lokal sajrone rong jam kasebut.

Kepiye sampeyan mutusake kanggo ngubengi iki? Thanos Query, saliyane kanggo panjalukan kanggo Thanos Store Gateway, ngirim panjalukan podo kanggo saben Thanos Sidecar sing jejere Prometheus.

Lan Thanos Sidecar, sabanjure, proxy njaluk luwih menyang Prometheus, lan entuk data sajrone rong jam pungkasan.

Saliyane komponen kasebut, ana uga komponen opsional, tanpa Thanos bakal krasa ala. Iki Thanos Compact, sing nggabungake file cilik ing Panyimpenan Obyek dadi file sing luwih gedhe sing wis diunggah ing kene dening Thanos Sidecars. Thanos Sidecar ngunggah file data ing kana suwene rong jam. File kasebut, yen ora digabung dadi file sing luwih gedhe, jumlahe bisa tuwuh kanthi signifikan. File liyane kuwi, memori liyane dibutuhake kanggo Thanos Store Gateway, sumber daya liyane sing dibutuhake kanggo transfer data liwat jaringan, metadata. Thanos Store Gateway dadi ora efisien. Mulane, perlu kanggo mbukak Thanos Compact, sing nggabungake file cilik dadi luwih gedhe, supaya file kasebut luwih sithik lan nyuda overhead ing Thanos Store Gateway.

Ana uga komponen kayata Thanos Ruler. Iku nglakokaké aturan tandha Prometheus lan bisa ngetung aturan rekaman Prometheus kanggo nulis data bali menyang Panyimpenan Obyek. Nanging komponen iki ora dianjurake kanggo digunakake, amarga. Dheweke cenderung ngasilake data sing ora lengkap.

Iki minangka skema prasaja kanggo Thanos.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Saiki ayo mbandhingake karo skema VictoriaMetrics.

VictoriaMetrics nduweni 2 versi: Single-node lan versi cluster. Single-node mlaku ing siji komputer. Single-node ora duwe komponen kasebut, mung siji binar. Binar iki ing slide katon kaya kothak iki. Kabeh ing alun-alun iku isi file binar kanggo versi Single-node. Sampeyan ora perlu ngerti babagan iki. Mung mbukak binar - lan kabeh bisa kanggo kita.

Versi kluster luwih angel. Ing njero ana telung komponen sing beda: vmselect, vminsert lan vmstorage. Saka jenenge kudu jelas apa sing ditindakake saben wong. Komponen Insert nampa data ing macem-macem format: saka Prometheus remote write API, protokol Influx line, protokol Graphite, lan protokol OpenTSDB. Komponen Insert nampa, ngurai, lan nyebarake ing antarane komponen panyimpenan sing ana, ing ngendi data wis disimpen. Komponen Pilih, banjur, nampa panjalukan PromQL. Iku ngleksanakake PromQL, uga Prometheus querying API, lan bisa digunakake minangka panggantos kanggo Prometheus ing Grafana utawa klien Prometheus API liyane. Pilih njupuk panjalukan promql, parsing, maca data sing dibutuhake kanggo nglakokake panjalukan iki saka simpul panyimpenan, ngolah data iki lan ngasilake respon.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo mbandhingake kerumitan nginstal Thanos lan VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo dadi miwiti karo Thanos. Sadurunge miwiti nggarap Thanos, sampeyan kudu nggawe ember ing Object Storage, kayata S3 utawa GCS, supaya Thanos Sidecar bisa nulis data ing kana.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Banjur kanggo saben Prometheus sampeyan kudu nginstal Thanos Sidecar. Sadurunge, sampeyan kudu ngelingi mateni pemadatan data ing Prometheus. Pemadatan data sacara periodik ngompres data ing panyimpenan lokal Prometheus supaya bisa nyuda konsumsi sumber daya.

Nalika sampeyan nginstal Thanos Sidecar ing Prometheus, sampeyan kudu mateni pemadatan data iki amarga Thanos Sidecar ora bisa digunakake kanthi bener nalika pemadatan data diaktifake. Iki tegese Prometheus sampeyan wiwit nyimpen data ing blok rong jam lan mandheg nggabungake blok kasebut dadi luwih gedhe. Dadi, yen sampeyan nggawe panjalukan sing ngluwihi durasi rong jam pungkasan, mula ora bakal bisa digunakake kanthi efisien yen pemadatan data diaktifake.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Mulane, Thanos nyaranake ngurangi wektu panyimpenan data ing panyimpenan lokal kanggo 6-8 jam kanggo ngurangi overhead iki saka nomer akeh pamblokiran cilik.

Sawise sampeyan nginstal Thanos Sidecar, sampeyan kudu nginstal rong komponen kanggo saben Ember Panyimpenan Obyek. Iki minangka Thanos Compactor lan Thanos Store Gateway.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Sawise iku, sampeyan kudu nginstal Thanos Query lan ngatur supaya bisa nyambung menyang kabeh Thanos Store Gateways sing sampeyan duwe, uga bisa nyambung menyang kabeh Thanos Sidecars.

Bisa uga ana masalah cilik ing kene.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Sampeyan kudu nyiyapake sambungan sing dipercaya lan aman saka Thanos Query menyang komponen kasebut. Lan yen sampeyan duwe Prometheus'y dumunung ing pusat data beda, utawa ing VPC beda, banjur sambungan menyang wong saka njaba dilarang. Nanging kanggo Thanos Query bisa, sampeyan kudu piye wae ngatur sambungan ana, lan sampeyan kudu teka munggah karo cara.

Yen sampeyan duwe akeh pusat data kasebut, mula, linuwih kabeh sistem mudhun. Wiwit Thanos Query kudu terus nyambungake kabeh Thanos Sidecars sing ana ing pusat data sing beda. Kanthi saben panjaluk sing mlebu, bakal ngirim panjaluk menyang kabeh Thanos Sidecars. Yen sambungan diganggu, sampeyan bakal nampa set data sing ora lengkap, utawa sampeyan bakal nampa respon "kluster ora bisa digunakake".

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing VictoriaMetrics, samubarang luwih gampang. Kanggo versi Single-node, mung mbukak siji binar lan kabeh bisa.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ing versi clustered, cukup kanggo mbukak kabeh telung jinis komponen ing ndhuwur kanthi jumlah sing dibutuhake, utawa nggunakake grafik helm kanggo ngotomatisasi peluncuran komponen ing Kubernetes. Kita uga ngrancang nggawe operator Kubernetes. Bagan helm ora nyakup sawetara kasus lan ngidini sampeyan njupuk sikil. Contone, ngidini sampeyan nyuda jumlah simpul panyimpenan, sing bakal nyebabake mundhut data.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Sawise sampeyan miwiti versi binar utawa clustered, sampeyan mung kudu nambah menyang konfigurasi Prometheus setelan kanggo url nulis remotsupaya wiwit nulis data ing podo karo kanggo panyimpenan lokal lan panyimpenan remot. Kaya sing sampeyan ngerteni, konfigurasi iki kudu luwih dipercaya tinimbang konfigurasi Thanos. Kita ora perlu nyimpen sambungan saka VictoriaMetrics menyang kabeh Prometheus, amarga Prometheus dhewe nyambung menyang VictoriaMetrics lan nransfer data.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Coba dhukungan kanggo Thanos lan VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos kudu ngati-ati Sidecar supaya ora mandheg ngunggah data menyang Panyimpenan Obyek. Padha bisa mungkasi ngundhuh data iki amarga kesalahan ngundhuh, kayata sambungan jaringan menyang Object Storage ilang sementara, utawa Object Storage ora kasedhiya kanggo sementara. Thanos Sidecar bakal sok dong mirsani iki, laporan kesalahan, bisa kacilakan lan banjur mandheg digunakake. Yen sampeyan ora ngawasi, data sampeyan ora bakal ditransfer maneh menyang Panyimpenan Obyek. Yen wektu retensi liwat (disaranake 6-8 jam), sampeyan bakal kelangan data sing ora mlebu ing Panyimpenan Obyek.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kompaktor Thanos bisa mandheg kerja amarga balapan karo Sidecar. Compactor njupuk data saka Panyimpenan Obyek lan nggabung dadi potongan data sing luwih gedhe. Wiwit kompaktor ora disinkronake karo Sidecars, ing ngisor iki bisa kedadeyan: Sidecar durung duwe wektu kanggo nambah blok kasebut, Compactor mutusake yen blok iki wis rampung ditulis. Compactor wiwit maca. Waca blok kasebut ora rampung lan mandheg kerja. Deleng rincian kene.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Store Gateway bisa ngasilake data sing ora konsisten amarga balapan antarane Compactor lan Sidecars. Iku bab sing padha kene, amarga Store Gateway ora diselarasake karo Compactors lan Sidecars ing sembarang cara. Patut, kahanan lomba bisa kelakon nalika Store Gateway ora ndeleng bagéan saka data, utawa ndeleng data ekstra.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Komponen Query ing Thanos ngasilake asil sebagean minangka standar yen sawetara Sidecars utawa Store Gateways ora kasedhiya ing wayahe. Sampeyan bakal nampa sawetara data, lan malah ora bakal ngerti sing ora nampa kabeh data. Iki cara kerjane kanthi gawan. Ing kahanan sing padha, VictoriaMetrics ngasilake data kanthi label minangka parsial.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ora kaya Thanos, VictoriaMetrics arang kelangan data. Sanajan sambungan saka Prometheus menyang VictoriaMetrics diganggu, mula iki ora dadi masalah, amarga Prometheus terus nulis data anyar sing mlebu menyang Tulis Ahead Log, sing dawane 2 jam. Yen sampeyan mulihake sambungan menyang VictoriaMetrics sajrone rong jam, data kasebut ora bakal ilang. Prometheus bisa nambah data sawise nyambungake maneh menyang VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ora kaya Thanos, sing nulis data menyang panyimpenan obyek mung sawise rong jam, Prometheus kanthi otomatis niru data liwat protokol nulis remot menyang panyimpenan remot, kayata VictoriaMetrics. Sampeyan ora wedi kelangan panyimpenan lokal ing Prometheus. Yen dumadakan ilang panyimpenan lokal, sampeyan bakal kelangan detik pungkasan data sing ora duwe wektu kanggo nulis menyang panyimpenan remot ing kasus paling awon.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kubernetes ngatur kluster kanthi otomatis ora kaya Thanos. Pancen angel kanggo nyelehake kabeh komponen Thanos ing siji kluster Kubernetes, ora kaya komponen kluster VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics duwe upgrade sing gampang banget menyang versi anyar. Mung mungkasi VictoriaMetrics, nganyari binari lan miwiti. Nalika mandheg liwat sinyal SIGINT, kabeh binari VictoriaMetrics bakal mateni kanthi apik. Dheweke nyimpen data sing dibutuhake kanthi bener, nutup sambungan sing mlebu kanthi bener supaya ora kelangan apa-apa. Dadi sampeyan ora bakal kelangan apa-apa nalika sampeyan nganyarke.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Gampang banget kanggo VictoriaMetrics nggedhekake kluster. Cukup nambah komponen sing dibutuhake lan terus kerja.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Babagan pitfalls ing Thanos lan VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nduweni pitfalls ing ngisor iki. Prometheus kudu nyimpen data sajrone rong jam pungkasan. Yen padha ilang, sampeyan bakal ilang, amarga padha ora duwe wektu kanggo nulis kanggo Obyek Storage, kayata S3.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Komponen Store Gateway lan komponèn compactor bisa memori intensif kanggo menehi hasil karo Storage Obyek gedhe yen ana akeh file cilik disimpen ana. Sing luwih gedhe nomer lan ukuran file, luwih akeh RAM Store Gateway lan compactor mbutuhake kanggo nyimpen informasi meta. Thanos duwe akeh masalah babagan apa Simpen Gateway lan compactor kacilakan ing volume medium saka data ditulis.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos diiklanake minangka bisa skala tanpa wates kanthi jumlah Prometheus sing sampeyan duwe. Bener iki ora bener. Wiwit kabeh panjalukan liwat komponen Query, sing kudu polling kabeh komponen Store Gateway lan kabeh komponen Sidecar ing podo karo, extract data saka ing kono banjur preprocessed. Iku ketok yen tingkat panjalukan diwatesi dening link paling alon, Store Gateway paling alon utawa Sidecar paling alon.

Komponen kasebut bisa diisi kanthi ora rata. Contone, sampeyan duwe Prometheus, sing ngumpulake mayuta-yuta metrik per detik. Lan ana Prometheus, sing nglumpukake ewu metrik per detik. Prometheus, sing nglumpukake mayuta-yuta metrik per detik, mbukak server sing luwih akeh digunakake. Mulane, Sidecar luwih alon ing kana. Lan ing umum, kabeh ana alon. Lan komponèn Query bakal narik data alon banget saka ing kono. Mulane, kinerja kabeh kluster sampeyan bakal diwatesi dening Sidecar sing alon iki.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kanthi gawan, Thanos ngasilake data sebagean yen sawetara Sidecars lan salah siji Store Gateways ora kasedhiya. Contone, yen sampeyan duwe Sidecar sing kasebar ing saindenging jagad ing pusat data sing beda-beda, mula kemungkinan pedhot lan ora kasedhiya komponen mundhak banget. Mulane, ing umume kasus sampeyan bakal nampa data sebagean tanpa ngerti.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics uga duwe pitfalls. Jeblugan pisanan minangka pilihan sing mbatesi jumlah RAM sing digunakake kanggo cache VictoriaMetrics. Iku standar kanggo 60% RAM ing mesin ngendi VictoriaMetrics mlaku, utawa 60% RAM ing pod VictoriaMetrics ing Kubernetes.

Yen sampeyan salah ngganti nilai iki, sampeyan bisa ngrusak kinerja VictoriaMetrics. Contone, yen nilai disetel kurang banget, data kasebut bisa uga ora pas karo cache VictoriaMetrics. Amarga iki, dheweke kudu nindakake karya ekstra lan mbukak prosesor karo disk. Yen sampeyan nggawe pilihan iki gedhe banget, iku mundhak, sepisanan, kamungkinan sing VictoriaMetrics bakal kacilakan karo metu saka kesalahan memori, lan sareh, iku bakal mimpin kanggo kasunyatan sing sistem operasi bakal duwe RAM sethitik banget kanggo file. cache. Lan VictoriaMetrics gumantung ing cache file kanggo kinerja. Yen ora cukup, mula beban ing disk bisa nambah banget. Mulane, saran: aja ngganti parameter kajaba pancen perlu.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Pilihan kapindho. RetentionPeriod iki minangka periode sing disetel dadi 1 sasi kanthi standar. Iki wektu nalika VictoriaMetrics nyimpen data kasebut. Sawise wektu iki, VictoriaMetrics mbusak data kasebut.

Akeh wong sing mbukak VictoriaMetrics tanpa pilihan iki lan ngrekam data sajrone sewulan. Banjur padha takon: kenapa data ilang ing sasi sadurunge? Amarga wektu retensi standar yaiku 1 wulan. Mulane, sampeyan kudu ngerti lan nyetel retentionPeriod bener.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo goleki fitur unik.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nduweni fitur sing diarani downsampling: interval 5 menit lan saben jam, sing asring ora bisa mlaku. Yen sampeyan google lan ndeleng masalah kasebut ing github, ana akeh masalah sing ana gandhengane karo downsampling iki, sing kadhangkala ora bisa digunakake kanthi bener, utawa ora bisa digunakake kaya sing dikarepake pangguna.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nduwe deduplikasi data kanggo pasangan Prometheus HA. Nalika loro Prometheus ngumpulake metrik sing padha saka target sing padha lan Thanos nambahake menyang Obyek Storage. Thanos bisa ngilangi data iki kanthi bener, ora kaya VictoriaMetrics.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nduweni komponen tandha sing ana ing skema Thanos. Nanging dheweke ora dianjurake kanggo nggunakake ing produksi.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Thanos nduweni kaluwihan yen Thanos lan Prometheus nuduhake kode sing padha. Thanos lan Prometheus dikembangake dening pangembang sing padha. Kanthi dandan ing Thanos utawa Prometheus, sisih liya menang.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Fitur utama VictoriaMetrics yaiku MetricsQL. Iki minangka ekstensi VictoriaMetrics kanggo PromQL, sing dakkandhakake ing metup ngawasi gedhe sadurunge.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics ndhukung upload data nggunakake akeh protokol beda. VictoriaMetrics ora mung bisa nampa data saka Prometheus, nanging uga liwat protokol Influx, OpenTSDB lan Graphite.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Data VictoriaMetrics njupuk luwih sithik tinimbang Thanos lan Prometheus.

Nalika nulis data nyata, pangguna ngomong babagan pengurangan ukuran data 2-5 ing disk dibandhingake karo Prometheus lan Thanos.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kauntungan liyane saka VictoriaMetrics yaiku dioptimalake kanggo kacepetan.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Ayo kita nimbang biaya infrastruktur.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Salah sawijining kaluwihan Thanos yaiku nyimpen data ing panyimpenan obyek, sing relatif murah.

Nalika nyimpen data ing panyimpenan obyek, sampeyan kudu mbayar kanggo nulis data lan operasi maca ($ 10 saben yuta operasi). Nalika sampeyan nulis data menyang panyimpenan obyek, sampeyan mbayar biaya hosting kanggo ngunggah data menyang Internet, yen kluster sampeyan ora ana ing AWS - ana gratis. Nalika maca data, sampeyan mbayar antarane $10 lan $230 kanggo 1TB. Iki bisa dadi penting yen sampeyan kerep njaluk data historis saka kluster Thanos.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kanggo kluster Thanos, sampeyan kudu mbayar server kanggo Compact, Store Gateway, komponen Query sing mbutuhake akeh memori, CPU kanggo data sing akeh.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics nduweni biaya ing ngisor iki. Yen sampeyan nyimpen data ing HDD GCE, banjur metu $40 kanggo 1TB. Kanggo VictoriaMetrics, drive HDD biasa cukup, ora perlu SSD, sing regane kaping lima luwih. VictoriaMetrics dioptimalake kanggo HDD.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics mbutuhake server kanggo komponen: siji-manthuk utawa kanggo komponen clustered, kang, ora kaya komponen Thanos, mbutuhake CPU luwih kurang, RAM - mungguh, iku bakal luwih murah.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Tuladha Implementasine.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Kanggo Thanos, conto implementasine yaiku Gitlab. Gitlab mlaku kabeh ing Thanos. Nanging ora kabeh dadi lancar ana. Yen sampeyan ndeleng wong-wong mau masalah, banjur sampeyan bisa ndeleng sing padha ajeg duwe sawetara masalah operasional karo Thanos: Ora cukup memori kanggo Store Gateway utawa komponen Query. Dheweke kudu terus nambah jumlah memori.

Amarga iki, biaya kanggo ngrampungake masalah kasebut mundhak.

Implementasi kapindho, sing bisa uga luwih sukses, yaiku Improbable, sing miwiti pangembangan Thanos. Dheweke ngeculake sumber Thanos. Improbable minangka perusahaan sing ngembangake mesin game.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics duwe conto implementasine umum yaiku:

  • wix pembangun situs web
  • Adidas ngetrapake VictoriaMetrics lan malah nggawe presentasi ing PromCon 2019 pungkasan
  • TrafficStars-jaringan iklan
  • Seznam.cz minangka mesin telusur Ceko sing populer.

Banjur ana perusahaan tanpa jeneng sing aku ora bisa jeneng saiki. Dheweke ora setuju.

  • Salah sawijining pangembang game utama. Luwih gedhe tinimbang im Improbable.
  • Pangembang gedhe saka piranti lunak grafis.
  • Bank Rusia gedhe.
  • Produsen turbin angin Eropa sing wis sukses nguji VictoriaMetrics. Pabrikan iki ngetrapake VictoriaMetrics kanggo ngawasi data turbin angin kanthi laju 50 conto per detik per sensor. Saben turbin angin duwe sawetara atus sensor. Dheweke duwe sawetara atus turbin angin.
  • Maskapai penerbangan Rusia sing pengin ngetrapake VictoriaMetrics nanging isih ora bisa. Kita ing tataran kontrak karo wong-wong mau.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetricsKesimpulan.

VictoriaMetrics lan Thanos ngrampungake masalah sing padha, nanging kanthi cara sing beda:

  • Tampilan pitakon global
  • skala horizontal
  • penylametan sewenang-wenang

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Спасибо.

Kita nunggu sampeyan ing kita saluran telegram.

Milih nyimpen data kanggo Prometheus: Thanos vs VictoriaMetrics

Mung pangguna pangguna sing bisa melu survey. mlebunggih.

Apa sing digunakake minangka panyimpenan jangka panjang kanggo Prometheus?

  • 35,3%Thanos6

  • 0,0%Korteks0

  • 0,0%M3DB0

  • 41,2%VictoriaMetrics7

  • 23,5%liyane4

17 pangguna milih. 16 kedhaftar abstained.

Source: www.habr.com

Add a comment