在利用 Docker 进行容器化部署时,日志管理时常面临两难:若缺乏有效监控,关键错误或安全警报极易被忽视;而手动执行 docker logs 命令又过于繁琐和低效。
近期出现了一款实用且轻量级的开源工具 LoggiFly,它能够自动监控容器日志,并在发现异常时及时推送通知,极大地简化了运维工作。

项目简介
LoggiFly 是一款专为 Docker、Docker Swarm 以及 Podman 环境设计的开源日志监控工具。它能实时扫描容器日志中的指定关键词或正则表达式,一旦匹配到目标内容,便会自动触发多种渠道的通知,并可执行诸如容器重启、停止等预定义操作。
你可以将其视为一个 “智能看门狗 + 通知中心” ,专门负责盯守那些至关重要却容易被遗漏的日志细节。该工具配置灵活,既支持通过环境变量快速部署以方便新手,也允许高级用户通过配置文件实现精细化管控。


功能特性
- 灵活的日志检测:支持简单关键词匹配、复杂正则表达式以及多行日志分析,能够精准捕捉各种日志模式。
- 多渠道告警通知:通过集成 Ntfy 或 Apprise,可接入超过100种通知服务,涵盖 Slack、Discord、Telegram、Email 等主流渠道,支持自定义通知标题、优先级和标签。

- 主动容器控制:检测到特定关键词时,可自动触发容器重启或停止操作,防止故障扩散,支持为不同容器设置独立的操作策略。
- 日志附件与模板化通知:告警时可自动附带相关日志片段作为上下文,支持自定义通知消息模板,有效过滤无关信息,提升告警的实用性和可读性。

- 多平台兼容:全面支持 Docker、Docker Swarm 和 Podman(包括 rootless 模式),能灵活适应不同的容器化环境和 云原生 部署场景。
- 配置方式多样:新手可通过环境变量快速上手,高级用户则能通过
config.yaml 配置文件实现细粒度的规则控制,支持按容器定制关键词和通知逻辑。
快速安装使用
推荐使用 Docker Compose 部署 LoggiFly,这种方式既安全又便捷。以下是两种常见的部署方式:
1. 环境变量快速部署(适合新手)
创建一个 docker-compose.yml 文件,并填入以下内容。你只需要配置好通知渠道和要监控的容器即可。
version: "3.8"
services:
loggifly:
image: ghcr.io/clemcer/loggifly:latest
container_name: loggifly
user: 1000:1000
read_only: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
TZ: Europe/Berlin
NTFY_URL: "https://ntfy.sh"
NTFY_TOPIC: "你的ntfy主题"
CONTAINERS: "vaultwarden,audiobookshelf"
GLOBAL_KEYWORDS: "error,failed login,password"
restart: unless-stopped
执行 docker-compose up -d 即可启动服务。这种方式适合快速体验基础监控功能。
2. 配置文件精细化部署(高级用法)
若要使用所有高级功能,需挂载自定义的 config.yaml 配置文件。
首先,在本地创建目录 ./loggifly/config,并在其中创建 config.yaml 文件,写入你的配置:
containers:
vaultwarden:
keywords:
- error
- regex:(username|password).*incorrect
attach_logfile: true
audiobookshelf:
keywords:
- login
global_keywords:
keywords:
- failed
- critical
notifications:
ntfy:
url: http://你的ntfy服务器
topic: loggifly
token: "你的ntfy令牌"
然后,修改 docker-compose.yml,挂载配置目录:
version: "3.8"
services:
loggifly:
image: ghcr.io/clemcer/loggifly:latest
container_name: loggifly
user: 1000:1000
read_only: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./loggifly/config:/config
environment:
TZ: Europe/Berlin
restart: unless-stopped
启动后,LoggiFly 将自动加载你的配置文件,实现针对性的监控。当检测到匹配的关键词时,它会通过你设定的通知服务(如 Ntfy)发送实时告警,这是 DevOps 自动化运维中重要的一环。
项目小结
LoggiFly 是一个非常实用的开源日志监控与通知解决方案。它无需搭建复杂的日志聚合架构,仅通过简单的配置即可实现精准的日志关键词检测与智能告警,尤其适合自托管服务和容器化环境。
无论你是需要轻量部署、自动通知,还是希望通过日志事件触发容器操作,它都能很好地满足需求。其基于正则表达式的检测能力也让它能应对更复杂的 日志分析模式。
更多详细功能和配置选项,可以访问项目 GitHub 仓库查看:
https://github.com/clemcer/loggifly