Gibt es eine vorhandene Einstellung/einen verfügbaren Agentencode, mit der ich Daten sammeln und JMX-Daten einfach an einen Remote-Server weiterleiten kann: Port?JMX-Daten an Remote-Server senden (JMX-Weiterleitung?)
java -DjmxForwardAddr=x.x.x.x -DjmxForwardPort=12345 ... ?
Kontext: Ich verwende Splunk für unternehmensweite Datensuche/Reporting, und möchte es mit einem JMX Zuhörer konfigurieren (der einfache Teil) und Setup irgendwie alle JVMs, dass die Daten nur liefern als JSON/XML/etc zu Splunk.
Ich bin auf der Suche nach einem "Push" -Ansatz, anstatt "Pull" -Methode, wo ich Tausende von Ports zuweisen und verwalten und sie abfragen.
Wir haben viele Apps, und ich möchte eine nette Möglichkeit, den Start nur zu optimieren, um dies zu ermöglichen.
Java und JMX sind keine Dinge, mit denen ich viel Erfahrung habe, also suche ich vielleicht nach falschen Begriffen/falschen Fragen. Ich bin offen für jede bessere Möglichkeit, auch dies zu erreichen.
bearbeiten 2016.09.01:
ich nicht in der Lage gewesen, etwas klein und zuverlässig zu finden, dies zu tun. Durch die Forschung wurde ich auch über diesen Ansatz (der als Java-Agent läuft) besorgt, da jedes Fehlverhalten das Elternprogramm negativ beeinflussen könnte.
Mit einem externen Ansatz würde ich jmxtrans würde die Rechnung passen. Es funktionierte etwas, aber hätte noch einen eigenen Output Writer schreiben müssen, um die Ausgabe für Splunk zu bereinigen.
Momentan gehe ich mit einem Splunk-gelieferten solution voran, der eine konfigurierbare Liste von Zielen abfragt und diese Daten aufnimmt. Kann nicht immer bekommen, was Sie wollen (es sei denn, Sie schreiben es selbst ...)
das sieht hilfreich aus, aber ich suchte nach etwas, das bereits gebaut wurde. –
Meinst du sowas wie appdynamics? –
möglicherweise, obwohl mir das nicht vertraut ist. CA APM (wily/introscope) verfügt über diese Funktionalität, in der die Metriken an einen zentralen Server gesendet werden. –