Log.io实时日志查看系统搭建,省时省力省事,干货分享

0、前言

在运维工作中,可能很多时候开发总是说要看生产的某个某个日志,这个时候运维的做法可能就是登录服务器,然后找到日志,再将日志拖下来发给开发人员;亦或者是给开发人员服务器的账号密码让他们自己去看。那么问题来了,这两种方式都是相当麻烦或者不安全的。为了既能方便又能安全的达到目的,所以写了这篇文章,希望能帮助到大家。

1、说明

log.io的安装方法很复杂,官网给出的安装方法极为粗略,而且很有可能已经被Z G的防火墙墙掉了。

log.io的安装依赖于node.js,但是实用新版的node.js的话,可能会由于操作系统版本自身的gcc版本过低导致编译失败或者无法使用,即使升级gcc也可能会存在一些杂七杂八的小问题不断;

了解到log.io只是依赖于node.js,但是并不会因为node.js的版本低而导致使用npm装的log.io的版本老旧。node.js与其附属的npm仅仅是安装和使用log.io的时候的一个工具,即使版本老旧,安装的log.io也是新版的。

2、安装node.js

# wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz

# tar xf node-v0.12.7.tar.gz

# cd node-v0.12.7.tar.gz

# ./configure --prefix=/home/app/node.js

# make -j4

# make install

3、添加node.js的环境变量

在/etc/profile文件末尾添加以下两行:

PATH=$PATH:/home/app/node.js/bin

export PATH

立即生效请执行:

# source /etc/profile

4、检查node.js的版本号以及npm的版本号

# node -v

v0.12.7

# npm -v

2.11.3

5、安装log.io

注意说明:在使用npm安装log.io的时候,是要去到国外进行下载的,所以有可能会被Z G的防火墙给堵了,或者是整个过程非常的缓慢。有些人说,为什么不用淘宝的cnpm,也就是拷贝的npm源,我想说的是,如果能用的话,谁不想用啊,但是不管你是用新版的node.js还是旧版的node.js配合,在安装log.io的时候总会出现各种各样的奇怪错误,有语法错误啊什么的,查了下官网以及论坛,说是各种软件版本不适配的原因,暂时就不想搞那么麻烦了,就用上述的那个版本的node.js和npm就行了,好了,废话不多说,开始吧。

# npm install -g log.io --user 'root'

此过程是非常漫长的,请等待,但是这个等待是值得的,因为只需要做一次,就可以进行移植,意思就是说将整个文件夹打包传输到另外的机器去,就可以使用。

建议:如果有香港的机器,可以使用香港的机器进行安装,然后把相关目录拉取下来替代就行了。

6、检查log.io目录

上述第5个步骤顺利完成后,会在指定的目录下有这样的文件夹

路径:/home/app/node.js/lib/node_modules/log.io

路径是基于安装node.js的时候,指定的prefix参数的路径,也是node.js的安装路径

log.io大概45M左右

7、log.io的二进制命令全局变量设置

在/etc/profile文件末尾添加以下两行:

PATH=$PATH:/home/app/node.js/bin:/home/app/node.js/lib/node_modules/log.io/bin

export PATH

立即生效请执行:

# source /etc/profile

8、创建log.io所需文件以及目录

# mkdir /root/.log.io/

# cp -ar /home/app/node.js/lib/node_modules/log.io/conf/log_server.conf /root/.log.io/

# cp -ar /home/app/node.js/lib/node_modules/log.io/conf/web_server.conf /root/.log.io/

# cp -ar /home/app/node.js/lib/node_modules/log.io/conf/harvester.conf /root/.log.io/

9、服务端启动测试

# log.io-server &

# netstat -tnlp | grep 28

tcp 0 0 0.0.0.0:28777 0.0.0.0:* LISTEN 2091/node

tcp 0 0 0.0.0.0:28778 0.0.0.0:* LISTEN 2091/node

端口均已起来,在web浏览器访问:

http://192.168.3.242:28778/

10、客户端安装

其实log.io的客户端很简单,只要你有服务端,而且你的服务端是自定义路径安装的,而不是随意安装的,就可以将整个目录打包,传输到客户机就可以了。

先传输:

# rsync -avz -e 'ssh -p 22' /home/app/node.js xxxxuser@192.168.1.56:/home/app/

# rsync -avz -e 'ssh -p 22' /root/.log.io xxxxuser@192.168.1.56:/home/app/

登录到192.168.1.56:

cd /root/

# mv /home/app/.log.io ./

添加客户端环境变量:

在/etc/profile文件末尾添加以下两行:

PATH=$PATH:/home/app/node.js/bin:/home/app/node.js/lib/node_modules/log.io/bin

export PATH

立即生效请执行:

# source /etc/profile

11、客户端配置

# cat /root/.log.io/harvester.conf

exports.config = {

nodeName: "192.168.1.56-xxcar-APP-ceshi",

logStreams: {

dtm_xxcar_web: [

"/home/app/dtm_logs/dtm-xxcar-web.log",

],

front: [

"/home/app/front_logs/all.log"

]

},

server: {

host: '192.168.3.242',

port: 28777

}

}

配置完成后,启动:

# log.io-harvester &

12、效果展示

13、后话

文章属原创,未经允许,请尊重原创,请勿在其他地方抄袭发表。

写文章不易,我会坚持更新,希望大家多多关注点赞,如果有什么想法,或者想我出什么类型什么内容的文章,可以在文章下方评论,我会尽我所能满足大家的要求,谢谢。

举报
评论 0