
kousik86/log-monitoring本镜像是一个轻量级日志监控解决方案的Docker化实现,整合了日志收集、存储、分析及可视化功能,提供一站式日志管理工具。通过容器化部署简化传统日志系统的搭建流程,适用于各类环境中的应用程序日志集中管理,帮助用户实时掌握系统运行状态、快速定位故障并优化系统性能。
主要用途包括:分布式系统日志集中管理、应用程序实时监控、自动化日志分析与异常检测、生成可视化报表辅助运维决策。
快速启动日志监控容器:
bashdocker run -d \ --name log-monitor \ -p 8080:8080 \ # 可视化仪表盘端口 -p 514:514/udp \ # 系统日志接收端口 -v /var/log:/host/logs:ro \ # 只读挂载主机日志目录 -v /var/run/docker.sock:/var/run/docker.sock \ # 收集Docker容器日志 -v log-data:/app/data \ # 持久化存储日志数据 -e LOG_LEVEL=info \ # 应用日志级别 -e ALERT_EMAIL=*** \ # 告警接收*** log-monitor:latest
创建docker-compose.yml实现完整部署:
yamlversion: '3' services: log-monitor: image: log-monitor:latest container_name: log-monitor ports: - "8080:8080" # Web仪表盘端口 - "514:514/udp" # Syslog接收端口 - "9000:9000" # 日志收集API端口 volumes: - /var/log:/host/logs:ro # 主机日志只读挂载 - /var/run/docker.sock:/var/run/docker.sock # Docker容器日志收集 - log-data:/app/data # 持久化数据存储 environment: - LOG_LEVEL=debug # 调试模式日志级别 - STORAGE_SIZE=10G # 日志存储容量上限 - ALERT_THRESHOLD=5 # 错误日志告警阈值(次/分钟) - ALERT_CHANNEL=email,slack # 告警渠道 - SLACK_WEBHOOK=[***] # Slack告警Webhook restart: unless-stopped volumes: log-data: # 持久化数据卷
启动服务:
bashdocker-compose up -d
| 环境变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
LOG_LEVEL | 应用日志级别 | info | debug, info, warn, error |
PORT | 仪表盘Web服务端口 | 8080 | 1-65535 |
STORAGE_PATH | 日志数据存储路径 | /app/data | 容器内绝对路径 |
STORAGE_SIZE | 日志存储容量上限 | 5G | 如1G, 20G |
ALERT_ENABLE | 是否启用告警 | true | true, false |
ALERT_THRESHOLD | 错误日志告警阈值(次/分钟) | 10 | 正整数 |
ALERT_CHANNEL | 告警渠道(多渠道用逗号分隔) | email | email, slack, webhook |
EMAIL_SERVER | SMTP邮件服务器地址 | - | 如smtp.example.com |
EMAIL_PORT | SMTP邮件服务器端口 | 587 | 25, 465, 587 |
COLLECT_DOCKER_LOGS | 是否收集Docker容器日志 | true | true, false |
为防止容器重启导致日志数据丢失,推荐使用以下持久化方案:
Docker卷(推荐):通过声明命名卷(如上述log-data)自动管理存储,无需关心主机路径
主机目录挂载:指定主机目录作为存储路径(需确保权限正确):
bash-v /opt/log-monitor/data:/app/data # 主机目录挂载
--network=host模式或配置端口转发bashdocker network create log-network docker run --network=log-network ... # 加入自定义网络
/var/run/docker.sock:docker inspect log-monitor | grep "docker.sock"--user root临时测试(生产环境建议使用最小权限)systemctl status dockerdocker port log-monitordocker logs -f log-monitorSTORAGE_SIZE环境变量限制存储容量docker exec -it log-monitor /app/scripts/clean-old-logs.shLOG_ROTATE_DAYS=7设置日志保留天数


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务