2016-12-07 27 views
1

我注意到我的wso2應用程序中有一個非常奇怪的行爲(esb 4.9,AM 1.10和GREG 5.0.0) 每一次elasticsearch/logstash都會停止所有碳應用程序凍結。 他們變得完全沒有響應,並停止他們的唯一方法是發送kill -9WSO2 log4j和elasticsearch:所有的碳應用程序凍結

我的conf是非常標準的(見下文),或者我在想,如果我失去了一些東西,如果別人發現了同樣的問題。

log4j.rootLogger=INFO, CARBON_CONSOLE, CARBON_LOGFILE, CARBON_MEMORY,tcp 

log4j.appender.tcp=org.apache.log4j.net.SocketAppender 
log4j.appender.tcp.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout 
log4j.appender.tcp.layout.ConversionPattern=[%d] %P%5p {%c} – %x %m%n 
log4j.appender.tcp.layout.TenantPattern=%U%@%D[%T] 
log4j.appender.tcp.Port=6000 
log4j.appender.tcp.RemoteHost=localhost 
log4j.appender.tcp.ReconnectionDelay=10000 
log4j.appender.tcp.threshold=DEBUG 
log4j.appender.tcp.Application=esb500wso2carbon 

回答

0

文檔什麼說:

記錄事件是由本地TCP 實現自動緩衝。這意味着如果到服務器的鏈接速度較慢,但​​ 仍然比客戶端的(日誌)事件產生速率更快,則客戶端不會受到網絡連接速度較慢的影響。 但是,如果網絡連接速度較慢,則產生事件的速率爲 ,那麼客戶端只能以網絡速率進行。特別是在 中,如果到服務器的網絡鏈接關閉,則客戶端 將被阻止。另一方面,如果網絡鏈接處於啓動狀態,但服務器處於關閉狀態,則在進行日誌 請求時,客戶端不會被阻止,但由於服務器不可用,日誌事件將會丟失。

但在我的情況下,即使在「服務器關閉」,客戶有時會阻止,因爲許多Java線程被阻塞在同一個鎖對象

,看一下JMSAppender或AsyncAppender

0

根據WS02是一個錯誤。 它不影響版本5.x 成功測試的建議解決方法是使用filebeat代替:( 不理想,但它的工作原理