找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1094

积分

0

好友

158

主题
发表于 4 天前 | 查看: 23| 回复: 0

在利用 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



上一篇:基于Spring AI与RAGFlow构建OBS埋点数据分析AI Agent实战
下一篇:Python PyWebIO快速构建Web应用指南:告别前端开发繁琐流程
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 19:06 , Processed in 0.118321 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表