Überwachung von Apache Ignite. Richtig gemacht

Wir haben 2 Subsysteme in Apache Ignite erstellt.


In dem Artikel werde ich ĂŒber ihre Architektur erzĂ€hlen:


  • Wie haben das Metrik-Subsystem und das Systemansicht-Subsystem funktioniert?
  • Was wurde getan und was werden wir tun?


Hallo alle zusammen! Ich heiße Nikolai Izhikov. Ich arbeite bei Sberbank Technologies an der Entwicklung von Open Source-Produkten.


Hinweis 1 : "erledigt" bedeutet, dass diese FunktionalitĂ€t in Master Apache Ignite verfĂŒgbar ist. Sie können erstellen und sehen, wie es funktioniert. Die FunktionalitĂ€t wird in der Version 2.8 Apache Ignite veröffentlicht, die Anfang 2020 veröffentlicht wird.


‹ 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
    Komm! Wir haben fast eine russischsprachige Community, fast alle Mitwirkenden kommen aus Russland, sodass Sie problemlos beitreten und einen Beitrag zu Open Source leisten können.

Material mit einem Sternchen

dev- " ?", API


PrÀsentation - https://www.highload.ru/moscow/2019/abstracts/6111
Video:


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


All Articles