Skip to content

DPanel-dev/plugin-log-lens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogLens

DPanel 日志收集分析器插件 — 基于管道的日志收集、实时查看与智能分析。

功能特性

  • 管道管理 — 创建收集管道,一个管道对接一个容器,数据完全隔离
  • 动态收集 — 通过 Fluentd Forward / Syslog UDP 协议接收容器日志
  • 静态分析 — 自动识别挂载的日志文件,支持 Nginx / Syslog / JSON / Docker 等格式
  • 实时日志流 — 自动滚动显示最新日志
  • 智能分析 — 日志级别分布、Top IP、HTTP 状态码统计、时间线趋势
  • 告警系统 — 每管道独立告警阈值,高危事件持久化通知
  • 日志持久化 — SQLite 存储,自动清理过期数据
  • 日志导出 — JSONL 格式一键导出

快速开始

1. 安装插件

在 DPanel 插件管理中安装 LogLens,配置日志接收端口(默认 24224)。

2. 创建管道

在 LogLens 界面点击「新建管道」,输入名称(如 nginx-prod),名称同时作为日志路由的 Tag。

3. 接入容器

启动容器时指定日志驱动:

docker run --log-driver=fluentd \
  --log-opt fluentd-address=<host>:24224 \
  --log-opt tag=nginx-prod \
  nginx:latest

或使用 Syslog:

docker run --log-driver=syslog \
  --log-opt syslog-address=udp://<host>:15140 \
  --log-opt tag=nginx-prod \
  nginx:latest

4. 查看与分析

  • 「实时日志」Tab — 自动滚动显示最新日志
  • 「分析」Tab — 一键生成统计报告和告警
  • 「日志查询」Tab — 按级别、关键词过滤搜索

管道类型

类型 说明
动态 用户创建,通过 fluentd/syslog 驱动接收容器日志
静态 启动时自动扫描 /logs/ 目录生成,不可删除,可编辑名称

插件配置项

配置 默认值 说明
RECEIVE_PORT 24224 Fluentd Forward 协议端口
SYSLOG_PORT 15140 Syslog UDP 端口
DATA_RETENTION_DAYS 7 日志保留天数
MAX_LOG_SIZE_MB 100 静态文件单次分析上限
TIMEZONE Asia/Shanghai 时区
LOG_PATHS (空) 额外挂载的宿主机日志路径,逗号分隔

技术栈

  • 后端:Go + Gin + SQLite
  • 前端:Vue 3 + Material Design 3
  • 协议:Fluentd Forward (MessagePack) + Syslog UDP (RFC 3164)
  • 部署:Docker Compose 源码构建

API

接口 方法 说明
/api/pipelines GET 列出所有管道
/api/pipelines/create POST 创建动态管道
/api/pipelines/update POST 编辑管道名称/描述
/api/pipelines/delete POST 删除动态管道
/api/logs/query POST 分页查询日志
/api/logs/tail POST 获取最新日志
/api/logs/search POST 搜索日志
/api/logs/export POST 导出日志 (JSONL)
/api/analyze POST 分析管道
/api/alerts GET 告警列表
/api/alerts/read POST 标记已读
/api/alerts/config POST 更新告警阈值
/api/stats GET 全局统计
/api/stats/pipeline/:id GET 管道统计

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages