Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Hamıya salam. Aşağıda transkript var Big Monitoring Meetup 4-dən hesabat.

Prometey – müxtəlif sistemlər və xidmətlər üçün monitorinq sistemi, onun köməyi ilə sistem administratorları sistemlərin cari parametrləri haqqında məlumat toplaya və sistemlərin işində sapmalar barədə bildirişlər almaq üçün xəbərdarlıqlar qura bilərlər.

Hesabatda müqayisə də olacaq Thanos и VictoriaMetrics — Prometheus metriklərinin uzunmüddətli saxlanması üçün layihələr.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Videonu çalın

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Əvvəlcə sizə Prometey haqqında danışacağam. Bu, müəyyən edilmiş hədəflərdən ölçüləri toplayan və onları yerli yaddaşa saxlayan monitorinq sistemidir. Prometheus ölçüləri uzaq yaddaşa yaza bilər və xəbərdarlıqlar və qeyd qaydaları yarada bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Prometey məhdudiyyətləri:

  • Onun qlobal sorğu görünüşü yoxdur. Bu, bir çox müstəqil prometey nümunəsinə sahib olduğunuz zamandır. Metrikləri toplayırlar. Və siz müxtəlif prometey nümunələrindən toplanmış bütün bu ölçülərin üstünə sorğu vermək istəyirsiniz. Prometey buna icazə vermir.
  • Prometheus ilə performans yalnız bir serverlə məhdudlaşır. Prometheus avtomatik olaraq birdən çox server arasında ölçülənmir. Hədəflərinizi yalnız çoxlu Prometheus arasında əl ilə bölə bilərsiniz.
  • Prometheus-da ölçülərin əhatə dairəsi yalnız bir serverlə məhdudlaşır, çünki o, avtomatik olaraq birdən çox server arasında miqyaslandıra bilmir.
  • Prometheus-da məlumat təhlükəsizliyini təşkil etmək o qədər də asan deyil.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Bu problemlərin/çağırışların həlli yolları?

Həlllər bunlardır:

Bütün bu həllər Prometey tərəfindən toplanmış məlumatların uzaqdan saxlanması üçündür. Əvvəlki slayddan uzaq yaddaş problemini müxtəlif yollarla həll edirlər. Bu təqdimatda mən yalnız ilk iki həll yolu haqqında danışacağam: Thanos и VictoriaMetrics.

haqqında ilk dəfə məlumat Thanos tərəfindən ortaya çıxdı Bu linki. Orada memarlıq təsvir edilmişdir Thanos və necə işləyir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos, Prometeyin saxladığı məlumatları yerli diskə götürür və S3-ə kopyalayır GCS və ya başqa obyekt anbarına.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Beləliklə, Thanos qlobal sorğu görünüşünü təmin edir. Bir çox Prometheus instansiyasından obyekt yaddaşında saxlanılan məlumatları sorğulaya bilərsiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos PromQL və dəstəkləyir Prometheus sorğu API.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos məlumatları saxlamaq üçün Prometheus kodundan istifadə edir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos, Prometheus ilə eyni tərtibatçılar tərəfindən hazırlanmışdır.

haqqında VictoriaMetrics. Burada əlaqə, haqqında ilk danışdığımız yer VictoriaMetrics.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics bir neçə prometeydən məlumat alır uzaqdan yazma API Prometey tərəfindən dəstəklənən protokol.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics qlobal sorğu görünüşünü təmin edir, çünki çoxsaylı Prometheus nümunələri bir VictoriaMetrics-ə məlumat yaza bilər. Müvafiq olaraq, bütün bu məlumatlar üzrə sorğular edə bilərsiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics həmçinin Thanos, PromQL və Prometheus sorğu API-lərini dəstəkləyir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-dan fərqli olaraq, VictoriaMetrics mənbə kodu sıfırdan yazılır və sürət və resurs sərfiyyatı üçün optimallaşdırılıb.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics, Thanos-dan fərqli olaraq, həm şaquli, həm də üfüqi şəkildə ölçü götürür. Yemək Tək düyünlü versiyaşaquli tərəzi. Siz bir prosessor və 1 GB yaddaşla başlaya və tədricən yüzlərlə prosessor və 1 TB yaddaşa yüksələ bilərsiniz. VictoriaMetrics bütün bu resurslardan istifadə edə bilər. Onun performansı 100 nüvəli sistemlə müqayisədə təxminən 1 dəfə artacaq.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-un tarixi 2017-ci ilin noyabrında, ilk ictimai öhdəliyin ortaya çıxdığı zaman başladı. Bundan əvvəl Thanos daxili olaraq hazırlanmışdı ehtimalsız.io.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2019-cu ilin iyun ayında 0.5.0 əlamətdar buraxılışı var idi qaldırıldı qeybət protokol. O, yaxşı çıxış etmədiyi üçün Thanosdan uzaqlaşdırıldı. Tez-tez Thanos klasteri düzgün işləmirdi, dedi-qodu protokolu səbəbindən ona səhv bağlanan qovşaqlar. Ona görə də onu oradan uzaqlaşdırmaq qərarına gəldik. Hesab edirəm ki, bu, düzgün qərardır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Eyni 2019-cu ilin iyun ayında ərizə nömrəsini göndərdilər 256 в Bulud Yerli Hesablama Vəqfi.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Və bir neçə aydan sonra Thanos qəbul edildi Bulud Yerli Hesablama VəqfiPrometheus, Kubernetes və digər məşhur layihələri ehtiva edir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2018-ci ilin yanvar ayında VictoriaMetrics-in inkişafı başladı.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2018-ci ilin sentyabrında mən ilk dəfə açıq şəkildə VictoriaMetrics-i qeyd etdim.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2018-ci ilin dekabrında Tək qovşaqlı versiya nəşr olundu.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2019 may ayında nəşr olundu həm tək düyünlü, həm də çoxluq versiyalarının mənbələri.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

2019-cu ilin iyun ayında Thanos kimi biz də nömrə altında CNCF fonduna ərizə təqdim etdik. 255. Thanos müraciət etməzdən bir gün əvvəl müraciət etdik.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Amma təəssüf ki, bizi hələ də ora qəbul etməyiblər. İctimai yardım lazımdır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos və VictoriaMetrics-in arxitekturasını göstərən ən vacib slaydlara baxaq.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos ilə başlayaq. Sarı komponentlər Prometey komponentləridir. Qalan hər şey Thanos komponentləridir. Ən vacib komponentdən başlayaq. Thanos Sidecar hər Prometeyin yanında quraşdırılan komponentdir. O, Prometheus məlumatlarını yerli yaddaşdan S3 və ya başqa Obyekt Yaddaşına yükləyir.

Thanos Store Gateway adlı komponent də var, Thanos Query-dən gələn sorğular əsasında Obyekt Yaddaşından bu məlumatları oxuya bilər. Thanos Query PromQL və Prometheus API tətbiq edir. Yəni kənardan Prometey kimi görünür. PromQL sorğularını qəbul edir, onları Thanos Store Gateway-ə göndərir, Thanos Store Gateway Obyekt Yaddaşından lazımi məlumatları alır, geri göndərir.

Lakin Thanos Sidecar tətbiqinin xüsusiyyətinə görə məlumatları Object Storage-da son iki saat olmadan saxlayırıq, bu xüsusiyyət son iki saatı Object Storage S3-ə yükləyə bilmir, çünki Prometheus yerli yaddaşda bu iki saat üçün faylları hələ yaratmayıb.

Bunun öhdəsindən gəlməyə necə qərar verdiniz? Thanos Query, Thanos Store Gateway-ə edilən sorğulara əlavə olaraq, Prometeyin yanında yerləşən hər Thanos Sidecar-a paralel sorğular göndərir.

Thanos Sidecar, öz növbəsində, Prometheus-a əlavə sorğular göndərir və son iki saat ərzində məlumatları əldə edir.

Bu komponentlərə əlavə olaraq, isteğe bağlı bir komponent də var ki, onsuz Thanos yaxşı performans göstərməyəcək. Bu, Obyekt Yaddaşındakı kiçik faylları Thanos Sidecars tərəfindən yüklənmiş daha böyük fayllara birləşdirməyə cavabdeh olan Thanos Compact-dır. Thanos Sidecar orada iki saat ərzində məlumat fayllarını yükləyir. Bu fayllar, daha böyük fayllara birləşdirilməsələr, onların sayı çox əhəmiyyətli dərəcədə arta bilər. Belə fayllar nə qədər çox olarsa, Thanos Store Gateway üçün bir o qədər çox yaddaş tələb olunur, şəbəkə və metadata üzərindən məlumat ötürmək üçün bir o qədər çox resurs tələb olunur. Thanos Store Gateway səmərəsiz olur. Buna görə də, kiçik faylları daha böyüklərə birləşdirən Thanos Compact-ı işə salmaq lazımdır ki, belə fayllar daha az olsun və Thanos Store Gateway-də yükü azaltsın.

Thanos Ruler kimi bir komponent də var. O, Prometey xəbərdarlığı qaydalarını yerinə yetirir və məlumatları Obyekt Yaddaşına geri yazmaq üçün Prometheus qeyd qaydalarını qiymətləndirə bilər. Amma bu komponentdən istifadə etmək tövsiyə edilmir, çünki... O natamam məlumatları qaytarmağa meyllidir.

Bu Thanosun sadə sxemidir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

İndi onu VictoriaMetrics sxemi ilə müqayisə edək.

VictoriaMetrics-in 2 versiyası var: Tək düyünlü və klasterli versiya. Tək qovşaq bir kompüterdə işləyir. Tək qovşaqda bu komponentlər yoxdur, sadəcə bir binar. Slayddakı bu binar bu kvadrata bənzəyir. Kvadratın içərisində olan hər şey Tək node versiyası üçün ikili faylın məzmunudur. Onun haqqında bilmək lazım deyil. Siz sadəcə binar sistemi işlədirsiniz və hər şey bizim üçün işləyir.

Klaster versiyası daha mürəkkəbdir. Onun içərisində üç fərqli komponent var: vmselect, vminsert və vmstorage. Adlarından hər birinin nə işlə məşğul olduğu aydın olmalıdır. Insert komponenti müxtəlif formatlarda məlumatları qəbul edir: Prometheus uzaqdan yazma API-dən, Influx line protokolundan, Graphite protokolundan və OpenTSDB protokolundan. Insert komponenti onları qəbul edir, təhlil edir və verilənlərin artıq saxlandığı mövcud saxlama komponentləri arasında paylayır. Select komponenti öz növbəsində PromQL sorğularını qəbul edir. Həyata keçirir PromQL, həmçinin Prometheus sorğu API-si kimi və o, Grafana və ya digər Prometheus API müştərilərində Prometheus üçün əvəz kimi istifadə edilə bilər. Select promql sorğusunu qəbul edir, onu təhlil edir, saxlama qovşaqlarından bu sorğunun yerinə yetirilməsi üçün lazımi məlumatları oxuyur, bu məlumatları emal edir və cavab qaytarır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos və VictoriaMetrics-in quraşdırılmasının mürəkkəbliyini müqayisə edək.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos ilə başlayaq. Thanos ilə işləməyə başlamazdan əvvəl S3 və ya GCS kimi Obyekt Yaddaşında bir vedrə yaratmalısınız ki, Thanos Sidecar ona məlumat yaza bilsin.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Sonra hər Prometheus üçün Thanos Sidecar quraşdırmalısınız. Bundan əvvəl, Prometheus-da məlumatların sıxılmasını söndürməyi unutmayın. Məlumatların sıxlaşdırılması resurs istehlakını azaltmaq üçün yerli Prometheus yaddaşında məlumatları vaxtaşırı sıxır.

Thanos Sidecar-ı Prometheus-a quraşdırdığınız zaman, bu məlumat yığımını deaktiv etməlisiniz, çünki Thanos Sidecar məlumat sıxlaşdırması aktiv olduqda düzgün işləmir. Bu o deməkdir ki, Prometeyiniz məlumatları iki saatlıq bloklarda saxlamağa başlayır və həmin blokları daha böyük bloklara birləşdirməyi dayandırır. Müvafiq olaraq, əgər siz son iki saatın müddətini aşan sorğular etsəniz, məlumatların sıxlaşdırılması aktivləşdirildikdə, onlar işləyə biləcəkləri qədər səmərəli işləməyəcəklər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Buna görə də, Thanos çox sayda kiçik blokun yükünü azaltmaq üçün yerli yaddaşda məlumatların saxlanma müddətini 6-8 saata qədər azaltmağı tövsiyə edir.

Thanos Sidecar-ı quraşdırdıqdan sonra hər Obyekt Saxlama Bucket üçün iki komponent quraşdırmalısınız. Bunlar Thanos Compactor və Thanos Store Gateway-dir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Bundan sonra, Thanos Query-ni quraşdırmalı və onu konfiqurasiya etməlisiniz ki, o, malik olduğunuz bütün Thanos Store Gateway-lərə qoşula bilsin, həmçinin bütün Thanos Sidecars-a qoşula bilsin.

Burada kiçik bir problem ola bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos Query-dən bu komponentlərə etibarlı və təhlükəsiz əlaqəni konfiqurasiya etməlisiniz. Prometheusunuz müxtəlif məlumat mərkəzlərində və ya fərqli VPC-lərdə yerləşirsə, kənardan onlara qoşulmaq qadağandır. Ancaq Thanos Query-nin işləməsi üçün oradakı əlaqəni birtəhər konfiqurasiya etməlisiniz və bir yol tapmalısınız.

Əgər belə bir çox məlumat mərkəzləriniz varsa, müvafiq olaraq bütün sistemin etibarlılığı azalır. Thanos Query daim müxtəlif məlumat mərkəzlərində yerləşən bütün Thanos Sidecars ilə əlaqə saxlamalıdır. Hər daxil olan sorğu üçün sorğuları bütün Thanos Sidecars-a yönləndirəcək. Bağlantı kəsilərsə, siz ya natamam məlumat dəstini alacaqsınız, ya da “klaster bağlanıb” cavabı alacaqsınız.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-də hər şey bir az daha sadədir. Tək qovşaqlı versiya üçün sadəcə bir ikilik işlətməlisiniz və hər şey işləyir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Klaster versiyasında yuxarıda göstərilən üç növ komponentin hamısını sizə lazım olan istənilən miqdarda işlətmək və ya istifadə etmək kifayətdir. sükan cədvəli Kubernetes-də komponentlərin işə salınmasını avtomatlaşdırmaq. Biz həmçinin Kubernetes operatoru yaratmağı planlaşdırırıq. Helm cədvəli bəzi halları əhatə etmir və özünüzü ayağınızdan vurmağa imkan verir. Məsələn, bu, məlumatların itirilməsinə səbəb olacaq saxlama qovşaqlarının sayını azaltmağa imkan verir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Bir ikili və ya klasterli versiyanı işə saldıqdan sonra konfiqurasiyaya Prometheus əlavə etməlisiniz. uzaqdan yazma url üçün parametryerli yaddaşa və uzaq yaddaşa paralel olaraq məlumatları yazmağa başlayır. Gördüyünüz kimi, bu konfiqurasiya Thanos konfiqurasiyası ilə müqayisədə daha etibarlı şəkildə yerinə yetirilməlidir. VictoriaMetrics-dən bütün Prometeylərlə əlaqə saxlamağa ehtiyacımız yoxdur, çünki Prometey özləri VictoriaMetrics-ə qoşulur və məlumatları ötürür.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos və VictoriaMetrics-in dəstəyini nəzərdən keçirək.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos, Obyekt Yaddaşına məlumat yükləməyi dayandırmadığından əmin olmaq üçün Sidecar-a nəzarət etməlidir. Onlar endirmə xətalarına görə bu məlumatın endirilməsini dayandıra bilər, məsələn, Obyekt Yaddaşı ilə şəbəkə bağlantınız müvəqqəti olaraq kəsilib və ya Obyekt Yaddaşı müvəqqəti olaraq əlçatan deyil. Thanos Sidecar bu anda bunu görəcək, xəta barədə məlumat verəcək, qəzaya uğraya və sonra işləməyi dayandıracaq. Əgər ona nəzarət etməsəniz, məlumatların Object Storage-ə ötürülməsini dayandıracaqsınız. Əgər saxlama müddəti keçərsə (6-8 saat tövsiyə olunur), onda siz Obyekt Yaddaşında bitməyən məlumatları itirəcəksiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos kompaktatorları səbəbiylə işləməyi dayandıra bilər Sidecar ilə yarışlar. Sıxlaşdırıcılar Obyekt Yaddaşından məlumatları götürür və daha böyük verilənlərə birləşdirirlər. Kompaktorlar Sidecars ilə sinxronlaşdırılmadığı üçün bu baş verə bilər: Sidecar hələ bloku tamamlamağa vaxt tapmayıb, Compactor bu blokun tamamilə yazıldığını qərara alır. Kompaktator onu oxumağa başlayır. Bloku tam oxumur və fəaliyyətini dayandırır. Detallara baxın burada.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Store Gateway Compactor və Sidecars arasındakı yarışlara görə uyğun olmayan məlumatları qaytara bilər. Burada da eyni şey var, çünki Mağaza Gateway heç bir şəkildə Kompaktorlar və Sidecars ilə sinxronlaşdırılmayıb. Müvafiq olaraq, Store Gateway məlumatların bir hissəsini görmədikdə və ya lazımsız məlumatları gördükdə yarış şərtləri yarana bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-dakı Sorğu komponenti hal-hazırda bəzi Sidecars və ya Store Gateways mövcud deyilsə, defolt olaraq qismən nəticə qaytarır. Məlumatların bir hissəsini alacaqsınız və bütün məlumatları almadığınızı belə bilməyəcəksiniz. Defolt olaraq belə işləyir. Oxşar vəziyyətdə, VictoriaMetrics qeyd olunan məlumatları qismən qaytarır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-dan fərqli olaraq, VictoriaMetrics nadir hallarda məlumatları itirir. Prometheus-dan VictoriaMetrics-ə əlaqə kəsilsə belə, bu problem deyil, çünki Prometey, ölçüsü 2 saat olan Write Ahead Log-da daxil olan yeni məlumatları qeyd etməyə davam edir. VictoriaMetrics ilə əlaqənizi iki saat ərzində bərpa etsəniz, məlumatlarınız itməyəcək. Prometey VictoriaMetrics ilə əlaqəni bərpa etdikdən sonra məlumat əlavə edə bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Yalnız iki saatdan sonra obyekt yaddaşına məlumat yazan Thanos-dan fərqli olaraq, Prometheus uzaqdan yazma protokolundan istifadə edərək məlumatları avtomatik olaraq VictoriaMetrics kimi uzaq yaddaşa təkrarlayır. Prometeydə yerli yaddaşı itirməkdən qorxmursunuz. Birdən yerli yaddaşını itirərsə, ən pis halda, uzaq yaddaşda qeyd etməyə vaxtı olmayan məlumatların son saniyələrini itirəcəksiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Kubernetes, Thanos-dan fərqli olaraq, klasteri avtomatik idarə edir. VictoriaMetrics klaster komponentlərindən fərqli olaraq, bütün Thanos komponentlərini bir Kubernetes klasterinə yerləşdirmək çətindir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-in yeni versiyaya çox sadə yeniləməsi var. Sadəcə VictoriaMetrics-i dayandırın, ikili faylları yeniləyin və işə salın. SIGINT siqnalı ilə dayandırıldıqda, bütün VictoriaMetrics ikili faylları zərif bir şəkildə bağlanır. Lazımi məlumatları düzgün saxlayırlar, heç nə itirməmək üçün daxil olan əlaqələri düzgün bağlayırlar. Beləliklə, təkmilləşdirərkən heç nə itirməyəcəksiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics klasteri genişləndirməyi çox asanlaşdırır. Sadəcə lazımi komponentləri əlavə edin və işə davam edin.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos və VictoriaMetrics-dəki tələlər haqqında.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanosun aşağıdakı tələləri var. Prometey son iki saat ərzində məlumatları saxlamalıdır. Əgər onlar itirilsə, siz onları tamamilə itirəcəksiniz, çünki onlar hələ S3 kimi Obyekt Yaddaşına yazılmayıb.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Store Gateway komponenti və kompaktor komponenti böyük Obyekt Yaddaşı ilə işləmək üçün çoxlu yaddaş tələb edə bilər, əgər orada çoxlu kiçik fayllar saxlanılırsa. Faylların sayı və ölçüsü nə qədər çox olarsa, metainformasiyanın saxlanması üçün daha çox Store Gateway və kompaktor RAM tələb olunur. Thanosun bununla bağlı bir çox problemi var Şlüz və kompaktor qəzasını qeydə alınmış məlumatların orta həcmi ilə saxlayın.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos, sahib olduğunuz Prometey miqdarı ilə qeyri-müəyyən müddətə miqyaslanmaq üçün elan edilir. Bu əslində doğru deyil. Bütün sorğular Sorğu komponentindən keçdiyi üçün, o, eyni zamanda bütün Store Gateway komponentlərini və bütün Sidecar komponentlərini sorğulamalı, oradan məlumatları götürməli və sonra onu əvvəlcədən emal etməlidir. Aydındır ki, sorğu sürəti ən yavaş zəif keçid, ən yavaş Mağaza Gateway və ya ən yavaş Sidecar ilə məhdudlaşır.

Bu komponentlər qeyri-bərabər yüklənə bilər. Məsələn, sizdə saniyədə milyonlarla ölçü toplayan Prometey var. Və saniyədə minlərlə metrik toplayan Prometey var. Saniyədə milyonlarla ölçü toplayan Prometheus, işlədiyi serverə daha çox yük qoyur. Müvafiq olaraq, Sidecar orada daha yavaş işləyir. Və ümumiyyətlə orada hər şey yavaş işləyir. Sorğu komponenti oradan məlumatları çox yavaş çəkəcək. Müvafiq olaraq, bütün klasterinizin performansı bu yavaş Sidecar tərəfindən məhdudlaşdırılacaq.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Varsayılan olaraq, bəzi Sidecars və ya Mağaza Gateway mövcud olmadıqda Thanos qismən məlumat verir. Məsələn, Sidecar'larınız müxtəlif məlumat mərkəzlərində dünyanın hər yerinə səpələnibsə, o zaman əlaqənin pozulması və komponentin əlçatmazlığı ehtimalı xeyli artır. Müvafiq olaraq, əksər hallarda siz hətta bilmədən qismən məlumat alacaqsınız.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-in də tələləri var. İlk tələ VictoriaMetrics keşi üçün istifadə olunan RAM miqdarını məhdudlaşdıran seçimdir. Varsayılan olaraq, VictoriaMetrics-in işlədiyi maşındakı RAM-ın 60%-nə və ya Kubernetes-də VictoriaMetrics podunun RAM-ın 60%-nə bərabərdir.

Bu dəyəri səhv dəyişdirsəniz, VictoriaMetrics-in performansını poza bilərsiniz. Məsələn, dəyəri çox aşağı təyin etsəniz, məlumatlar daha VictoriaMetrics keşinə sığmaya bilər. Bu səbəbdən o, əlavə iş görməli, prosessor və diski yükləməli olacaq. Bu seçimi çox böyük etsəniz, bu, birincisi, VictoriaMetrics-in yaddaş çatışmazlığı xətası ilə qəzaya uğrama ehtimalını artırır və ikincisi, əməliyyat sisteminin yaddaşında çox az RAM qalmasına səbəb olacaqdır. fayl önbelleği. VictoriaMetrics performans üçün fayl keşinə əsaslanır. Bu kifayət deyilsə, diskdəki yük çox arta bilər. Buna görə də məsləhət: çox zərurət olmadıqca parametri dəyişməyin.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

İkinci variant. Bu saxlama müddətidir - defolt olaraq 1 aya təyin edilmiş müddət. Bu VictoriaMetrics məlumatların saxlandığı müddətdir. Bu müddətdən sonra VictoriaMetrics məlumatları silir.

Bir çox insanlar VictoriaMetrics-i bu parametr olmadan işlədir və bir ay ərzində məlumatları qeyd edir. Və sonra soruşurlar: niyə əvvəlki ayın məlumatları yoxa çıxdı? Çünki standart saxlama müddəti 1 aydır. Buna görə də, düzgün saxlama müddətini bilməli və təyin etməlisiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Unikal xüsusiyyətlərə nəzər salaq.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-un aşağı seçmə adlı bir xüsusiyyəti var: tez-tez 5 dəqiqəlik və saatlıq intervallar düzgün işləmir. Əgər siz google-da github-da onların məsələsinə baxsanız, bu aşağı seçmə ilə bağlı çoxlu problemlər var ki, o, bəzən düzgün işləmir və ya istifadəçilərin gözlədiyi kimi işləmir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-da Prometheus HA cütləri üçün məlumat təkmilləşdirməsi var. İki Prometey eyni hədəflərdən eyni ölçüləri topladıqda və Thanos onları Obyekt Yaddaşında saxladıqda. Thanos VictoriaMetrics-dən fərqli olaraq bu məlumatları düzgün şəkildə təkmilləşdirə bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos, Thanos sxemində olan bir xəbərdarlıq komponentinə malikdir. Amma onu istehsalda istifadəsi tövsiyə edilmir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-un üstünlüyü Thanos və Prometheus-un eyni kodu paylaşmasıdır. Thanos və Prometheus eyni tərtibatçılar tərəfindən hazırlanmışdır. Thanos və ya Prometeydəki təkmilləşdirmələrlə qarşı tərəf qalib gəlir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-in əsas xüsusiyyəti MetricsQL-dir. Bunlar, əvvəlki böyük monitorinq görüşündə danışdığım PromQL üçün VictoriaMetrics uzantılarıdır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics bir çox müxtəlif protokollardan istifadə edərək məlumatların yüklənməsini dəstəkləyir. VictoriaMetrics yalnız Prometheus-dan məlumatları qəbul edə bilməz, həm də Influx, OpenTSDB və Graphite protokolları vasitəsilə.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics məlumatları Thanos və Prometheus ilə müqayisədə daha az yer tutur.

Real məlumatları qeyd etsəniz, istifadəçilər Prometheus və Thanos ilə müqayisədə diskdəki məlumatların ölçüsünün 2-5 dəfə azalmasından danışırlar.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-in digər üstünlüyü onun sürət üçün optimallaşdırılmasıdır.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Gəlin infrastrukturun dəyərinə baxaq.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-un üstünlüklərindən biri məlumatların obyekt yaddaşında saxlanmasıdır ki, bu da nisbətən ucuzdur.

Obyekt yaddaşında verilənləri saxlayarkən, məlumatların yazılması və oxunması əməliyyatları üçün ödəniş etməlisiniz (bir milyon əməliyyat üçün 10 dollar). Obyekt yaddaşına məlumat yazdığınız zaman məlumatların İnternetə yüklənməsi üçün hostinq xərclərini ödəyirsiniz; əgər klasteriniz AWS-də deyilsə, orada pulsuzdur. Məlumatı oxuduğunuz zaman 10TB üçün 230 ilə 1 dollar arasında ödəyirsiniz. Thanos klasterindən tarixi məlumatları tez-tez sorğulayırsınızsa, bu əhəmiyyətli ola bilər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos klasteri üçün siz Compact, Store Gateway, çox yaddaş tələb edən Sorğu komponentləri və böyük həcmdə məlumat üçün CPU üçün serverlər üçün ödəniş etməlisiniz.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics aşağıdakı xərclərə malikdir. GCE HDD disklərində məlumat saxlayırsınızsa, o zaman 40TB üçün 1 dollara çıxır. VictoriaMetrics üçün adi HDD diskləri kifayətdir, dəyəri beş dəfə baha olan SSD-lərə ehtiyac yoxdur. VictoriaMetrics HDD üçün optimallaşdırılıb.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics komponentlər üçün server tələb edir: Thanos komponentlərindən fərqli olaraq, daha az CPU və RAM tələb edən və ya daha ucuz başa gələn tək başlı və ya klasterli komponentlər.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

İcra nümunələri.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Thanos-un Gitlab-da tətbiq nümunəsi var. Gitlab tamamilə Thanos üzərində işləyir. Amma orada hər şey o qədər də hamar deyil. Onlara baxsanız məsələlər, onda siz onların daim bəzilərinin olduğunu görə bilərsiniz Thanos ilə əməliyyat problemləri: Store Gateway və ya Query komponentləri üçün kifayət qədər yaddaş yoxdur. Onlar daim yaddaşın həcmini artırmalıdırlar.

Ona görə də bu problemlərin həlli xərcləri artır.

Daha uğurlu ola biləcək ikinci tətbiq Thanos-u inkişaf etdirməyə başlayan Improbable şirkətidir. Thanos mənbə kodunu dərc etdilər. Improbable, oyun mühərrikləri hazırlayan bir şirkətdir.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

VictoriaMetrics-də ictimai tətbiq nümunələri var:

  • wix.com veb sayt qurucusu
  • Adidas VictoriaMetrics tətbiq edir və hətta son PromCon 2019-da təqdimat keçirdi
  • TrafficStars - reklam şəbəkəsi
  • Seznam.cz məşhur Çex axtarış sistemidir.

Və sonra adı olmayan şirkətlər var idi ki, indi adını çəkə bilmirəm. Razılıq vermədilər.

  • Bir böyük oyun inkişaf etdiricisi. İmkansızdan daha böyük.
  • Böyük qrafik proqram tərtibatçısı.
  • Böyük rus bankı.
  • VictoriaMetrics-i uğurla sınaqdan keçirən Avropa külək turbinləri istehsalçısı. Bu istehsalçı külək turbinlərindən toplanmış məlumatları sensorda saniyədə 50 nümunə ilə izləmək üçün VictoriaMetrics tətbiq edir. Hər bir külək turbinində bir neçə yüz sensor var. Onların bir neçə yüz külək turbinləri var.
  • VictoriaMetrics tətbiq etmək istəyən, lakin hələ də edə bilməyən Rusiya aviaşirkətləri. Biz onlarla müqavilə mərhələsindəyik.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetricsNəticələr.

VictoriaMetrics və Thanos oxşar problemləri həll edir, lakin müxtəlif yollarla:

  • Qlobal sorğu görünüşü
  • üfüqi miqyaslama
  • ixtiyari saxlama

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Təşəkkür edirik.

Sizi öz məkanımızda gözləyirik telegram kanalı.

Prometheus üçün məlumat anbarının seçilməsi: Thanos vs VictoriaMetrics

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Prometey üçün uzunmüddətli saxlama üçün nə istifadə edirsiniz?

  • 35,3%Thanos 6

  • 0,0%Korteks0

  • 0,0%M3DB0

  • 41,2%Victoria Metrics 7

  • 23,5%digər 4

17 istifadəçi səs verib. 16 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster