Jolokia ilə JMX-i HTTP proksisi vasitəsilə oxumaq
Monitorinq müştərisi irəli veb-proksidən keçməlidirsə, Jolokia-nın HTTP interfeysindən istifadə edin; proksi və idarəetmə etimadnamələri ayrı olsun.
Əgər Java yerləşdirməsi artıq icazəli Jolokia son nöqtəsini təqdim edirsə, monitorinq müştərisi adi HTTP irəli proksisi vasitəsilə JMX atributlarını oxuya bilər. Müştəri Jolokia ilə HTTP üzərindən danışır, Jolokia isə JMX əməliyyatını tətbiq tərəfində yerinə yetirir.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Bu marşrut HTTP dəstəkli idarəetmə son nöqtəsi tələb edir. Dəyişdirilməmiş yerli JMX müştərisini veb-proksiyə yönəltmək belə bir son nöqtə yaratmır.
Məsələn, JVM-in heap istifadəsinin oxunması POST sorğusu kimi ifadə edilə bilər:
curl --proxy http://proxy.example.net:8080 \
--header 'Content-Type: application/json' \
--data '{"type":"read","mbean":"java.lang:type=Memory","attribute":"HeapMemoryUsage","path":"used"}' \
https://monitor.example.net/jolokia/
Son nöqtə və proksi yer tutucudur. Bu, oxuma əməliyyatından istifadə edir; HTTP POST metodu JMX yazısını nəzərdə tutmaq əvəzinə Jolokia-nın JSON sorğusunu daşıyır. Jolokia sadə əməliyyatlar üçün GET sorğularını da dəstəkləyir, JSON POST isə mürəkkəb MBean adları üçün lazım olan URL escapingin bir hissəsindən qaçır.
HTTPS idarəetmə son nöqtəsi üçün irəli proksi müvafiq tunnel təyinatına icazə verməlidir. TLS yenə də monitor.example.net yoxlamalıdır. Proksinin öz host adı və sertifikatı, əgər proksi bağlantısı özü TLS istifadə edirsə, ayrı bir hop təsvir edir.
İki autentifikasiya qərarını ayrı saxlayın. curl-un proksi-autentifikasiya seçimləri proksi hesabı verir. Son nöqtənin autentifikasiyası idarəetmə şəxsiyyətini verir, Jolokia siyasəti isə hansı MBean və əməliyyatlara çıxışın olduğunu müəyyən edir. İrəli proksidən istifadə icazəsi JVM-i idarə etmək icazəsi deyil.
Cavabın da iki qatı var: HTTP nəqliyyat statusu və Jolokia-nın JSON əməliyyat nəticəsi. Hər hansı gövdəni uğurlu metrik kimi qəbul etmək əvəzinə qaytarılan status və value yoxlayın. Proksi xətaları, son nöqtə autentifikasiya uğursuzluqları və çatışmayan MBean-lər fərqli dəyişikliklər tələb edir.
Əgər yerləşdirmə yalnız yerli JMX konnektorunu təqdim edirsə, həmin konnektorla uyğun marşrut seçin və ya təsdiqlənmiş HTTP idarəetmə son nöqtəsi təşkil edin. SSH lokal yönləndirmə başqa nəqliyyat dizaynıdır, lakin o, yerli xidmətə bağlantı olaraq qalır; protokolunu Jolokia-nın HTTP API-sinə çevirmir.