浏览器实时查看日志系统-log.io

  log.io 是一个实时日志监控工具,采用 node.js + socket.io 开发,使用浏览器访问,每秒可以处理超过5000条日志变动消息。有一点要指出来的是 log.io 只监视日志变动并不存储日志,和其他的监控工具一样,log.io 也采用服务器-客户端的模式。

github地址:https://github.com/NarrativeScience/log.io

 

如何工作?

       文件输入端监控日志文件发生的变化,通过TCP协议将最新的信息发送给服务端,进而服务端通过socket.io将接收到的信息输出到浏览器上

 

安装服务端

npm install -g log.io

添加配置服务端的配置文件
vim ~/.log.io/server.json

示例:
{
  "messageServer": {
    "port": 6689,
    "host": "127.0.0.1"
  },
  "httpServer": {
    "port": 6688,
    "host": "127.0.0.1"
  },
  "debug": false,
  "basicAuth": {
    "realm": "abc123xyz",
    "users": {
      "username1": "password1"
    }
  }
}

 参数说明:

     messageServer: 是TCP协议接受来气input的文件信息

     httpServer: 接受来自浏览器的请求

     默认 应用的配置文件在~/.log.io/server.json 当然可以被环境变量LOGIO_SERVER_CONFIG_PATH覆盖执行配置文件的路径

     baseAuth做简单用户验证, 和debug 这两个配置项可以被忽略

 

 

 

启动服务端

log.io-server

 

##############################################################

 

安装文件输入

npm install -g log.io-file-input

添加配置文件
vim ~/.log.io/inputs/file.json
示例:
{
  "messageServer": {
    "host": "127.0.0.1",
    "port": 6689
  },
  "inputs": [
    {
      "source": "server1",
      "stream": "app1",
      "config": {
        "path": "log.io-demo/file-generator/app1-server1.log"
      }
    },
    {
      "source": "server2",
      "stream": "system-logs",
      "config": {
        "path": "/var/log/**/*.log",
        "watcherOptions": {
          "ignored": "*.txt",
          "depth": 99,
        }
      }
    }
  ]
}

参数说明:

    默认配置文件在~/.log.io/inputs/file.json 当然也可以通过变量进行指定 LOGIO_FILE_INPUT_CONFIG_PATH 

    路径可以配置一个文件路径,目录路径,或者使用匹配glob,  更多配置参考:chokidar

 

启动监视器

log.io-file-input

 

 

效果图:

 

添加进程管理pm2:

{
  "name":"log.io",  // 指定明后才能
  "min_uptime": "12h",  // 由于过段时间就无法获取,进行过段时间重启操作
  "script": "/usr/local/node/bin/log.io-file-input",
  "exec_mode": "fork",
  "watch": true,
  "cwd": "/root/.log.io/inputs",  // 指定路径,配置文件
  "max_restarts": 3,
  "restart_delay": 4000,
  "error_file": "./log-io_err.log",
  "out_file": "./log-io_out.log"
}

 

 

 

 

 

使用场景:

  之前总是登录服务器打开文件进行查看, 使用这个系统可以同时监控多个文件, 并实时的将数据输出到浏览器终端, 方便查看

 

posted @ 2021-06-03 21:41  X-Wolf  阅读(1920)  评论(0编辑  收藏  举报