国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

利用VisualVm和JMX遠程監控K8S里的Java進程

willin / 1651人閱讀

摘要:原文地址在利用和遠程監控進程和利用連接的方法里介紹了如何使用監控遠程進程的方法。那么如何監控一個運行在集群中的進程呢其實大致方法也是類似的。

原文地址

在利用VisualVm和JMX遠程監控Java進程和VisualVm利用SSL連接JMX的方法里介紹了如何使用VisualVm+JMX監控遠程Java進程的方法。那么如何監控一個運行在K8S集群中的Java進程呢?其實大致方法也是類似的。

非SSL JMX連接

如果采用非SSL JMX連接,那么你只需要這么幾步就可以讓你本地的VisualVm連接到K8S集群里的Java進程了。

Step1 修改Deployment.yaml,添加以下System Properties

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=1100
-Dcom.sun.management.jmxremote.rmi.port=1100
-Djava.rmi.server.hostname=localhost

注意,-Djava.rmi.server.hostname一定要設置成localhost

Step2 修改Deployment.yaml,添加Container Port

containers:
- name: ...
  image: ...
  ports:
  - containerPort: 1100
    name: tcp-jmx

Step3 部署Deployment

Step4 利用kubectl轉發端口

kubectl -n  port-forward  1100

Step5 啟動VisualVm,創建JMX連接localhost:1100

SSL JMX連接

啟用SSL JMX連接,那么需要增加三個步驟,步驟就稍微復雜一些,假設你已經根據VisualVm利用SSL連接JMX的方法創建好了java-appvisualvm的keystore和truststore。

Step1 創建一個Secret包含java-app.keystorejava-app.truststore

kubectl -n  create secret generic jmx-ssl 
  --from-file=java-app.keystore 
  --from-file=java-app.truststore

Step2 修改Deployment.yaml,把Secret掛載到容器內的/jmx-ssl目錄下

 containers:
 - name: ...
   image: ...
   volumeMounts:
   - name: jmx-ssl-vol
     mountPath: /jmx-ssl
 volumes:
 - name: jmx-ssl-vol
   secret:
     secretName: jmx-ssl

Step3 修改Deployment.yaml,添加以下System Properties

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=1100
-Dcom.sun.management.jmxremote.rmi.port=1100
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=true
-Dcom.sun.management.jmxremote.registry.ssl=true
-Dcom.sun.management.jmxremote.ssl.need.client.auth=true
-Djavax.net.ssl.keyStore=/jmx-ssl/java-app.keystore
-Djavax.net.ssl.keyStorePassword=
-Djavax.net.ssl.trustStore=/jmx-ssl/java-app.truststore
-Djavax.net.ssl.trustStorePassword=
-Djava.rmi.server.hostname=localhost

注意,-Djava.rmi.server.hostname一定要設置成localhost

Step4 修改Deployment.yaml,添加Container Port

containers:
- name: ...
  image: ...
  ports:
  - containerPort: 1100
    name: tcp-jmx
  ...

Step5 部署Deployment

Step6 利用kubectl轉發端口

kubectl -n  port-forward  1100

Step7 啟動VisualVm,創建JMX連接localhost:1100

jvisualvm -J-Djavax.net.ssl.keyStore= 
  -J-Djavax.net.ssl.keyStorePassword= 
  -J-Djavax.net.ssl.trustStore= 
  -J-Djavax.net.ssl.trustStorePassword=
K8S樣例配置文件

相關K8S樣例配置文件在這里(用tomcat做的例子)。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32734.html

相關文章

  • 利用VisualVmJMX遠程監控K8S里的Java進程

    摘要:原文地址在利用和遠程監控進程和利用連接的方法里介紹了如何使用監控遠程進程的方法。那么如何監控一個運行在集群中的進程呢其實大致方法也是類似的。 原文地址 在利用VisualVm和JMX遠程監控Java進程和VisualVm利用SSL連接JMX的方法里介紹了如何使用VisualVm+JMX監控遠程Java進程的方法。那么如何監控一個運行在K8S集群中的Java進程呢?其實大致方法也是類似的...

    Caicloud 評論0 收藏0
  • 獲取遠程服務器上 Java 進程的運行狀態

    摘要:為了安全考慮有些服務器會被限制登錄本文介紹如何獲取遠程服務器上進程的運行狀態啟動服務在服務器端啟動服務后遠程的機器可以通過協議獲取服務器上程序的運行狀態在服務器上創建的授權文件假設文件路徑為內容如下如果你的目錄不是的話請改為正確的值接下來通 為了安全考慮, 有些服務器會被限制登錄. 本文介紹如何獲取遠程服務器上 Java 進程的運行狀態. 啟動 jstatd 服務 在服務器端啟動 ...

    cartoon 評論0 收藏0
  • JVM詳解3.JDK監控故障處理工具

    摘要:點擊進入我的博客命令行工具這些工具大多數是類庫的一層薄的包裝,它們的主要功能代碼是在類庫中實現的。可視化工具是到目前為止隨發布的功能最強大的運行監視和故障處理程序,并且可以預見在未來一段時間內都是官方主力發展的虛擬機故障處理工具。 點擊進入我的博客 3.1 JDK命令行工具 showImg(https://segmentfault.com/img/remote/14600000174...

    Keven 評論0 收藏0
  • OM引起你的注意了嗎?

    摘要:引曾幾何時這句話總是在你的程序中出現,新手到是什么問題后就去改了內存大小還總是分不清楚,想的是總之設大點我就看不到這個錯誤了。稍微有點經驗的會翻翻看看什么地方會出現內存泄露,當然也會改參數,但會有節制的改了。 引 曾幾何時java.lang.OutOfMemoryError: Java heap space這句話總是在你的程序中出現,新手search到是什么問題后就去改了內存大小還總...

    loonggg 評論0 收藏0
  • Jstatd方式遠程監控Linux下 JVM運行情況

    摘要:能夠提供被監控虛擬機的內存線程類的加載以及等信息,從而能夠對服務器的運行情況進行實時監控。目前支持兩種監控方法方法和基于的方法。下一篇博客講解以方式實現遠程監控。 轉自:http://www.cnblogs.com/catkin...介紹兩個jdk1.8自帶的可視化監視工具 Jconsole: Java 6.x采用JMX方式提供了一系列監視和管理虛擬機的API,隨SDK一起發布的JCo...

    hedge_hog 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<