JMX-ის წაკითხვა HTTP პროქსის გავლით Jolokia-ს საშუალებით
გამოიყენეთ Jolokia-ს HTTP ინტერფეისი, როცა მონიტორინგის კლიენტმა წინა ვებ-პროქსი უნდა გადაკვეთოს, პროქსისა და მართვის ცალკეული სერტიფიკატებით.
თუ Java-ის განლაგება უკვე ავლენს ავტორიზებულ Jolokia-ს საბოლოო წერტილს, მონიტორინგის კლიენტს შეუძლია JMX ატრიბუტების წაკითხვა ჩვეულებრივი წინა HTTP პროქსის გავლით. კლიენტი 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 Jolokia-ს JSON მოთხოვნას ატარებს და არ ნიშნავს JMX ჩაწერას. Jolokia ასევე მხარს უჭერს GET მოთხოვნებს მარტივი ოპერაციებისთვის, ხოლო JSON POST თავს არიდებს რთული MBean სახელებისთვის საჭირო URL ესკაპირების ნაწილს.
HTTPS მართვის საბოლოო წერტილისთვის წინა პროქსიმ უნდა დაუშვას შესაბამისი გვირაბის დანიშნულება. TLS მაინც უნდა ამოწმებდეს monitor.example.net-ს. თავად პროქსის ჰოსტის სახელი და სერტიფიკატი, თუ პროქსის კავშირი თავად იყენებს TLS-ს, ცალკე ნახტომს აღწერს.
შეინახეთ ორი ავთენტიფიკაციის გადაწყვეტილება ცალკე. curl-ის პროქსი-ავთენტიფიკაციის პარამეტრები პროქსი ანგარიშს იძლევა. საბოლოო წერტილის ავთენტიფიკაცია მართვის იდენტურობას იძლევა, ხოლო Jolokia-ს პოლიტიკა განსაზღვრავს, რომელ MBean-ებსა და ოპერაციებზეა წვდომა. წინა პროქსის გამოყენების ნებართვა JVM-ის ადმინისტრირების ნებართვა არ არის.
პასუხსაც ორი ფენა აქვს: HTTP ტრანსპორტის მდგომარეობა და Jolokia-ს JSON ოპერაციის შედეგი. შეამოწმეთ დაბრუნებული status და value, ნებისმიერი სხეულის წარმატებულ მეტრიკად მიღების ნაცვლად. პროქსის შეცდომები, საბოლოო წერტილის ავთენტიფიკაციის წარუმატებლობები და არარსებული MBean-ები სხვადასხვა ცვლილებას მოითხოვს.
თუ განლაგება მხოლოდ ბუნებრივ JMX კონექტორს ავლენს, აირჩიეთ ამ კონექტორთან თავსებადი გზა ან მოაწყვეთ დამტკიცებული HTTP მართვის საბოლოო წერტილი. SSH ლოკალური გადამისამართება ტრანსპორტის სხვა დიზაინია, მაგრამ რჩება კავშირად ბუნებრივ სერვისთან; ის მის პროტოკოლს Jolokia-ს HTTP API-ად არ ცვლის.