1 整體架構(gòu)
2 中央日志服務(wù)器配置
2.1 配置時(shí)鐘同步
2.1.1 方式一
中央日志服務(wù)器和Tomcat節(jié)點(diǎn)均向同一個(gè)時(shí)鐘源(例如:pool.ntp.org)進(jìn)行對(duì)時(shí)即可。說明:本小節(jié)下面命令均以root用戶執(zhí)行,并且在中央日志服務(wù)器和Tomcat節(jié)點(diǎn)均要執(zhí)行。
首先,需要關(guān)閉ntpd服務(wù):
service ntpd stop
chkconfig ntpd off
執(zhí)行crontab -e,輸入下面內(nèi)容:
*/5 * * * * ntpdate pool.ntp.org
表示:每隔5分鐘向時(shí)鐘源pool.ntp.org對(duì)時(shí)一次
然后重啟cron:service crond restart
2.1.2 方式二
中央日志服務(wù)器作為時(shí)鐘源,其他Tomcat節(jié)點(diǎn)均向中央日志服務(wù)器對(duì)時(shí),需保證中央日志服務(wù)器時(shí)間是正確的。
說明:本小節(jié)下面命令均以root用戶執(zhí)行。
2.1.2.1. 中央日志服務(wù)器
開啟ntpd服務(wù),執(zhí)行下面命令:
service ntpd start
chkconfig ntpd on
2.1.2.2. 所有Tomcat節(jié)點(diǎn)
測(cè)試ntp能否連接到中央日志服務(wù)器:
ntpdate 192.168.1.1
如果連接不成功一般是2個(gè)原因?qū)е碌模?/p>
1. Server端的ntpd服務(wù)剛剛啟動(dòng),一般情況下需要等待幾分鐘之后才能對(duì)時(shí)成功;
2. 防火墻問題,需要開放udp 123端口號(hào);
關(guān)閉ntpd服務(wù):
service ntpd stop
chkconfig ntpd off
然后執(zhí)行crontab -e,輸入下面內(nèi)容:
*/5 * * * * ntpdate 192.168.1.1
表示:每隔5分鐘向中央日志服務(wù)器對(duì)時(shí)一次。
然后重啟cron:service crond restart
2.2 防火墻配置
rsyslog默認(rèn)運(yùn)行在514端口號(hào)上,需要配置防火墻開放514端口,或者關(guān)閉防火墻。
另外,如果運(yùn)行在RHEL、CentOS、Fedora等Linux系統(tǒng)上,還需要關(guān)閉SeLinux。
2.3 配置rsyslog
編輯rsyslog.conf:
取消下面兩行的注釋(刪除掉前面的#):
$ModLoad imudp
$UDPServerRun 514
修改下面一行,添加“;local2.none”,不將local2的日志寫入/var/log/messages:
*.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages
添加下面一行,將local2的debug級(jí)別日志寫入/var/log/dispatcher/debug.log:
local2.debug /var/log/dispatcher/debug.log
2.4 配置logrotate
針對(duì)上面配置的日志文件/var/log/dispatcher/debug.log,為避免其日積月累導(dǎo)致文件過于龐大,還需要為其進(jìn)行及時(shí)備份,采用Linux自帶的logrotate工具即可實(shí)現(xiàn)該功能。
新建文件/etc/logrotate.d/dispatcher,內(nèi)容為:
/var/log/dispatcher/debug.log {
copytruncate
daily
minsize 1M
rotate 90
}
表示:每天備份一次,備份90個(gè)文件,即只保留3個(gè)月內(nèi)的日志文件。
參數(shù)說明如下:
1. copytruncate:表示此方法采用的是先拷貝再清空的方式,整個(gè)過程中日志文件的操作句柄沒有發(fā)生改變,所以不需要通知應(yīng)用程序重新打開日志文件;
2. daily:每天輪詢備份;
3. minsize 1M:最小文件大小為1M,超過這個(gè)值才進(jìn)行rotate;
4. rotate 90:輪詢備份90個(gè)文件。
logrotate是基于cron任務(wù)來執(zhí)行的,其執(zhí)行腳本位于/etc/cron.daily下面,也就是說logrotate會(huì)每天自動(dòng)執(zhí)行一次。
也可以手動(dòng)執(zhí)行,命令如下:logrotate -f /etc/logrotate.d/dispatcher。
3 Tomcat節(jié)點(diǎn)配置
3.1 配置log4j
配置log4j,以便將日志傳輸?shù)饺罩痉?wù)器。
編輯log4j的配置文件log4j.properties,添加如下內(nèi)容(如果第一行的rootLogger已經(jīng)配置的話,合并即可):
log4j.rootLogger=debug, SYSLOG
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=192.168.0.1
log4j.appender.syslog.Threshold=DEBUG
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [ %p ] %m [ %l ] %n
log4j.appender.SYSLOG.Header=true
log4j.appender.SYSLOG.Facility=local2
注意:
1. log4j.appender.SYSLOG.syslogHost需要配置為中央日志服務(wù)器的IP地址或域名;
2. log4j.appender.SYSLOG.Facility需要配置為local2,與中央日志服務(wù)器中配置的rsyslog一致。
3.2 配置rsyslog將所有日志都傳輸?shù)饺罩痉?wù)器
說明:本步驟不是必須要做的,根據(jù)實(shí)際情況配置即可。
編輯/etc/rsyslog.conf,添加如下一行:
*.* @192.168.0.1
即可將所有日志通過UDP協(xié)議輸出到日志服務(wù)器。
備注:如果希望可靠傳輸,建議采用TCP協(xié)議傳輸,將上述一行改為:
*.* @@192.168.0.1
即可。
4 拓展
以上部分是采用rsyslog+logrotate進(jìn)行日志集中保存和管理,除此之外,還可以使用MySQL+ loganalyzer對(duì)日志進(jìn)行存儲(chǔ)和Web圖形化的分析、查看。
在 Ubuntu 12.04 LTS 上通過 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm
Ubuntu下部署Solr(4.4)到Tomcat(7.0.53) http://www.linuxidc.com/Linux/2014-05/101443.htm
Linux下Apache與多個(gè)Tomcat 集群負(fù)載均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm
Nginx Tomcat 集群負(fù)載均衡解決筆記 http://www.linuxidc.com/Linux/2013-07/86827.htm
實(shí)例詳解Tomcat組件安裝+Nginx反向代理Tomcat+Apache使用mod_jk和mod_proxy反向代理和負(fù)載均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm
CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服務(wù)器 http://www.linuxidc.com/Linux/2014-06/103836.htm
Apache+Tomcat 環(huán)境搭建(JK部署過程) http://www.linuxidc.com/Linux/2012-11/74474.htm
Tomcat 的詳細(xì)介紹:請(qǐng)點(diǎn)這里
Tomcat 的下載地址:請(qǐng)點(diǎn)這里
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2014-08/105586.htm
聯(lián)系客服