本文將指引你:如何對tomcat日誌進行採集,並通過syslog協議,自動實時的傳送到遠端的集中日誌分析中心,便於集中式的日誌儲存和管理,提高**的運維效率。
第一步:初始化日誌採集環境
先確保系統中的/var/spool/rsyslog 目錄已存在:
mkdir -v /var/spool/rsyslog
if [ "$(grep ubuntu /etc/issue)" != "" ]; then
chown -r syslog:adm /var/spool/rsyslog
fi
第二步:建立tomcat日誌檔案採集配置
新建rsyslog的子配置檔案,他通常在/etc/rsyslog.d下,需要/etc/rsyslog.conf去包含這個目錄下的子配置檔案:
vim /etc/rsyslog.d/tomcat-biglog.conf
複製以下內容到tomcat-biglog.conf,注意注釋部分的修改:
$modload imfile
$inputfilepollinterval 10
$workdirectory /var/spool/rsyslog
$privdroptogroup adm
## 指定日誌格式模板:
$template biglogformattomcat,"%msg%\n"
## tomcat的catalina.log路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/catalina.log
$inputfiletag catalina-log
$inputfilestatefile stat-catalina-log
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
## tomcat的catalina.out路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/catalina.out
$inputfiletag catalina-out
$inputfilestatefile stat-catalina-out
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
## tomcat的host-manager.log路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/host-manager.log
$inputfiletag host-manager
$inputfilestatefile stat-host-manager
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
## tomcat的initd.log路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/initd.log
$inputfiletag initd
$inputfilestatefile stat-initd
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
## tomcat的localhost.log路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/localhost.log
$inputfiletag localhost-log
$inputfilestatefile stat-localhost-log
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
## tomcat的manager.log路徑,根據實際情況修改:
$inputfilename /var/log/tomcat6/manager.log
$inputfiletag manager
$inputfilestatefile stat-manager
$inputfileseverity info
$inputfilepersiststateinterval 25000
$inputrunfilemonitor
if $programname == 'catalina-log' then @10.x.x.x:514;biglogformattomcat
if $programname == 'catalina-log' then ~
if $programname == 'catalina-out' then @10.x.x.x:514;biglogformattomcat
if $programname == 'catalina-out' then ~
if $programname == 'host-manager' then @10.x.x.x:514;biglogformattomcat
if $programname == 'host-manager' then ~
if $programname == 'initd' then @10.x.x.x:514;biglogformattomcat
if $programname == 'initd' then ~
if $programname == 'localhost-log' then @10.x.x.x:514;biglogformattomcat
if $programname == 'localhost-log' then ~
if $programname == 'manager' then @10.x.x.x:514;biglogformattomcat
if $programname == 'manager' then ~
注:通過rsyslog配置日誌接收端的時候,如上示例@10.x.x.x:514,用於指定接收日誌的伺服器的協議、ip位址和埠號。使用@代表走udp協議,使用@@代表走tcp協議,冒號後面的514代表接收埠。
第三步:重啟rsyslog服務,日誌採集開始工作
service rsyslog restart
此時可以通過觀察系統中的rsyslog日誌,確定是否正常工作。
cat /var/log/messages |grep rsyslog
Tomcat日誌配置
對於各個屬性做一下解釋說明 classname 節點名稱 directory 儲存日誌的目錄 prefix 日誌的字首 suffix 日誌的字尾 renameonrotate 是否按天切割日誌。切割後的日誌要按yyyymmdd重新命名 pattern 日誌模板,這裡對於每個引數說一下詳細描述,引數以...
Tomcat配置遠端除錯
可能出現的連線問題 1 linux中配置 tomcat 在catalina.sh 中新增如下 catalina opts xdebug xrunjdwp transport dt socket,address 8000,server y,suspend n 不要換行,要在同一行 引數說明 xdebu...
Tomcat配置遠端除錯
可能出現的連線問題 1 linux中配置 tomcat 在catalina.sh 中新增如下 catalina opts xdebug xrunjdwp transport dt socket,address 8000,server y,suspend n 不要換行,要在同一行 引數說明 xdebu...