Jolokia аркылуу HTTP проксиден JMX окуу
Мониторинг кардары алдыңкы веб-проксиден өтүшү керек болгондо Jolokia'нын HTTP интерфейсин колдонуңуз, прокси жана башкаруу каттоо маалыматтары өзүнчө болсун.
Эгер Java жайгаштыруу мурунтан эле уруксат берилген Jolokia бүтүүчү чекитин көрсөтүп турса, мониторинг кардары кадимки алдыңкы HTTP прокси аркылуу JMX атрибуттарын окуй алат. Кардар Jolokia менен HTTP аркылуу сүйлөшөт, ал эми Jolokia JMX операциясын колдонмо тарапта аткарат.
monitor → HTTP proxy → HTTPS Jolokia endpoint → MBean
Бул жолго HTTP колдогон башкаруу бүтүүчү чекити керек. Өзгөртүлбөгөн жергиликтүү JMX кардарын веб-проксиге багыттоо аны түзбөйт.
Мисалы, JVM'дин heap колдонулушун окууну 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 JMX жазуусун билдирбей, Jolokia'нын JSON сурамын ташыйт. Jolokia жөнөкөй операциялар үчүн GET сурамдарын да колдойт, ал эми JSON POST татаал MBean аттары үчүн керектүү URL escape'тин бир бөлүгүнөн качат.
HTTPS башкаруу бүтүүчү чекити үчүн алдыңкы прокси тиешелүү туннель дарегине уруксат бериши керек. TLS дагы эле monitor.example.net текшериши керек. Проксинин өз хост аты жана сертификаты, эгер прокси байланышы өзү TLS колдонсо, өзүнчө секирүүнү сүрөттөйт.
Эки аутентификация чечимин өзүнчө кармаңыз. curl'дун прокси-аутентификация параметрлери прокси эсебин берет. Бүтүүчү чекиттин аутентификациясы башкаруу идентитетин берет, ал эми Jolokia'нын саясаты кайсы MBean жана операцияларга жетүүнү аныктайт. Алдыңкы проксини колдонуу уруксаты JVM'ди башкаруу уруксаты эмес.
Жооптун да эки катмары бар: HTTP ташуу абалы жана Jolokia'нын JSON операция жыйынтыгы. Кайтарылган status жана value текшериңиз, каалаган денени ийгиликтүү метрика деп кабыл албастан. Прокси каталары, бүтүүчү чекит аутентификациясынын ийгиликсиздиктери жана жок MBean'дер ар башка өзгөртүүлөрдү талап кылат.
Эгер жайгаштыруу тек жергиликтүү JMX туташтыргычын көрсөтсө, ошол туташтыргычка шайкеш жолду тандаңыз же бекитилген HTTP башкаруу бүтүүчү чекитин уюштуруңуз. SSH жергиликтүү багыттоо — башка ташуу дизайны, бирок ал жергиликтүү кызматка туташуу бойдон калат; анын протоколун Jolokia'нын HTTP API'сине айландырбайт.