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


浙公网安备 33010602011771号