Memantau Apache Ignite. Dilakukan dengan benar

Kami membuat 2 subsistem di dalam Apache Ignite.


Dalam artikel ini saya akan menceritakan tentang arsitektur mereka:


  • Bagaimana subsistem metrik dan sistem melihat subsistem.
  • Apa yang telah dilakukan dan apa yang akan kita lakukan?


Halo semuanya! Nama saya Nikolai Izhikov. Saya bekerja di Sberbank Technologies untuk mengembangkan produk-produk Open Source.


Catatan 1 : "selesai" berarti bahwa fungsi ini tersedia di master Apache Ignite , Anda dapat membangun dan melihat bagaimana semuanya bekerja. Fungsionalitas akan dirilis dalam rilis 2,8 Apache Ignite, yang akan dirilis pada awal 2020.



 2: , , Apache Ignite.



 3: 2.8, , - .


Apache Ignite in-memory . API: , , ( ), .




, - . : " , ? , , ." :


  • ? β€” , , .
  • ? β€” , , : , , , . , .
  • ? β€” .
  • ? β€” " " β€” ?

.


:


  • .
  • β€” , .
  • . : , .
  • : , , , , .

, . , , . :


  • API : transaction manager, cache manager, etc.
  • - .
  • API: JMX, SQL, Java. API.


:


  • : , ? . , , , - . , .
  • «» : , API.
  • : jmx, sql, http(Prometheus) , , .
  • : , .

Open Source community . , Ignite Enhancement Proposal (IEP), , , API, .
:



Ignite : , . , . , . , Ignite . , Ignite β€” . β€” . (prometheus, zabbix) .



Ignite . Ignite : jvm, , , . Ignite . , .


: β€” .


: , data region', .. , , .


: io.dataregion.myregion.TotalAllocatedPages β€” Data Region "myregion".



:


  • Metric, Gauge β€” .
  • MetricRegistry β€” (, ) .
  • MetricExporterSpi β€” .
  • ReadOnlyMetricRegistry β€” , exporter’-. read only access + listeners.
  • GridMetricManager β€” .

:


  • Metric β€” . .
    : LongAddterMetric, DoubleMetricImpl, ObjectMetricImpl.
  • Gauge β€” . , Supplier. . , , .
    : LongGauge, DoubleGauge, ObjectGauge.
  • HistogramMetric β€” + . , .
    : , 250 , 500 , 1 .
  • HitRateMetric β€” X .
    : , .

MetricExporterSpi β€” , . , . JMX, SQL, Log, OpenCensus.



GridMetricManager mmgr = ...;
MetricRegistry mreg = mmgr.registry("io.dataregion." + name);
LongAdderMetric replacedPages = mreg.longAdderMetric("PagesReplaced",
            "Number of pages replaced from last restart.");
//....
replacedPages.increment();


JMX

SQL

, " ?" .
.


System View β€” ?


β€” . system view, SQL. ( JMX).



  • SystemView β€” (). : , , compute task', sql table . .
  • SystemViewExporterSpi β€” .
  • ReadOnlySystemViewRegistry β€” exporter'. read only access + listeners.
  • GridSystemViewManager β€”


:


  • . , , - . .
  • overhead. .
  • . . .

: . java-. :


POJO. , . . . : reflection?

:


  • compile time.
  • .
  • .
  • .

:
(SystemViewRowAttributeWalker.java), . . system view . .


        ctx.systemView().registerView(CACHES_VIEW, CACHES_VIEW_DESC,
            new CacheViewWalker(),
            registeredCaches.values(),
            CacheView::new);

        ctx.systemView().registerView(CACHE_GRPS_VIEW, CACHE_GRPS_VIEW_DESC,
            new CacheGroupViewWalker(),
            registeredCacheGrps.values(),
            CacheGroupView::new);

Reflection β€” , . dev-list JMH benchmark. reflection . walker . Walker 4 .



SQL

JMX

, " ?" .



  • : , . .
  • Β« Β» (prometheus, zabbix)
  • . , . β€” .
  • . Oracle , , : , , , .
  • β€” Ignite , . . threshold Β«compute 30 Β», , .


  • dev@ignite.apache.org
  • user@ignite.apache.org
    Ayo! Kami memiliki komunitas berbahasa Rusia, hampir semua kontributor berasal dari Rusia, sehingga Anda dapat dengan mudah bergabung dan memberikan kontribusi ke Open Source.

Bahan dengan tanda bintang

dev- " ?", API


Presentasi - https://www.highload.ru/moscow/2019/abstracts/6111
Video:


Source: https://habr.com/ru/post/undefined/


All Articles