1. 程式人生 > >jmx+jconsole遠端監視tomcat的jvm

jmx+jconsole遠端監視tomcat的jvm

進入tomcat的bin目錄編輯shell

vi catalina.sh

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=XXXXX -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=jmxremote.password -Dcom.sun.management.jmxremote.access.file=jmxremote.access"

也可以把這段話加入JAVA_OPTS

注意-Djava.rmi.server.hostname=XXXXX 一定要加。網上很多資料沒有寫這段,我想是因為本地連線不需要。

-Dcom.sun.management.jmxremote.authenticate=true 也可以改成false,這樣可以省去認證環節。

mxremote.password和jmxremote.access 是認證需要的檔案,可以從java_home/jre/lib/management 裡考一份到tomcat的bin下面

編輯 mxremote.password設定密碼,例如

monitorRole 123
controlRole  123

然後在本地機器開啟java_home/bin/jconsole
選擇遠端連線

輸入 XXXXX:8888

使用者名稱:controlRole

密碼:123

連進去試試看,如果不成功可以檢視下8888埠是否開啟

netstat -anp|grep 8888

這條命令也可以檢視佔用8888埠的程序號。

接著可以用jconsole開啟圖形介面來觀察資料,注意MBean這個tab。

裡面的屬性對應這zabbix的item,很多人說zabbix整合的tomcat模板有問題。

其實就是模板裡設定的item的Key與下圖的objectName不一致。例如下面這個例子,模板中的name我記得原來好像是“http-8080”

zabbix要想正確讀取jmx傳來的資料,還需要配置zabbix_java_gateway。

vi zabbix_java_gateway.conf

# This is a configuration file for Zabbix Java Gateway.
# It is sourced by startup.sh and shutdown.sh scripts.

### Option: zabbix.listenIP
#       IP address to listen on.
#
# Mandatory: no
# Default:
LISTEN_IP="127.0.0.1"

### Option: zabbix.listenPort
#       Port to listen on.
#
# Mandatory: no
# Range: 1024-32767
# Default:
LISTEN_PORT=10052

### Option: zabbix.pidFile
#       Name of PID file.
#       If omitted, Zabbix Java Gateway is started as a console application.
#
# Mandatory: no
# Default:
# PID_FILE=

PID_FILE="/var/run/zabbix/zabbix_java.pid"
LogFile=/mnt/erp/log/zabbix/zabbix_java_gateway.log
### Option: zabbix.startPollers
#       Number of worker threads to start.
#
# Mandatory: no
# Range: 1-1000
# Default:
START_POLLERS=5

儲存後,啟動gateway即可

/etc/init.d/zabbix-java-gateway

成功之後,去zabbix的web頁面配置下


確認到jmx的標記綠了,說明成功了

當然,配置失敗的可能性會很大。

失敗的情況下可以用一下命令除錯。

zabbix_get -s XXX.XXX.XXX.XX  -p 1234 -k jmx["org.dozer.jmx:type=ThreadPool,name=\"http-bio-8080\"",currentThreadCount]

或者

java -jar /root/cmdline-jmxclient-0.10.3.jar  - XXX.XXX.XXX.XX:1234 java.lang:type=Memory NonHeapMemoryUsage

比如說,["]需要轉義。

相關推薦

jmx+jconsole遠端監視tomcat的jvm

進入tomcat的bin目錄編輯shell vi catalina.sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=XXXXX -Dcom.

tomcat 配置開啟 jconsole 遠端監控 linux上

  [[email protected] bin]# vim catalina.sh   搜尋 ---- Execute The Requested Command --------- /- Execute The Requested Command -

JMX實現遠端伺服器Tomcat系統監控之三

前面兩篇JMX遠端監控Tomcat伺服器是沒配置密碼的,下面介紹在Tomcat監控時配置使用者密碼。 具體Tomcat地址:http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html#Enabling_JMX_Rem

IDEA安裝使用 VisualVM 及VisualVM 遠端監視

1. VisualVM是什麼 按照VisualVM官網(http://visualvm.github.io/)上的介紹,VisualVM是一個整合命令列JDK工具和輕量級分析功能的視覺化工具。專為開發和生產時間使用而設計。 我們在jdk安裝包中也可以發現它 2. IDEA安裝VisualVM外掛

jconsole遠端連線tomcat的jvm

1、在tomcat目錄下修改cataline.sh檔案,增加jvm引數配置 JAVA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.0.237 -Dcom.sun.manag

Jconsole遠端連線

  根據oracle網站上的文件,本地使用jconsole沒有問題。但當我從windows連線到linux時(centos5.4)時,老是連線不上)。原因是Linux上JVM給jconsole的RMI配置檔案不對, jvm使用了hostname -i的IP地址,我的/et

【Linux運維入門】JMX方式遠端監控Linux下JVM執行情況

這篇部落格以JBoss伺服器為例,介紹JMX以方式如何配置,以遠端連線伺服器,檢視JVM執行情況。其他伺服器如Tomcat等類似。 執行環境 1. 伺服器:CentOS 7(最小化安裝) i

PLC遠端通訊功能集錦(網際網路、區域網)(PLC遠端監控,PLC遠端監視,PLC手機監控)

遠端運維: 目前機械裝置普遍存在問題如下: l  對於大多數PLC機械裝置的故障診斷,基本上由人工去完成。 2  裝置故障大部分是操作人員操作失誤或軟體故障引起的。 3  售後人員無法判斷裝置的故障

使用Jconsole遠端監控Linux系統中java伺服器

在Linux的伺服器啟動項中新增如下資訊: -Djava.rmi.server.hostname=192.168.1.101 -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=1090 -

VisualVM通過JMX訪問遠端連線不了的問題

如題 折騰了四五個小時,一直連線不了,查了好多資料,顛來倒去都是那麼幾種配置方式。 該修改的地方都已經做了修改,ping也可以通,telnet ip 埠  也是可以的。 很多人都說是hostname的問題。嘗試修改後無果。 最終發現瞭解決辦法就是把防火牆關掉。 原因呢?如下

jconsole遠端監控Linux tomcat和weblogic

最近對程式進行了優化,準備拿到 Linux的虛擬機器上做一下壓力測試,碰到了一些問題,所以想看看程式的狀況,想到了Jconsole。Linux上不方便看啊,所以只能遠端。以前配置過,但感覺並不是對所有都適用。這裡結合別人的整理一下。 環境:Linux  WebLogic12c 1、修改WLS配置檔案wind

Jconsole連線遠端Jetty,效能監控(jvisualvm.exe的jmx遠端連線)

一:Jconsole連線遠端Jetty() 1. # vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=yourname //在這修改hostname NISDOMAIN=eng-cn.platform.com

轉 : jconsole 和jvisualVM 監控遠端 spring boot程式

監控java 程式 增加啟動引數  java  \ -Djava.rmi.server.hostname=192.168.2.39 \ -Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port=1099 \

jconsole監控遠端執行在centos上的spring boot程式

1.定義環境變數 由於需要設定的java啟動引數較多,故而將其設定到環境變數中,在/etc/profile 最後一行增加 export JAVA_OPTS='-Djava.rmi.server.hostname=192.105.90.192 -Dcom.sun.ma

JAVA萬能遠端測試JMX方法

這個指令碼的好處就是提供了一個工具遠端測試JMX暴露的方法。我是小順,請大家關注我,我會給大家發更多的工具。 import java.io.IOException; import java.net.MalformedURLException; import javax.manageme

jconsole監控遠端spring boot程式

一、定義java環境變數          1、vim /etc/profile             在最後一行新增: export JAVA_OPTS='-Dja

jconsole 和jvisualVM 監控遠端 spring boot程式

 在網上看了大部分教程都沒有jconsole 和jvisual 對jar 包 的監控,要麼是沒有效果。 監控java 程式 增加啟動引數  java  \ -Djava.rmi.server.host

VisualVM監控遠端Linux主機上的JAVA應用程式(JMX方式)

我本地是Windows系統,Windows+r,輸入cmd,進入黑視窗輸入Jvisualvm,回車 同時彈出視覺化監控介面 VisualVM可以監控本地JVM執行情況,也可以監控遠端機器上的JVM執行情況。 本地監控無需配置,只要開啟某個JAVA程式就會自動的加入到本地

使用JvisualVM監控遠端tomcat--jmx連線

剛開始按照別人的方法一直報錯 然後自己理清了思路,如下: 1、首先確保執行 hostname -i 顯示的IP 是你要連線的IP,如果不是修改/etc/hosts檔案 2、修改/usr/local/tomcat/bin 下的 catalina.sh檔案 找到JAVA_OP

使用Jconsole監控遠端Linux上的JVM

因為linux不支援圖形介面,因此只能在windows機器上,使用jconsole監控遠端的java程式。具體配置步驟如下:  1,首先配置環境,需要保證 /etc/hosts 檔案中設定了本機IP和域名的對映關係,原因可以檢視這裡:  http://my.oschina.net/chen106106/bl