前言:

    由于项目刚刚上线,出现了许多bug,开发人员需要经常跑过来查看日记,严重影响了我们运维人员的工作效率,时而久之,感觉那个烦啊。j_0010.gif。各位仁兄有没有体会到呢!!! 之前找了一些处理日记的工具都不具有实时性,所以都未采纳,刚刚发现了log.io这个工具推荐个大家!!这个工具足以解决现在的问题。



软件介绍:

   log.io 是一个实时日志监控工具,采用 node.js + socket.io 开发,使用浏览器访问,每秒可以处理超过5000条日志变动消息。有一点要指出来的是 log.io 只监视日志变动并不存储日志,和其他的监控工具一样,log.io 也采用服务器-客户端的模式。log.io 由两部分组成:server 和 harvester, server 运行在机器 A(服务器)上监视和纪录其他机器发来的日志消息;log harvester 运行在机器 B(客户端)上用来监听和收集机器 B 上的日志改动,并将改动发送给机器 A,每个需要纪录日志的机器都需要一个 harvester.

工作原理图:

构建企业日志实时查看系统_第1张图片


更具上面的介绍相信大家对log.io已经有了一个认识,下面我们就来安装配置吧。j_0018.gif



在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

八、通过游览器查看日记实时信息

构建企业日志实时查看系统_第2张图片


自此软件安装完毕!如有不足之处请多多指教。j_0020.gif


Linux视频教程 基础Shell高级编程实战/Nginx/redis运维