Tomcat日誌配置遠端Syslog採集

2021-07-13 04:10:46 字數 3320 閱讀 9975

本文將指引你:如何對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...