Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Hammaga salom. Quyida shifrni hal qilish Big Monitoring Meetup 4 dan hisobot.

Prometheus - turli tizimlar va xizmatlarni monitoring qilish tizimi, uning yordamida tizim ma'murlari tizimlarning joriy parametrlari haqida ma'lumot to'plashi va tizimlar ishidagi og'ishlar to'g'risida bildirishnomalarni olish uchun ogohlantirishlarni o'rnatishi mumkin.

Hisobot solishtiriladi Thanos и VictoriaMetrics — Prometey ko'rsatkichlarini uzoq muddatli saqlash loyihalari.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Avval Prometey haqida gapirib beraman. Bu berilgan maqsadlardan ko'rsatkichlarni to'playdigan va ularni mahalliy xotirada saqlaydigan monitoring tizimi. Prometey uzoq xotiraga o'lchovlarni yozishi, ogohlantirishlar va yozish qoidalarini yaratishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Prometey cheklovlari:

  • U global so'rov ko'rinishiga ega emas. Bu sizda bir nechta mustaqil prometey misollari mavjud bo'lganda. Ular ko'rsatkichlarni yig'adilar. Va siz turli xil prometey misollaridan to'plangan ushbu ko'rsatkichlarning barchasini so'rashni xohlaysiz. Prometey bunga yo'l qo'ymaydi.
  • Prometey bilan ishlash faqat bitta server bilan cheklangan. Prometey avtomatik ravishda bir nechta serverlarga o'tkaza olmaydi. Maqsadlaringizni faqat bir nechta Prometey o'rtasida qo'lda bo'lishingiz mumkin.
  • Prometeydagi ko'rsatkichlar doirasi bir xil sababga ko'ra faqat bitta server bilan cheklangan, chunki u avtomatik ravishda bir nechta serverlarga avtomatik ravishda o'tkaza olmaydi.
  • Prometeyda ma'lumotlar xavfsizligini tashkil qilish unchalik oson emas.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Ushbu muammolar/vazifalar yechimlari?

Yechimlar quyidagilar:

Bu echimlarning barchasi Prometey tomonidan to'plangan ma'lumotlarni masofadan saqlash uchun mo'ljallangan. Ular oldingi slayddan masofaviy saqlash muammosini turli yo'llar bilan hal qilishadi. Ushbu taqdimotda men faqat birinchi ikkita yechim haqida gapiraman: Thanos и VictoriaMetrics.

haqida birinchi marta ma'lumot Thanos paydo bo'ldi Ushbu havola. Arxitektura tasvirlangan Thanos va u qanday ishlaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos Prometey saqlangan ma'lumotlarni mahalliy diskka oladi va uni S3-ga nusxalaydi, GCS yoki boshqa ob'ekt xotirasiga.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Shunday qilib, Thanos global so'rovlar ko'rinishini taqdim etadi. Ob'ekt xotirasida saqlangan ma'lumotlarni bir nechta Prometey misollaridan so'rashingiz mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos PromQL-ni qo'llab-quvvatlaydi va Prometey so'rovi uchun API.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos ma'lumotlarni saqlash uchun Prometey kodidan foydalanadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos Prometey bilan bir xil ishlab chiquvchilar tomonidan ishlab chiqilgan.

haqida VictoriaMetrics. Mana aloqabiz birinchi marta gaplashgan joy VictoriaMetrics.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics bir nechta prometeydan ma'lumotlarni oladi masofaviy yozish API Prometey tomonidan qo'llab-quvvatlanadigan protokol.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics global so'rovlar ko'rinishini taqdim etadi, chunki bir nechta Prometey misollari bitta VictoriaMetricsga ma'lumotlarni yozishi mumkin. Shunga ko'ra, siz ushbu ma'lumotlarning barchasi bo'yicha so'rovlar qilishingiz mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics shuningdek, Thanos, PromQL va Prometheus so'rovlar API'larini ham qo'llab-quvvatlaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos'dan farqli o'laroq, VictoriaMetrics'ning manba kodi noldan yozilgan va tezlik va resurslarni sarflash uchun optimallashtirilgan.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics, Thanosdan farqli o'laroq, vertikal va gorizontal ravishda o'lchaydi. Yemoq Bitta tugunli versiya, qaysi vertikal o'lchov. Siz bitta protsessor va 1 Gb xotiradan boshlashingiz va yuzlab protsessorlar va 1 TB xotiragacha yetishingiz mumkin. VictoriaMetrics bu barcha resurslardan qanday foydalanishni biladi. Uning ishlashi 100 yadroli tizimga nisbatan taxminan 1 barobar ortadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos tarixi 2017-yilning noyabr oyida, birinchi ommaviy majburiyat paydo bo'lgan paytda boshlangan. Bungacha Thanos o'zimizda ishlab chiqilgan probable.io.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2019-yil iyun oyida 0.5.0-ning muhim versiyasi chiqdi, unda o'chirildi G'iybat protokol. U yaxshi ishlamaganligi uchun Thanosdan chetlatildi. Ko'pincha Thanos klasteri to'g'ri ishlamadi, g'iybat protokoli tufayli tugunlar unga noto'g'ri ulangan. Shuning uchun biz uni u erdan olib tashlashga qaror qildik. Men bu to'g'ri qaror deb o'ylayman.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2019 yil iyun oyida ular ariza raqamini yuborishdi 256 в Bulutli mahalliy hisoblash jamg'armasi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Va bir necha oy o'tgach, Thanos qabul qilindi Bulutli mahalliy hisoblash jamg'armasi, Prometey, Kubernetes va boshqa mashhur loyihalarni o'z ichiga oladi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2018 yil yanvar oyida VictoriaMetrics-ni ishlab chiqish boshlandi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2018-yil sentabr oyida men birinchi marta VictoriaMetrics haqida ommaviy ravishda eslatib o'tdim.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2018 yil dekabr oyida Yagona tugunli versiya nashr etildi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

May oyida 2019 nashr etildi Yagona tugunli va klasterli versiyaning manbalari.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

2019 yil iyun oyida, xuddi Thanos singari, biz CNCF fondiga raqam ostida ariza topshirdik. 255. Thanos ariza berishdan bir kun oldin ariza topshirdik.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Lekin, afsuski, bizni haligacha u yerga qabul qilishmadi. Jamiyat yordami kerak.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos va VictoriaMetrics arxitekturasini ko'rsatadigan eng muhim slaydlarni ko'rib chiqing.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keling, Thanos bilan boshlaylik. Sariq komponentlar Prometey komponentlaridir. Qolganlarning hammasi Thanos komponentlari. Eng muhim komponentdan boshlaylik. Thanos Sidecar - har bir Prometey yonida o'rnatiladigan komponent. U Prometey ma'lumotlarini mahalliy xotiradan S3 yoki boshqa Ob'ekt xotirasiga yuklash uchun javobgardir.

Thanos Store Gateway kabi komponent ham mavjud bo'lib, u ushbu ma'lumotlarni Thanos Query-dan kelgan so'rovlar bo'yicha Object Storage-dan o'qiy oladi. Thanos Query PromQL va Prometheus API-ni qo'llaydi. Ya'ni, tashqaridan Prometeyga o'xshaydi. U PromQL so'rovlarini qabul qiladi, ularni Thanos Store Gateway-ga yuboradi, Thanos Store Gateway Object Storage-dan kerakli ma'lumotlarni oladi va ularni qaytarib yuboradi.

Ammo bizda Thanos Sidecar-ning amalga oshirilishi tufayli Object Storage-da so'nggi ikki soatsiz saqlangan ma'lumotlar mavjud, ular so'nggi ikki soatni Object Storage S3-ga yuklay olmaydi, chunki Prometey bu ikki soat davomida mahalliy xotirada fayllarni hali yaratmagan.

Buni aylanib o'tishga qanday qaror qildingiz? Thanos Query, Thanos Store Gateway-ga so'rovlardan tashqari, Prometey yonida joylashgan har bir Thanos Sidecar-ga parallel so'rovlar yuboradi.

Va Thanos Sidecar, o'z navbatida, Prometeyga proksi so'rovlarni yuboradi va so'nggi ikki soat davomida ma'lumotlarni oladi.

Ushbu komponentlarga qo'shimcha ravishda, ixtiyoriy komponent ham mavjud, ularsiz Thanos o'zini yomon his qiladi. Bu Thanos Compact bo'lib, u Object Storage-dagi kichik fayllarni Thanos Sidecars tomonidan yuklangan kattaroq fayllarga birlashtiradi. Thanos Sidecar ma'lumotlar fayllarini u erda ikki soat davomida yuklaydi. Ushbu fayllar, agar ular kattaroq fayllarga birlashtirilmasa, ularning soni juda sezilarli darajada o'sishi mumkin. Bunday fayllar qanchalik ko'p bo'lsa, Thanos Store Gateway uchun qanchalik ko'p xotira kerak bo'lsa, tarmoq, metama'lumotlar orqali ma'lumotlarni uzatish uchun ko'proq resurslar kerak bo'ladi. Thanos Store Gateway samarasiz bo'ladi. Shu sababli, kichik fayllarni kattaroq fayllarga birlashtirgan Thanos Compact dasturini ishga tushirish kerak, shunda bunday fayllar kamroq bo'ladi va Thanos Store Gateway-da ortiqcha xarajatlarni kamaytiradi.

Thanos Ruler kabi komponent ham mavjud. U Prometeyni ogohlantirish qoidalarini bajaradi va ma'lumotlarni Ob'ektni saqlashga qayta yozish uchun Prometeyni yozish qoidalarini hisoblashi mumkin. Ammo bu komponentni ishlatish tavsiya etilmaydi, chunki. U to'liq bo'lmagan ma'lumotlarni qaytarishga intiladi.

Mana Thanos uchun oddiy sxema.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Endi VictoriaMetrics sxemasi bilan solishtiramiz.

VictoriaMetrics ikkita versiyaga ega: bitta tugunli va klasterli versiya. Bitta tugun bir kompyuterda ishlaydi. Yagona tugunda bu komponentlar mavjud emas, faqat bitta ikkilik. Slayddagi bu ikkilik bu kvadratga o'xshaydi. Kvadrat ichidagi hamma narsa bitta tugunli versiya uchun ikkilik faylning mazmunidir. Bu haqda bilishingiz shart emas. Ikkilik faylni ishga tushiring - va hamma narsa biz uchun ishlaydi.

Klaster versiyasi qiyinroq. Uning ichida uch xil komponent mavjud: vmselect, vminsert va vmstorage. Ularning nomidan ularning har biri nima qilayotgani aniq bo'lishi kerak. Insert komponenti turli formatlarda ma'lumotlarni qabul qiladi: Prometheus masofaviy yozish API'si, Influx liniyasi protokoli, Graphite protokoli va OpenTSDB protokolidan. Insert komponenti ularni qabul qiladi, tahlil qiladi va ma'lumotlar allaqachon saqlangan mavjud saqlash komponentlari o'rtasida taqsimlaydi. Select komponenti, o'z navbatida, PromQL so'rovlarini qabul qiladi. Amalga oshiradi PromQL, shuningdek Prometheus so'rovlar API'si va Grafana yoki boshqa Prometheus API mijozlaridagi Prometey o'rniga foydalanish mumkin. Select promql so'rovini oladi, uni tahlil qiladi, saqlash tugunlaridan ushbu so'rovni bajarish uchun kerakli ma'lumotlarni o'qiydi, bu ma'lumotlarni qayta ishlaydi va javob qaytaradi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keling, Thanos va VictoriaMetrics-ni o'rnatishning murakkabligini taqqoslaylik.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keling, Thanos bilan boshlaylik. Thanos bilan ishlashni boshlashdan oldin, Thanos Sidecar ma'lumotlarni yozishi uchun S3 yoki GCS kabi Ob'ektni saqlashda chelak yaratishingiz kerak.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keyin har bir Prometey uchun Thanos Sidecarni o'rnatishingiz kerak. Bundan oldin, Prometeyda ma'lumotlarni siqishni o'chirib qo'yishni unutmasligingiz kerak. Resurs sarfini kamaytirish uchun ma'lumotlarni siqish vaqti-vaqti bilan Prometey mahalliy xotirasidagi ma'lumotlarni siqib chiqaradi.

Thanos Sidecar-ni Prometey-ga o'rnatganingizda, ushbu ma'lumotlarni siqishni o'chirib qo'yishingiz kerak, chunki Thanos Sidecar ma'lumotlarni siqish yoqilgan holda to'g'ri ishlamaydi. Bu shuni anglatadiki, Prometey ma'lumotlarni ikki soatlik bloklarda saqlashni boshlaydi va bu bloklarni kattaroq bloklarga birlashtirishni to'xtatadi. Shunga ko'ra, agar siz so'nggi ikki soatdan oshib ketadigan so'rovlarni qilsangiz, ular ma'lumotlarni siqish yoqilgan bo'lsa, ishlay oladigan darajada samarali ishlamaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Shu sababli, Thanos ko'p sonli kichik bloklarning ushbu qo'shimcha xarajatlarini kamaytirish uchun mahalliy xotirada ma'lumotlarni saqlash vaqtini 6-8 soatgacha qisqartirishni tavsiya qiladi.

Thanos Sidecar-ni o'rnatganingizdan so'ng, har bir Ob'ektni saqlash paqiri uchun ikkita komponentni o'rnatishingiz kerak. Bular Thanos Compactor va Thanos Store Gateway.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Shundan so'ng, siz Thanos Query-ni o'rnatishingiz va uni barcha Thanos Store shlyuzlariga ulanishi, shuningdek, barcha Thanos Sidecars-ga ulanishi uchun sozlashingiz kerak.

Bu erda kichik muammo bo'lishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos Query-dan ushbu komponentlarga ishonchli va xavfsiz ulanishni o'rnatishingiz kerak. Va agar sizda Prometey turli ma'lumotlar markazlarida yoki turli VPC-larda joylashgan bo'lsa, ularga tashqaridan ulanish taqiqlanadi. Ammo Thanos Query ishlashi uchun u erda qandaydir tarzda ulanishni sozlashingiz kerak va siz yo'l topishingiz kerak.

Agar sizda bunday ma'lumotlar markazlari juda ko'p bo'lsa, unda, shunga ko'ra, butun tizimning ishonchliligi pasayadi. Thanos Query doimiy ravishda turli ma'lumotlar markazlarida joylashgan barcha Thanos Sidecars bilan aloqani saqlab turishi kerak. Har bir kiruvchi so'rovda u barcha Thanos Sidecars-ga so'rovlar yuboradi. Agar ulanish uzilib qolsa, siz to'liq bo'lmagan ma'lumotlar to'plamini olasiz yoki "klaster ishlamayapti" degan javob olasiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics-da ishlar biroz soddaroq. Yagona tugunli versiya uchun faqat bitta ikkilik faylni ishga tushiring va hamma narsa ishlaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Klasterlangan versiyada yuqoridagi uchta turdagi komponentlarni istalgan miqdorda ishlatish yoki ishlatish kifoya. rul jadvali Kubernetes-da komponentlarni ishga tushirishni avtomatlashtirish. Shuningdek, biz Kubernetes operatorini yaratishni rejalashtirmoqdamiz. Rulda jadvali ba'zi holatlarni qamrab olmaydi va oyog'ingizni otish imkonini beradi. Masalan, bu sizga saqlash tugunlari sonini kamaytirish imkonini beradi, bu esa ma'lumotlarning yo'qolishiga olib keladi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Bitta ikkilik yoki klasterli versiyani ishga tushirganingizdan so'ng, Prometey konfiguratsiyasiga qo'shishingiz kifoya. masofaviy yozish URL manzilini sozlashShunday qilib, u mahalliy saqlash va masofaviy saqlashga parallel ravishda ma'lumotlarni yozishni boshlaydi. Ko'rib turganingizdek, ushbu konfiguratsiya Thanos konfiguratsiyasiga qaraganda ancha ishonchli ishlashi kerak. VictoriaMetrics-dan barcha Prometeylarga ulanishni saqlab qolishimiz shart emas, chunki Prometeyning o'zi VictoriaMetrics-ga ulanadi va ma'lumotlarni uzatadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos va VictoriaMetrics-ni qo'llab-quvvatlashni ko'rib chiqing.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos Object Storage-ga ma'lumotlarni yuklashni to'xtatmaslik uchun Sidecar-ni kuzatib borishi kerak. Yuklab olish xatolari tufayli ular ushbu ma'lumotlarni yuklab olishni to'xtatishi mumkin, masalan, Ob'ektni saqlash uchun tarmoq ulanishingiz vaqtinchalik uzilgan yoki Ob'ektni saqlash vaqtincha ishlamayapti. Thanos Sidecar shu nuqtada buni sezadi, xato haqida xabar beradi, ishdan chiqishi mumkin va keyin ishlashni to'xtatadi. Agar siz buni kuzatmasangiz, ma'lumotlaringiz endi Object Storage-ga o'tkazilmaydi. Agar saqlash muddati o'tib ketsa (6-8 soat tavsiya etiladi), u holda siz Ob'ektni saqlashga kirmagan ma'lumotlarni yo'qotasiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos kompaktorlari ishlamay qolishi mumkin Sidecar bilan poyga. Kompaktorlar Ob'ektni saqlashdan ma'lumotlarni oladi va ularni kattaroq ma'lumotlar bo'laklariga birlashtiradi. Kompaktorlar Sidecars bilan sinxronlashtirilmaganligi sababli, quyidagilar sodir bo'lishi mumkin: Sidecar hali blokni qo'shishga ulgurmagan, Compactor bu blok to'liq yozilgan deb qaror qiladi. Compactor uni o'qiy boshlaydi. U blokni to'liq o'qiydi va ishlashni to'xtatadi. Tafsilotlarni ko'ring shu yerda.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Store Gateway Compactor va Sidecars o'rtasidagi poygalar tufayli nomuvofiq ma'lumotlarni qaytarishi mumkin. Bu erda ham xuddi shunday, chunki Store Gateway hech qanday tarzda kompaktorlar va yon mashinalar bilan sinxronlashtirilmaydi. Shunga ko'ra, do'kon shlyuzi ma'lumotlarning bir qismini ko'rmasa yoki qo'shimcha ma'lumotlarni ko'rsa, poyga sharoitlari paydo bo'lishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos-dagi So'rov komponenti, agar hozirda ba'zi Sidecars yoki Store Gateways mavjud bo'lmasa, sukut bo'yicha qisman natijani qaytaradi. Siz ma'lumotlarning bir qismini olasiz va hatto barcha ma'lumotlarni olmaganligingizni bilmay qolasiz. U sukut bo'yicha shunday ishlaydi. Xuddi shunday vaziyatda VictoriaMetrics belgilangan ma'lumotlarni qisman deb qaytaradi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanosdan farqli o'laroq, VictoriaMetrics kamdan-kam hollarda ma'lumotlarni yo'qotadi. Prometeydan VictoriaMetricsga ulanish uzilib qolsa ham, bu muammo emas, chunki Prometey 2 soat davom etadigan Oldindan yozish jurnaliga kiruvchi yangi ma'lumotlarni yozishda davom etmoqda. Agar siz VictoriaMetrics-ga ulanishni ikki soat ichida tiklasangiz, ma'lumotlar yo'qolmaydi. Prometey VictoriaMetrics-ga qayta ulangandan so'ng ma'lumotlarni qo'shishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Maʼlumotni obʼyekt xotirasiga faqat ikki soatdan keyin yozadigan Thanosdan farqli oʻlaroq, Prometey avtomatik ravishda maʼlumotlarni masofaviy yozish protokoli orqali VictoriaMetrics kabi masofaviy xotiraga takrorlaydi. Siz Prometeyda mahalliy saqlashni yo'qotishdan qo'rqmaysiz. Agar u to'satdan mahalliy xotirani yo'qotsa, siz eng yomon holatda uzoq xotiraga yozishga ulgurmagan ma'lumotlarning so'nggi soniyalarini yo'qotasiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Kubernetes Thanosdan farqli ravishda klasterni avtomatik ravishda boshqaradi. VictoriaMetrics klaster komponentlaridan farqli o'laroq, barcha Thanos komponentlarini bitta Kubernetes klasteriga joylashtirish qiyin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics yangi versiyaga juda oson yangilanishga ega. Faqat VictoriaMetrics-ni to'xtating, ikkilik fayllarni yangilang va boshlang. SIGINT signali orqali to'xtatilganda, barcha VictoriaMetrics ikkiliklari ajoyib tarzda o'chiriladi. Ular kerakli ma'lumotlarni to'g'ri saqlaydilar, hech narsani yo'qotmaslik uchun kiruvchi ulanishlarni to'g'ri yopadilar. Shunday qilib, siz yangilaganingizda hech narsani yo'qotmaysiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics uchun klasterni kengaytirish juda oson. Faqat kerakli komponentlarni qo'shing va ishlashni davom eting.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos va VictoriaMetrics-dagi tuzoqlar haqida.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos quyidagi tuzoqlarga ega. Prometey so'nggi ikki soat davomida ma'lumotlarni saqlashi kerak. Agar ular yo'qolib qolsa, siz ularni butunlay yo'qotasiz, chunki ular S3 kabi Ob'ektlarni saqlashga yozishga ulgurmagan.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Do'kon shlyuzi komponenti va zichlagich komponenti, agar u erda ko'plab kichik fayllar saqlangan bo'lsa, katta ob'ektni saqlash uchun juda ko'p xotirani olishi mumkin. Fayllar soni va hajmi qanchalik katta bo'lsa, do'kon shlyuzi va zichlagich meta-ma'lumotni saqlash uchun shunchalik ko'p RAM talab qiladi. Thanosda nima haqida ko'p muammolar bor Yozilgan ma'lumotlarning o'rtacha hajmida Gateway va kompaktorning ishdan chiqishini saqlang.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos sizda mavjud bo'lgan Prometey soni bo'yicha cheksiz muddatga o'lchash imkoniyatiga ega deb e'lon qilinadi. Aslida bu haqiqat emas. Barcha so'rovlar So'rov komponenti orqali o'tganligi sababli, barcha Store Gateway komponentlari va barcha Sidecar komponentlarini parallel ravishda so'rashi, u yerdan ma'lumotlarni ajratib olish va keyin ularni oldindan qayta ishlash. Ko'rinib turibdiki, so'rovlar tezligi eng sekin zaif havola, eng sekin Store Gateway yoki eng sekin Sidecar bilan cheklangan.

Ushbu komponentlar notekis yuklangan bo'lishi mumkin. Misol uchun, sizda Prometey bor, u soniyada millionlab ko'rsatkichlarni to'playdi. Va Prometey bor, u soniyada minglab ko'rsatkichlarni to'playdi. Bir soniyada millionlab ko'rsatkichlarni to'playdigan Prometey o'zi ishlaydigan serverni ko'proq yuklaydi. Shunga ko'ra, Sidecar u erda sekinroq. Va umuman olganda, u erda hamma narsa sekin. So'rov komponenti esa u yerdan ma'lumotlarni juda sekin tortib oladi. Shunga ko'ra, butun klasteringizning ishlashi ushbu sekin Sidecar bilan cheklanadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Odatiy bo'lib, ba'zi Sidecars va Store Gateways mavjud bo'lmasa, Thanos qisman ma'lumotlarni qaytaradi. Misol uchun, agar sizda turli xil ma'lumotlar markazlarida dunyo bo'ylab tarqalgan Sidecars bo'lsa, u holda komponentlarning uzilishi va mavjud bo'lmasligi ehtimoli sezilarli darajada oshadi. Shunga ko'ra, ko'p hollarda siz hatto bilmasdan qisman ma'lumotlarni olasiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics ham tuzoqlarga ega. Birinchi xato VictoriaMetrics keshi uchun ishlatiladigan RAM miqdorini cheklaydigan variant. Sukut bo'yicha VictoriaMetrics ishlaydigan mashinada 60% RAM yoki Kubernetesdagi VictoriaMetrics podida 60% operativ xotira.

Agar siz ushbu qiymatni noto'g'ri o'zgartirsangiz, VictoriaMetrics ishlashini buzishingiz mumkin. Misol uchun, agar qiymat juda past o'rnatilgan bo'lsa, ma'lumotlar endi VictoriaMetrics keshiga sig'masligi mumkin. Shu sababli, u qo'shimcha ishlarni bajarishi va protsessorni disk bilan yuklashi kerak bo'ladi. Agar siz ushbu parametrni juda katta qilsangiz, bu, birinchidan, VictoriaMetrics-ning xotirada xatolik tufayli ishdan chiqishi ehtimolini oshiradi, ikkinchidan, bu operatsion tizimda juda kam RAMga ega bo'lishiga olib keladi. fayl uchun xotira. kesh. VictoriaMetrics esa ishlash uchun fayl keshiga tayanadi. Agar bu etarli bo'lmasa, diskdagi yuk sezilarli darajada oshishi mumkin. Shuning uchun, maslahat: juda zarurat bo'lmasa, parametrni o'zgartirmang.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Ikkinchi variant. Ushbu saqlash muddati sukut bo'yicha 1 oyga belgilangan muddatdir. Bu VictoriaMetrics ma'lumotlarni saqlaydigan vaqt. Ushbu davrdan keyin VictoriaMetrics ma'lumotlarni o'chiradi.

Ko'p odamlar VictoriaMetrics-ni ushbu imkoniyatsiz ishlaydi va bir oy davomida ma'lumotlarni yozib oladi. Va keyin ular so'rashadi: nega o'tgan oy uchun ma'lumotlar yo'qoldi? Chunki standart saqlash muddati 1 oy. Shuning uchun siz to'g'ri saqlash muddatini bilishingiz va belgilashingiz kerak.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keling, o'ziga xos xususiyatlarni ko'rib chiqaylik.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos-da quyi namuna deb ataladigan xususiyat mavjud: 5 daqiqalik va soatlik intervallar, ular tez-tez bo'ladi to'g'ri ishlamang. Agar siz Google ni qidirsangiz va github-da ularning muammolarini ko'rsangiz, ushbu pasaytirish bilan bog'liq juda ko'p muammolar mavjud, u ba'zan to'g'ri ishlamaydi yoki foydalanuvchilar kutganidek ishlamaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos-da Prometey HA juftlari uchun ma'lumotlarning takrorlanishi mavjud. Ikki Prometey bir xil maqsadlardan bir xil ko'rsatkichlarni yig'ganda va Thanos ularni Ob'ektlarni saqlashga qo'shganda. Thanos, VictoriaMetrics-dan farqli o'laroq, ushbu ma'lumotlarni to'g'ri qabul qilishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanosda Thanos sxemasida bo'lgan ogohlantirish komponenti mavjud. Lekin u ishlab chiqarishda foydalanish tavsiya etilmaydi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos afzalligi shundaki, Thanos va Prometey bir xil kodni baham ko'radi. Thanos va Prometey xuddi shu ishlab chiquvchilar tomonidan ishlab chiqilgan. Thanos yoki Prometeydagi yaxshilanishlar bilan boshqa tomon g'alaba qozonadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics-ning asosiy xususiyati MetricsQL. Bular PromQL uchun VictoriaMetrics kengaytmalari bo'lib, ular haqida oldingi katta monitoring uchrashuvida gaplashdim.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics turli xil protokollardan foydalangan holda ma'lumotlarni yuklashni qo'llab-quvvatlaydi. VictoriaMetrics nafaqat Prometeydan, balki Influx, OpenTSDB va Graphite protokollari orqali ham ma'lumotlarni olishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics ma'lumotlari Thanos va Prometeyga qaraganda ancha kam joy egallaydi.

Haqiqiy ma'lumotlarni yozishda foydalanuvchilar Prometey va Thanos bilan solishtirganda diskdagi ma'lumotlar hajmining 2-5 barobar qisqarishi haqida gapirishadi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics-ning yana bir afzalligi shundaki, u tezlik uchun optimallashtirilgan.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Keling, infratuzilmaning narxini ko'rib chiqaylik.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos-ning afzalliklaridan biri shundaki, u ma'lumotlarni ob'ektni saqlashda saqlaydi, bu nisbatan arzon.

Ob'ektni saqlashda ma'lumotlarni saqlashda siz ma'lumotlarni yozish va o'qish operatsiyalari uchun to'lashingiz kerak (har bir million operatsiya uchun 10 dollar). Ob'ektni saqlashga ma'lumot yozganingizda, Internetga ma'lumotlarni yuklash uchun hosting xarajatlarini to'laysiz, agar sizning klasteringiz AWSda bo'lmasa - u erda bepul. Maʼlumotlarni oʻqiganingizda, 10TB uchun 230 dan 1 dollargacha toʻlaysiz. Agar Thanos klasteridan tarixiy ma'lumotlarni tez-tez so'rasangiz, bu muhim bo'lishi mumkin.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos klasteri uchun siz Compact, Store Gateway, ko'p xotira talab qiluvchi so'rov komponentlari, katta hajmdagi ma'lumotlar uchun protsessor uchun serverlar uchun pul to'lashingiz kerak.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics quyidagi xarajatlarga ega. Agar siz GCE HDD-larida ma'lumotlarni saqlasangiz, 40TB uchun $1 chiqadi. VictoriaMetrics uchun oddiy HDD drayvlar etarli, SSD-lar kerak emas, ular besh baravar qimmat turadi. VictoriaMetrics HDD uchun optimallashtirilgan.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics-ga komponentlar uchun serverlar kerak: yoki bitta tugunli yoki klasterli komponentlar uchun, ular Thanos komponentlaridan farqli o'laroq, CPU, operativ xotirani kamroq talab qiladi - mos ravishda arzonroq bo'ladi.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Amalga oshirish misollari.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Thanos uchun amalga oshirish misoli Gitlab. Gitlab butunlay Thanos-da ishlaydi. Ammo u erda hamma narsa unchalik silliq emas. Agar siz ularga qarasangiz masalalar, keyin siz ular doimo bir oz borligini ko'rishingiz mumkin Thanos bilan operatsion muammolar: Store Gateway yoki Query komponentlari uchun xotira yetarli emas. Ular doimiy ravishda xotira hajmini oshirishlari kerak.

Shu sababli, ushbu muammolarni hal qilish xarajatlari oshadi.

Muvaffaqiyatli bo'lishi mumkin bo'lgan ikkinchi amalga oshirish, Thanosni ishlab chiqishni boshlagan Improbable. Ular Thanos manbasini chiqarishdi. Improbable - bu o'yin dvigatellarini ishlab chiqaruvchi kompaniya.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

VictoriaMetrics ommaviy amalga oshirish misollariga ega:

  • wix veb-sayt yaratuvchisi
  • Adidas VictoriaMetrics-ni qo'llaydi va hatto oxirgi PromCon 2019 da taqdimot qildi
  • TrafficStars reklama tarmog'i
  • Seznam.cz - mashhur Chexiya qidiruv tizimi.

Va keyin nomsiz kompaniyalar bor edi, men hozir nomlay olmayman. Ular rozi bo'lmadilar.

  • Bir yirik o'yin ishlab chiqaruvchisi. Imkoniyatsizdan kattaroq.
  • Grafik dasturlarning yirik ishlab chiqaruvchisi.
  • Rossiyaning yirik banki.
  • VictoriaMetrics-ni muvaffaqiyatli sinovdan o'tkazgan Evropa shamol turbinasi ishlab chiqaruvchisi. Ushbu ishlab chiqaruvchi shamol turbinasi ma'lumotlarini sensorda soniyasiga 50 ta namunani kuzatish uchun VictoriaMetrics dasturini amalga oshirmoqda. Har bir shamol turbinasi bir necha yuz datchiklarga ega. Ularda bir necha yuzlab shamol turbinalari mavjud.
  • Rossiya aviakompaniyalari VictoriaMetrics dasturini amalga oshirishni xohlaydi, lekin hali ham buni qila olmaydi. Biz ular bilan shartnoma bosqichidamiz.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetricsNatijalar.

VictoriaMetrics va Thanos shunga o'xshash muammolarni hal qiladi, ammo turli yo'llar bilan:

  • Global so'rov ko'rinishi
  • gorizontal masshtablash
  • o'zboshimchalik bilan ushlab turish

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

Rahmat.

Sizni saytimizda kutamiz telegram kanali.

Prometey uchun ma'lumotlar do'konini tanlash: Thanos vs VictoriaMetrics

So'rovda faqat ro'yxatdan o'tgan foydalanuvchilar ishtirok etishlari mumkin. tizimga kirishiltimos.

Prometey uchun uzoq muddatli saqlash sifatida nima foydalanasiz?

  • 35,3%6

  • 0,0%Korteks 0

  • 0,0%M3DB0

  • 41,2%Viktoriya ko'rsatkichlari 7

  • 23,5%boshqa 4

17 foydalanuvchi ovoz berdi. 16 nafar foydalanuvchi betaraf qolgan.

Manba: www.habr.com

a Izoh qo'shish