Bir Java dağıtımı zaten yetkilendirilmiş bir Jolokia uç noktası sunuyorsa, izleme istemcisi sıradan bir ön uç HTTP proxy'si üzerinden JMX özniteliklerini okuyabilir. İstemci Jolokia ile HTTP konuşur; Jolokia JMX işlemini uygulama tarafında gerçekleştirir.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Bu yol, HTTP destekli bir yönetim uç noktası gerektirir. Değiştirilmemiş yerel bir JMX istemcisini web proxy'sine yöneltmek böyle bir uç nokta oluşturmaz.

Örneğin, JVM'nin heap kullanımının okunması bir POST isteği olarak ifade edilebilir:

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/

Uç nokta ve proxy yer tutucudur. Bu, bir okuma işlemi kullanır; HTTP POST yöntemi JMX yazımı ima etmek yerine Jolokia'nın JSON isteğini taşır. Jolokia basit işlemler için GET isteklerini de destekler; JSON POST ise karmaşık MBean adları için gereken URL kaçışının bir kısmından kaçınır.

HTTPS yönetim uç noktası için ön uç proxy'nin ilgili tünel hedefine izin vermesi gerekir. TLS yine de monitor.example.net adresini doğrulamalıdır. Proxy'nin kendi ana bilgisayar adı ve sertifikası, proxy bağlantısı TLS kullanıyorsa ayrı bir atlamayı tanımlar.

İki kimlik doğrulama kararını ayrı tutun. curl'ün proxy kimlik doğrulama seçenekleri bir proxy hesabı sağlar. Uç noktanın kimlik doğrulaması yönetim kimliğini sağlar ve Jolokia'nın politikası hangi MBean'lere ve işlemlere erişilebileceğini belirler. Ön uç proxy'sini kullanma izni, JVM'i yönetme izni değildir.

Yanıtın da iki katmanı vardır: HTTP taşıma durumu ve Jolokia'nın JSON işlem sonucu. Dönen status ve value değerlerini inceleyin; herhangi bir gövdeyi başarılı ölçüm olarak kabul etmeyin. Proxy hataları, uç nokta kimlik doğrulama hataları ve eksik MBean'ler farklı değişiklikler gerektirir.

Dağıtım yalnızca yerel bir JMX bağlayıcısı sunuyorsa, o bağlayıcıyla uyumlu bir yol seçin veya onaylanmış bir HTTP yönetim uç noktası hazırlayın. SSH yerel yönlendirmesi başka bir taşıma tasarımıdır, ancak yerel hizmete bağlantı olarak kalır; protokolünü Jolokia'nın HTTP API'sine dönüştürmez.

İlgili makaleler