
一、项目初衷
Java 应用开发的同学都知道,项目上线后,日志可视化查询、接口性能监控、慢请求分析、调用链监控、JVM 可视化监控是一件非常重要的事。
市面上对于上丢与日志的可视化查询、接口的性能监控、调用链监控、JVM 的可视化监控都有常用的方案。
- 日志可视化查询:ELK/EFK。
- JVM 可视化监控与接口性能:Actuator + Prometheus + Grafana。
- 调用链监控:PingPoint、Skywalking、Zipkin 等。
上述方案都是优秀且成熟的开源解决方案,不过对于很多开发者来说,这中间存在大量繁琐的配置过程,且具备一定的使用学习门槛,部署成本与运维成本也比较高。
是否有一款使用部署轻量级、配置简单、开箱即用,又能对对应用做全方位的监控管理的系统?zero-log 与 zero-observer 便应运而生。
- zero-log 嵌入式日志采集工具,配置简单,即插即用。
- zero-observer 一站式、轻量级、低门槛、零侵入的 Java 应用监控平台,开箱即用。
旨在于以极简、高效的方式,在一个平台上实现 Java 应用的日志采集与可视化查询、接口性能监控、慢请求分析、调用链监控、JVM 可视化监控。
官网:https://kuafucv.com
二、系统架构
Standalone 模式

Standalone 模式下,zero-log 专注于日志与监控数据的采集,并上报至 zero-observer 服务端,由 zero-observer 提供一站式可视化功能页面,支持多个应用、多环境、多实例接入管理。
Lite 模式

Lite 模式下,zero-log 不仅实现日志采集,还提供一站式轻量级日志查询页面,包括控制台日志与日志查询功能,并支撑日志数据导出。当前模式下仅支持单应用实例,适合个人开发者、中小型应用。需要多应用、多环境、多实例同时接入的,请使用 Standalone 模式。
三、项目介绍
该项目主要分为客户端和服务端两个部分。
采集客户端【zero-log】
gitee 地址:https://gitee.com/kuafucv/zero-log
旨在提供低门槛、少配置、轻量级、无侵入的方式实现应用日志、接口性能、调用链、JVM 指标的自动采集与上报。
- 支持 Logback、Log4j2 日志框架,运行时自动识别并动态挂载 Appender,无需修改日志配置文件,即可采集代码中通过 log.error、log.warn、log.info、log.trace 方式输出的日志。
- 采集各个接口的性能数据。
- 采集方法调用监控链数据。
- 采集 JVM 运行时各项指标。
- lite 模式下,同时提供日志可视化查询功能,无需 zero-observer 的支持。
服务端【zero-observer】
gitee 地址:https://gitee.com/kuafucv/zero-observer
收集客户端采集插件采集的客户端数据,并提供开箱即用的可视化与管理功能,需要配合 zero-log 的 standalone 模式使用。
功能介绍
| 登录认证 | ✅ |
| 仪表盘统计 | ✅ |
| 应用实例管理 | ✅ |
| 应用实例在线状态监控 | ✅ |
| 应用日志采集 | ✅ |
| 应用控制台日志 | ✅ |
| 应用日志列表检索 | ✅ |
| 单机 Lite 模式 | ✅ |
| 接口性能监控 | ✅ |
| 接口慢请求分析 | ✅ |
| CPU 监控 | ✅ |
| 物理内存监控 | ✅ |
| 堆内存监控 | ✅ |
| 非堆内存监控 | ✅ |
| Eden区监控 | ✅ |
| Survivor区监控 | ✅ |
| OldGen区监控 | ✅ |
| Metaspace区监控 | ✅ |
| 线程监控 | ✅ |
| GC监控 | ✅ |
| 调用链监控 | ✅ |
| 预警规则 | ✅ |
| 预警事件 | ✅ |
zero-log lite 模式系统截图
控制台

日志查询

ZeroObserver 系统截图
仪表盘

应用列表

应用实例管理

应用控制台日志

应用日志查询

应用日志详情

接口性能监控

慢请求分析

调用链监控

JVM 监控



预警规则


预警事件

事件详情

触发记录明细




