乐趣区

实时日志监控

实时日志监控服务: log.io, 主要有两部分组成, 分别为 服务端 和 客户端.要求安装 log.io 时, node 的版本应该为最新的稳定版, 我的 node 版本为 v12.17.0
ref:

  • centos7 安装最新稳定版本的 nodejs

服务端安装

全局安装 log.io-server

npm install -g log.io

添加默认配置文件

# 添加目录
sudo mkdir -p /root/.log.io

# 添加配置文件(server.json 的具体内容请参看下面给出的示例)
vim /root/.log.io/server.json

{
  "messageServer": {
    "port": 6689,
    "host": "0.0.0.0"
  },
  "httpServer": {
    "port": 6688,
    "host": "0.0.0.0"
  },
  "debug": false,
  "basicAuth": {
    "realm": "abc123xyz",
    "users": {"登录用户名": "登录密码"}
  }
}

PM2 启动服务端

如果没有 pm2 服务, 请使用 npm 安装, 如: npm install -g pm2

pm2 start log.io-server

如果想用 pm2 以配置文件方式启动, 参考文中底部的说明.

验证

浏览器输入 ip + 6688 端口, 输入用户名和密码, 就可以进入实时日志界面 (当然, 需要看到日志, 还需要往下配置 客户端)

http://localhost:6688

客户端安装

全局安装 log.io-file-input

npm install -g log.io-file-input

添加默认配置文件

# 添加目录
sudo mkdir -p /root/.log.io/inputs

# 添加配置文件
vim /root/.log.io/inputs/file.json

{
  "messageServer": {
    "host": "0.0.0.0",
    "port": 6689
  },
  "inputs": [
    {
      "source": "服务器名称",
      "stream": "网关",
      "config": {"path": "/data/xxxx/gateway-0.0.6.log"}
    },
    {
      "source": "服务器名称",
      "stream": "xxxx_user",
      "config": {"path": "/data/xxx/logs/consumer-user-test.log"}
    }
  ]
}

PM2 启动服务端

pm2 start log.io-file-input

验证

再次在浏览器中访问 6688 端口, 就可以看到效果了

http://localhost:6688

拓展

pm2 配置文件方式启动 log.io

module.exports = {
    apps: [
        {
            name: 'log_server',
            script: 'log.io-server',
            instances  : 1,
            merge_logs: true,
            log_date_format: 'YYYY-MM-DD HH:mm:ss',
            out_file: './logs/server/out.log'
        },
        {
            name: 'log_client',
            script: 'log.io-file-input',
            instances  : 1,
            merge_logs: true,
            log_date_format: 'YYYY-MM-DD HH:mm:ss',
            out_file: './logs/client/out.log'
        }
    ],
};

以上内容保存成 pm2.config.js 文件, 通过命令 pm2 start pm2.config.js启动服务

退出移动版