ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Prometheus JMX Exporter 1.6.0 β ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π½ΠΎΡΠΈΡΠ΅Π», ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΡΡΠ±ΠΈΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ JMX MBean ΠΎΡ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈΠΌ ΠΊΠ°ΡΠΎ Prometheus ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π‘ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, JMX Exporter ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· OpenTelemetry. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache-2.0.
JMX ΠΈΠ·Π½ΠΎΡΠΈΡΠ΅Π» ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°: ΠΊΠ°ΡΠΎ Java Π°Π³Π΅Π½Ρ Π² ΡΠ΅Π»Π΅Π²Π°ΡΠ° JVM, ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ Π΅ΠΊΡΠΏΠΎΡΡΠ΅Ρ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ JMX/RMI ΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Ρ Java Π°Π³Π΅Π½Ρ Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅ΠΊΡΠΏΠΎΡΡΠ΅ΡΠΈ Π² Π΅Π΄Π½Π° JVM. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎΡΠΎΡΠ²Π° Java Π°Π³Π΅Π½ΡΠ° ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ JMX/RMI.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ
ΠΡΡ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ.
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ HTTP ΠΏΡΡ Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠ΅ΡΠ°, Π·Π° Π΄Π° Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΡΠ΅Π΄ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° /metrics Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΎ Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ingress/service mesh ΠΈΠ»ΠΈ ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΅ΠΊΡΠΏΠΎΡΡΠ΅ΡΠΈ ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠΊΡΠΈ.ΠΠ°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ.
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π·Π°ΡΠΈΠ»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Ρ ΠΏΠ°ΡΠΎΠ»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. Π’ΠΎΠ²Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠΈΡΠΊΠ° ΠΎΡ ΠΎΠΏΠΈΡ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°Ρ Π΄Π° ΠΎΡΠ³Π°ΡΠ½Π΅ ΠΏΠ°ΡΠΎΠ»Π°, ΠΊΠ°ΡΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅Π½Π°ΡΠ° Π·Π° ΡΠ΅Π°ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ.Π€ΠΈΠΊΡΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° PBKDF2.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π»ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π² Π±ΠΈΡΠΎΠ²Π΅ Π·Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ PBKDF2. ΠΡΠ΅ΡΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΡ Π΅ΠΌΠΈ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΠΈΡΡΡ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ ΠΊΠ°ΡΠΎ PKDF2, Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ PBKDF2.Π€ΠΈΠΊΡΠΈΡΠ°Π½ΠΎ LRU ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ.
ΠΠ°ΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠ° Π΅ΠΊΡΠΏΠΎΡΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½ ΠΎΡ Prometheus ΡΠ΅ΡΡΠΎ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠ΅Ρ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ.ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ 1.6.0 ΠΎΠΏΠΈΡΠ²Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° JMX Exporter, ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, Π±ΡΡΠ·ΠΈΡ ΡΡΠ°ΡΡ, YAML ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, HTTP Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ, SSL, OpenTelemetry ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΡΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΎΡ Π²Π΅ΡΡΠΈΡ 1.6.0 ΡΠ° ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ.ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ.
ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½Π° ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ°: ΡΠ°ΠΊΠΈΠ²Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Ρ Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Ρ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΡΠΈΡΠΊΠ° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π²Π΅ΡΠΈΠ³Π°ΡΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ.ΠΠ΅ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ ΠΎΠ±ΡΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΠ»ΠΈ Javadoc, ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ ΡΠ° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Ρ ΡΠ΅ΡΡΠΎΠ²Π΅, ΡΠ°Π·ΡΠΈΡΠΈΠ»ΠΈ ΡΠ° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΈ ΡΠ° ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, JMX Π΅ΠΊΡΠΏΠΎΡΡΠ΅Ρ 1.6.0 ΠΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π° Π²Π΅ΡΡΠΈΡ: Π±Π΅Π· Π³ΠΎΠ»Π΅ΠΌΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π½ΠΎ Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ - Π³ΡΠ²ΠΊΠ°Π²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅, ΠΏΠΎ-ΡΠΈΠ»Π½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
