Ако дадено Java внедряване вече предоставя оторизирана крайна точка Jolokia, клиент за мониторинг може да чете атрибути на JMX през обикновен преден HTTP прокси. Клиентът говори HTTP с Jolokia, която извършва JMX операцията от страната на приложението.

monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean

Този маршрут изисква крайна точка за управление с поддръжка на HTTP. Насочването на непроменен вграден JMX клиент към уеб проксито не създава такава.

Например четене на използването на хийпа на JVM може да се изрази като 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/

Крайната точка и проксито са заместители. Тук се използва операция за четене; HTTP методът POST носи JSON заявката на Jolokia, а не предполага JMX запис. Jolokia поддържа и GET заявки за прости операции, докато JSON POST избягва част от екранирането на URL, нужно за сложни имена на MBean.

За крайна точка за управление по HTTPS предното прокси трябва да разрешава съответната дестинация на тунела. TLS все още трябва да проверява monitor.example.net. Собственото име на хост и сертификат на проксито, ако самата прокси връзка използва TLS, описват отделен хоп.

Дръжте двете решения за удостоверяване отделно. Опциите за прокси удостоверяване на curl предоставят прокси акаунт. Удостоверяването на крайната точка предоставя идентичността за управление, а политиката на Jolokia определя кои MBean и операции са достъпни. Разрешението за използване на предното прокси не е разрешение за администриране на JVM.

Отговорът също има два слоя: транспортния статус на HTTP и резултата от JSON операцията на Jolokia. Проверявайте върнатите status и value, вместо да приемате всяко тяло за успешна метрика. Прокси грешките, неуспехите при удостоверяване на крайната точка и липсващите MBean изискват различни промени.

Ако внедряването предоставя само вграден JMX конектор, изберете маршрут, съвместим с този конектор, или осигурете одобрена крайна точка за HTTP управление. Локалното пренасочване по SSH е друг транспортен дизайн, но остава връзка към вградената услуга; то не променя протокола ѝ на HTTP API на Jolokia.

Подобни статии