iT邦幫忙

0

監看tomcat內每個web app的使用狀況

liny 2009-12-26 22:19:5311254 瀏覽

您好:
我想要監看tomcat上的web app,其使用資源狀況(記憶體、連線數、哪個thread或class最busy...)、自動email通知...等,不知道有無網友也有這類需求,並提供相關免費軟體或方法。
謝謝。
tomcat6
JDK5
OS: Solaris

1 個回答

8
fillano
iT邦超人 1 級 ‧ 2009-12-27 09:50:58
最佳解答

可以修改tomecat的啟動參數,加上幾個設定,例如:

<pre class="c" name="code">
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8086
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

這樣會開啟jvm(可能只對sun的jre有效)的jmx功能,開啟8086埠來作為監聽的埠,不開啟ssl也不開啟身份驗證(這是為了方便,如果是已上線的機器,不要這樣設定)。

接下來,可以用jdk裡面附的jconsole來看詳細的資訊,裡面應該有一些你可以用到的東西。

看更多先前的回應...收起先前的回應...
liny iT邦新手 4 級 ‧ 2009-12-28 21:01:00 檢舉

恩~您提供的方法我之前有試過,但感覺不夠詳細,現在則試用virtualvm中,後來看到OpenCore好像更好用,無奈要錢,只好放棄,繼續試用virtualvm,只是不知道可不可以持續將所有狀態紀錄成檔案,類似歷史紀錄,而不是只有某一時間點的snapshot。
謝謝各位熱心的幫助!

liny iT邦新手 4 級 ‧ 2009-12-28 21:13:53 檢舉

liny提到:
您提供的方法我之前有試過

筆誤~是visualvm

fillano iT邦超人 1 級 ‧ 2009-12-29 16:03:34 檢舉

http://stackoverflow.com/questions/242958/best-tools-to-monitor-tomcat
剛剛找了一下,看起來在stackoverflow上面有一些建議,也許您可以參考一下。

fillano iT邦超人 1 級 ‧ 2009-12-30 08:51:56 檢舉

其實這些資訊都是透過jmx發布出來的,內容都一樣,只有client的不同。visualvm除了這些資訊外,對於profiling的支援比較好,這是我的印象。另外,除了找一些現成的解決方案,也許您可以考慮自己寫。這也是一個方法:)

fillano iT邦超人 1 級 ‧ 2009-12-30 09:35:48 檢舉

嗯嗯,回頭看了一下tomcat6.0的手冊,他上面有介紹如何利用ant task來做管理,我想您也可以利用這個方法來做一些log。

https://sec1.woopra.com/docs/monitoring.html

fillano iT邦超人 1 級 ‧ 2009-12-30 09:42:46 檢舉

我要發表回答

立即登入回答