本人在公司的Red Hat Enterprise Linux Server release 6.1 (Santiago) 服務器上做的測試,可參見最下面截圖,監控Tomcat和其他日志信息。很是方便哈^^.
和其他的監控工具一樣, log.io 也采用服務器-客戶端的模式。 log.io 由兩部分組成: server 和 harvester, server 運行在機器 A (服務器)上監視和紀錄其他機器發來的日志消息; log harvester 運行在機器 B (客戶端)上用來監聽和收集機器 B 上的日志改動,并將改動發送給機器 A ,每個需要紀錄日志的機器都需要一個 harvester.
在機器 A 和 B 上
因為 log.io 基于 node.js ,所以在服務器和客戶端都要安裝 node.js ,這里采用編譯安裝的辦法,首先安裝需要的依賴包:
$ sudo apt-get install g++ make git libssl-dev pkg-config
下載 node.js 源代碼,編譯并安裝:
$ wget http://nodejs.org/dist/v0.8.14/node-v0.8.14.tar.gz
$ tar zxvf node-v0.8.14.tar.gz
$ cd node-v0.8.14/
$ ./configure
$ make
$ sudo make install
安裝 NPM :
$ curl https://npmjs.org/install.sh | sudo sh
安裝 log.io (包含了 log server 和 log harvester )
$ sudo npm config set unsafe -perm true
$ sudo npm install -g --prefix=/usr/local log.io
在機器 A 上啟動 server
$ sudo log.io server start
在機器 B 上配置和啟動 harvester
server 用來監聽各個機器發來的日志消息, harvester 用來把本機的日志發給 server ,所以 harvester 配置的時候需要指定 server 的主機地址(或域名)。如何告訴 harvester 哪些日志需要監控呢? log_file_paths 就是指定日志路徑的地方。下面的配置是 h arvester 把 auth.log 和 harvester.log 這兩個日志的改動 發送給 server :
$ sudo vi /etc/log.io/harvester.conf
exports.config = {
// Log server host & port
server: {
host: 'log.vpsee.com', // 也可以用 IP 地址
port: 8998,
},
// Watch the following log files, defined by label:path mappings
log_file_paths: {
logio_auth: '/var/log/auth.log',
logio_harvester: '/var/log/log.io/harvester.log',
},
instance_name : 'log_node_1'
}
啟動 harvester :
$ sudo log.io harvester start
測試
打開瀏覽器訪問 log server 所在的機器 A ,域名是 log.vpsee.com (也可以用 IP 地址),端口是 8998 : ====================================================================================== 本人測試時harvester.conf文件配置如下:
/* Log.io log harvester configuration */
exports.config = {
// Log server host & port
server: {
host: '192.168.32.92',
port: 8998,
},
// Watch the following log files, defined by label:path mappings
log_file_paths: {
logio_tomcat: '/usr/local/tomcat6/logs/catalina.out',
logio_oned: '/opt/nebula/ONE/var/oned.log',
logio_harvester: '/var/log/log.io/harvester.log',
},
// Define name of current machine.
// Alternatively, you can set this name in /etc/profile:
// export LOGIO_HARVESTER_INSTANCE_NAME='my_log_machine'
// If so, comment out the line below
instance_name : 'log_node_1'
}
posted on 2012-11-06 15:49
David1228 閱讀(2199)
評論(0) 編輯 收藏 所屬分類:
Linux 、
云計算、虛擬化