posts - 167,  comments - 30,  trackbacks - 0
个人说明:以下作者应该是在Ubuntu OS上做的测试。 感谢作者vpsee。
               本人在公司的Red Hat Enterprise Linux Server release 6.1 (Santiago) 服务器上做的测试,可参见最下面截图,监控Tomcat和其他日志信息。很是方便哈^^.
               由于Redhat OS上没有apt-get,如果缺少相应软件包,可以通过yum或者iso源方式安装缺少的软件。


转自:http://www.vpsee.com/2012/11/install-real-time-log-monitoring-tool-log-io/#comments 
日志是个好东西,对技术人员来说写日志能纪录成长,分享经验;对机器来说纪录日志能及时发现错误,为日后的排错提供信息。如果还在一台机器上用 tail -f 监听单个日志或者 multitail 监听多个日志也太 out 了,我们需要一种工具能纪录上百台机器、不同类型的日志,并最好能汇集到一个界面里方便查看,最好还是实时的。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

因为 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 就是指定日志路径的地方。下面的配置是 harvester 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 阅读(2160) 评论(0)  编辑  收藏 所属分类: Linux云计算、虚拟化

只有注册用户登录后才能发表评论。


网站导航:
 

<2012年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

新闻分类

新闻档案

相册

收藏夹

Java

Linux知识相关

Spring相关

云计算/Linux/虚拟化技术/

友情博客

多线程并发编程

开源技术

持久层技术相关

搜索

  •  

积分与排名

  • 积分 - 354559
  • 排名 - 155

最新评论

阅读排行榜

评论排行榜