log.io 是一个实时日志监控工具,采用 node.js + socket.io 开发,使用浏览器访问,每秒可以处理超过5000条日志变动消息。有一点要指出来的是 log.io 只监视日志变动并不存储日志,和其他的监控工具一样,log.io 也采用服务器-客户端的模式。
log.io 由两部分组成:server 和 harvester
server 运行在机器 A(服务器)上监视和纪录其他机器发来的日志消息;
log harvester 运行在机器 B(客户端)上用来监听和收集机器 B 上的日志改动,并将改动发送给机器 A,每个需要纪录日志的机器都需要一个 harvester.
在A和B两台机器上同时安装(第一步到第四步)
一、安装依赖包
yum install gcc gcc-c++ openssl-devel pkgconfig -y
二、下载 node.js 源代码,编译并安装:
wget http://nodejs.org/dist/v0.8.14/node-v0.8.14.tar.gz tar xf node-v0.8.14/ ./configure make make install
三、安装NPM
wget https://npmjs.org/install.sh && sh install.shsi
四、安装 log.io(包含了 log server 和 log harvester)
npm config set unsafe-perm true npm install -g --prefix=/usr/local log.io
注意:第二部安装的时候安装时间较长(基于网络下载软件包),请耐心等待!!
五、在服务端(A节点)上启动server
cd node-v0.8.14 log.io-server start
六、在客户端(B节点)配置
vim /root/.log.io/harvester.conf exports.config = { nodeName: "nodeB", ####修改节点名称(自定义) logStreams: { nginx_access: [ ####日志服务的名称(自定义) "/var/log/nginx/access.log", ###日记存储路径 ], nginx_error: [ ####日志服务的名称(自定义) "/var/log/nginx/error.log" ###日记存储路径 ] }, server: { host: '10.10.0.2', ####log.io Server端的IP port: 28777 ####log.io Server端的端口(默认端口) } }
七、在客户端(B节点)启动服务
cd node-v0.8.14 log.io-harvester start
八、通过游览器查看日记实时信息