差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

下次修改
前次修改
java:servicewrapper:wrapperactionserver [2017/10/11 17:51]
tony 建立
java:servicewrapper:wrapperactionserver [2023/06/25 09:48] (目前版本)
行 2: 行 2:
 ====== WrapperActionServer ====== ====== WrapperActionServer ======
 ===== Problem ===== ===== Problem =====
-某天有個運氣很好的同事,測試某個功能時,發生Service自己異常中止的問題。經過Trace,發現那台機器被[[https://​www.tenable.com/​products/​nessus-vulnerability-scanner|Nessus]]掃瞄過後,JVM就異常中止了。+某天有個運氣很好的同事,測試某個功能時,發生Service自己異常中止的問題。 
 +===== How to resolve? ===== 
 +==== Trace ==== 
 +經過初步trace,發現那台機器被[[https://​www.tenable.com/​products/​nessus-vulnerability-scanner|Nessus]]掃瞄過後,JVM就異常中止:
 <​code>​ <​code>​
 ERROR  | wrapper ​ | 2017/10/06 16:42:16 | JVM exited unexpectedly. ERROR  | wrapper ​ | 2017/10/06 16:42:16 | JVM exited unexpectedly.
 </​code>​ </​code>​
 +於是我將wrapper log level改為DEBUG,並打開了wrapper ping jvm的log:
 +<​code>​
 +wrapper.logfile.loglevel=DEBUG
 +wrapper.ping.alert.loglevel=DEBUG
 +</​code>​
 +最後發現訊息出現:​
 +<​code>​
 +INFO   | jvm 1    | 2017/10/06 16:42:13 | WrapperManager:​ WARNING: Making JVM appear to be hung...
 +</​code>​
 +這個問題看起來是Nessus連線讓wrapper造成jvm hang住。
 +==== WrapperActionServer ====
 +從WrapperActionServer的javadoc中得知,它可以綁定某個port提供以下功能:​
 +<​code>​
 +S : Shutdown cleanly.
 +H : Immediate forced shutdown.
 +R : Restart
 +D : Perform a Thread Dump
 +U : Unexpected shutdown. (Simulate a crash for testing)
 +V : Cause an access violation. (For testing)
 +G : Make the JVM appear to be hung. (For testing)
 +</​code>​
 +預設情況下是disable的;但假如你都設為enable,就會發生我們所遇到的慘劇。所以怎麼解決?​ 只要enable需要的功能即可。\\
 +\\
 +其實我個人並不推薦使用wrapper這個功能,因為有心人士很容易就把你系統給搞掛了。
 +===== Reference =====
 +  * [[https://​www.tenable.com/​products/​nessus-vulnerability-scanner|Nessus]]
 +  * [[https://​wrapper.tanukisoftware.com/​doc/​english/​example.html|Running the TestWrapper Example Application]]
 +  * [[https://​wrapper.tanukisoftware.com/​doc/​english/​prop-jvm-kill-delay.html|thread dump的問題]]
 +  * [[https://​wrapper.tanukisoftware.com/​jdoc/​org/​tanukisoftware/​wrapper/​WrapperActionServer.html|javadoc - WrapperActionServer]]
 +=====    =====
 +----
 +\\
 +~~DISQUS~~
 +