log.io实时日志平台docker部署
没有复杂的中间件依赖安装和配置,只要一个简单的docker容器即可搭建一个实时日志查看平台。
下面是我的dockerfie
FROM docker.io/node:20.14.0-alpine LABEL maintainer="jiafeng" RUN npm config set registry http://registry.npm.taobao.org \ && npm config set strict-ssl false \ && npm install -g log.io \ && npm install -g log.io-file-input \ && mkdir /root/.log.io \ && mkdir /home/logs ENV LOG_IO_MODE=server CMD if [ "$LOG_IO_MODE" = "server" ]; then \ log.io-server; \ elif [ "$LOG_IO_MODE" = "client" ]; then \ log.io-file-input; \ else \ echo "Unknown mode: $LOG_IO_MODE"; \ fi
假设我构建出来的镜像tag是 jiafeng/logio:v6
在服务端机器上执行一下指令
# 创建服务端日志目录 mkdir /root/.log.io # 填写服务端配置 cat > /root/.log.io/server.json<EOF { "messageServer": { "port": 6689, "host": "0.0.0.0" }, "httpServer": { "port": 6688, "host":"0.0.0.0" } } EOF # 启动服务端容器 docker run -d -p 6689:6689 -p 6688:6688 --name logio \ -v /root/.log.io:/root/.log.io \ jiafeng/logio:v6
启动之后就可以用宿主机的ip:6688访问UI界面了。
接下来我们配置客户端
# 创建配置目录 mkdir -p /root/.log.io/inputs # 创建测试日志目录 mkdir /home/logs # 填写配置文件 cat > /root/.log.io/inputs/file.json <EOF { "messageServer": { "port": 6689, "host": "192.168.29.130" }, "inputs": [ { "source": "app1", "stream": "node1", "config": { "path": "/home/logs/app1.log" } }, { "source": "app2", "stream": "node1", "config": { "path": "/home/logs/app2.log" } } ] } EOF # 准备一个模拟写日志的脚本 cat > product.sh<EOF #/bin/bash while true do sleep 1 echo "$(date +'%Y-%m-%d %H:%M:%S') This is app1 log!" >> /home/logs/app1.log echo "$(date +'%Y-%m-%d %H:%M:%S') This is app2 log!" >> /home/logs/app2.log done EOF # 赋权并启动 chmod u+x prodct.sh && ./product.sh & # 启动客户端容器 docker run -d --name logio-client \ -v /root/.log.io:/root/.log.io \ -v /home/logs:/home/logs \ -e "LOG_IO_MODE=client" \ jiafeng/logio:v6
至此客户端也配置启动好了。客户端可以启动多个。
log.io官网:http://logio.org/
参考连接:https://blog.csdn.net/wangchange/article/details/137472493