Debian服務器上WebLogic日志分析實用技巧
在Debian系統中,WebLogic的日志文件遵循標準路徑結構,需首先確認位置以便后續分析:
$MW_HOME/user_projects/domains/<domain_name>/servers/<server_name>/logs/<server_name>.log
(如AdminServer.log
)。$MW_HOME/user_projects/domains/<domain_name>/servers/<server_name>/logs/access.log
。$MW_HOME/user_projects/domains/<domain_name>/servers/AdminServer/logs/<domain_name>.log
。若WebLogic以Systemd服務運行(常見于Debian),可使用journalctl
命令查看服務日志:
journalctl -u weblogic
(需替換為實際服務名,如weblogic.server
)。journalctl --since "2025-10-01" --until "2025-10-17"
(查看10月1日至7日的日志)。journalctl -p err -u weblogic
(僅顯示錯誤級別日志)。journalctl -f -u weblogic
(類似tail -f
,實時查看新增日志)。grep "ERROR" /path/to/server.log
(查找所有錯誤信息);grep -i "timeout" /path/to/access.log
(忽略大小寫查找超時請求)。awk '/2025-10-17/ {print $1, $2, $3}' /path/to/server.log
(提取10月17日的日志時間戳,快速定位時段)。tail -n 100 /path/to/server.log
(查看最后100行日志,適用于快速檢查最新事件)。WebLogic日志若未配置輪轉,可能快速占滿磁盤空間。使用logrotate
工具可實現自動化管理:
sudo apt-get install logrotate
(Debian默認倉庫提供)。/etc/logrotate.d/
下新建weblogic
文件,內容示例如下:/path/to/weblogic/domain/logs/*.log {
daily # 每天輪轉
rotate 7 # 保留7個歷史日志
compress # 壓縮舊日志(節省空間)
missingok # 日志不存在時不報錯
notifempty # 日志為空時不輪轉
create 640 root adm # 新日志權限(屬主root,屬組adm)
sharedscripts # 所有日志處理完成后執行postrotate
postrotate
/usr/bin/killall -HUP weblogic.Server # 向WebLogic發送HUP信號,重新打開日志文件
endscript
}
sudo logrotate -f /etc/logrotate.d/weblogic
(強制立即輪轉,驗證配置是否正確)。日志級別決定了日志的詳細程度,需根據場景調整以避免無關信息干擾:
TRACE
(最詳細,調試用)、DEBUG
(調試信息)、INFO
(常規運行信息)、WARN
(警告,潛在問題)、ERROR
(錯誤,影響運行)、FATAL
(致命,系統崩潰)。http://<server_ip>:7001/console
),導航至Environment > Servers > <server_name> > Logging
,修改Logging Level
(如設為INFO
)。$DOMAIN_HOME/config/fmwconfig/servers/<server_name>/logging.xml
,調整logging-file-handler
的level
屬性(如<logging-file-handler name="FileHandler" level="INFO">
),保存后重啟WebLogic生效。對于復雜場景(如性能瓶頸、安全事件),可使用專業工具提升分析效率:
access.log
、server.log
等格式);access.log
設計的輕量級工具,生成HTML報告(包含請求數、響應時間、客戶端IP分布等),無需復雜配置,適合快速查看Web訪問情況。DefaultAuditRecorder.log
)記錄用戶登錄、權限變更等操作,路徑為$DOMAIN_HOME/servers/AdminServer/logs/
。需開啟審計功能(控制臺Security Realms > myrealm > Auditing
,設置Audit Provider
為DefaultAuditRecorder
)。grep "401" /path/to/access.log
查找未授權訪問嘗試;awk '{print $1}' /path/to/access.log | sort | uniq -c | sort -nr
統計Top客戶端IP(識別異常高頻訪問)。通過以上技巧,可高效分析Debian服務器上WebLogic的日志,快速定位問題(如性能瓶頸、安全事件),提升系統可維護性。需根據實際場景組合使用命令行工具與專業工具,實現從基礎監控到深度分析的全覆蓋。