簡體   English   中英

將 JMX 數據發送到遠程服務器(JMX 轉發器?)

[英]send JMX data to remote server (JMX forwarder?)

是否有現有的設置/代理/代碼可以讓我收集JMX 數據並將其輕松轉發到遠程服務器:端口

java -DjmxForwardAddr=x.x.x.x -DjmxForwardPort=12345 ... ?

上下文:我正在使用 Splunk 進行企業數據搜索/報告,並希望使用 JMX 偵聽器(最簡單的部分)對其進行配置,並以某種方式設置所有 JVM,以便將數據作為 JSON/XML/etc 傳送到 Splunk

我正在尋找一種“推”方法,而不是“拉”方法,在這種方法中我分配和管理數千個端口並輪詢它們。

我們有很多應用程序,我想要一個很好的方法來調整啟動以啟用它。

Java 和 JMX 不是我有很多專業知識的東西,所以也許我正在尋找錯誤的術語/提出錯誤的問題。 我也願意接受任何更好的方法來解決這個問題。

編輯 2016/09/01:

我一直無法找到任何小而可靠的東西來做到這一點。 通過研究,我也開始關注這種方法(作為 Java 代理運行),因為任何不當行為都可能對父程序產生負面影響。

采取外部方法,我認為jmxtrans會符合要求。 它有點工作,但仍需要編寫自定義輸出編寫器來清理 Splunk 的輸出。

目前,我正在推進 Splunk 提供的解決方案,該解決方案輪詢可配置的目標列表並攝取該數據。 不能總是得到你想要的(除非你自己寫......)

我在 zabbix 上遇到了類似的問題。 它曾經從打開大量端口的 Java 應用程序中讀取(拉取)JMX 數據。 這里的問題是,在生產環境中,無法保證這些端口是否在防火牆之后。 為了解決這個問題,我們使用了Jolokia Jolokia 作為另一個應用程序(如果您使用的是 tomcat 等)與您的應用程序一起運行。 或者,如果您的應用程序是一個普通的 Java 應用程序,則可以將其用作類路徑中的 jar(即與現有 Java 應用程序集成非常簡單)。 它通過 HTTP (JSON) 公開 JMX 數據。 所以,如果 Splunk 有任何可以通過 HTTP 讀取數據的插件,你會很高興。

使用 ElasticStack,您可以使用 MetricBeats 通過 Jolokia 在本地輪詢您的 JMX,然后 NetricBeat 可以轉發到 Logstash 端點。 我認為您可以配置為類似地轉發到 Splunk。 通過這種方式,輪詢配置可以通過 Metricbeat 配置在本地進行控制,而不是在 Splunk 服務器中進行遠程控制。 根據中央日志收集器如何控制管理員訪問和配置,可能會更好地工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM