Αν μια ανάπτυξη 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 καθορίζει σε ποια MBeans και λειτουργίες έχει πρόσβαση. Η άδεια χρήσης του μπροστινού διακομιστή μεσολάβησης δεν είναι άδεια διαχείρισης της JVM.

Η απόκριση έχει επίσης δύο επίπεδα: κατάσταση μεταφοράς HTTP και αποτέλεσμα λειτουργίας JSON του Jolokia. Εξετάστε τα status και value που επιστράφηκαν αντί να δεχτείτε οποιοδήποτε σώμα ως επιτυχή μετρική. Σφάλματα μεσολάβησης, αποτυχίες ελέγχου ταυτότητας τελικού σημείου και MBeans που λείπουν απαιτούν διαφορετικές αλλαγές.

Αν η ανάπτυξη εκθέτει μόνο εγγενή σύνδεσμο JMX, επιλέξτε διαδρομή συμβατή με αυτόν τον σύνδεσμο ή κανονίστε εγκεκριμένο τελικό σημείο διαχείρισης HTTP. Η τοπική προώθηση SSH είναι άλλος σχεδιασμός μεταφοράς, αλλά παραμένει σύνδεση με την εγγενή υπηρεσία· δεν αλλάζει το πρωτόκολλό της σε HTTP API του Jolokia.

Σχετικά άρθρα