Čtení JMX přes HTTP proxy pomocí Jolokia
Použijte HTTP rozhraní Jolokia, když musí monitorovací klient projít přes dopřednou webovou proxy, s oddělenými přihlašovacími údaji pro proxy a správu.
Pokud nasazení Java již vystavuje autorizovaný koncový bod Jolokia, může monitorovací klient číst atributy JMX přes běžnou dopřednou HTTP proxy. Klient mluví HTTP s Jolokia, která provádí operaci JMX na straně aplikace.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Tato cesta potřebuje koncový bod správy schopný HTTP. Nasměrování nezměněného nativního klienta JMX na webovou proxy jej nevytvoří.
Například čtení využití haldy JVM lze vyjádřit jako požadavek POST:
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/
Koncový bod a proxy jsou zástupné. Toto používá operaci čtení; metoda HTTP POST nese JSON požadavek Jolokia, nikoli že by znamenala zápis JMX. Jolokia podporuje také požadavky GET pro jednoduché operace, zatímco JSON POST se vyhýbá části escapování URL potřebného pro složité názvy MBean.
Pro koncový bod správy HTTPS musí dopředná proxy povolit příslušný cíl tunelu. TLS by stále mělo ověřovat monitor.example.net. Vlastní název hostitele a certifikát proxy, pokud samotné připojení k proxy používá TLS, popisují samostatný skok.
Držte obě rozhodnutí o autentizaci odděleně. Možnosti autentizace proxy v curl poskytují účet proxy. Autentizace koncového bodu poskytuje identitu správy a zásada Jolokia určuje, ke kterým MBeanům a operacím má přístup. Oprávnění používat dopřednou proxy není oprávnění spravovat JVM.
Odpověď má také dvě vrstvy: stav transportu HTTP a výsledek operace JSON v Jolokia. Zkontrolujte vrácené status a value, místo abyste jakékoli tělo přijali jako úspěšnou metriku. Chyby proxy, selhání autentizace koncového bodu a chybějící MBeany vyžadují různé změny.
Pokud nasazení vystavuje pouze nativní konektor JMX, zvolte cestu kompatibilní s tímto konektorem nebo zajistěte schválený koncový bod správy HTTP. Lokální přesměrování SSH je jiný návrh transportu, ale zůstává připojením k nativní službě; nemění její protokol na HTTP API Jolokia.