一、前言
Java 应用开发的同学都知道,项目上线后,日志的可视化查询、接口的性能监控、 JVM 的可视化监控是一件非常重要的事。
市面上成熟方案一般是采用 ELK/EFK 实现日志可视化,采用 Actuator + Prometheus + Grafana 实现 JVM 监控。
这两套都是非常优秀的解决方案,不过对于很多开发者来说,这中间存在大量的繁琐的配置过程。
而对于大多数中小型企业来说,很多都是一个简单的单体项目,并不想要多余的运维和部署成本!
而智能应用监控系统是一款轻量级、低门槛的日志可视化与性能监控一体化平台。接入方式简单,0 代码变更,在一个平台上实现系统日志的可视化查询、接口性能监控、JVM 的可视化监控。
开源地址:
https://gitee.com/kuafucv/zero-observer
官网:
二、软件介绍
zero-observer + zero-log = actuator + prometheus + grafana + elk / efk
1. 系统架构

该项目主要分为客户端和服务端两个部分。
客户端【zero-log】
采集客户端旨在提供低门槛、少配置、轻量级、无侵入的方式实现应用日志、接口性能、JVM 指标的自动采集与发送。
- 基于 logback 实现自动采集代码中通过 log.error、log.warn、log.info、log.trace 方式输出的日志。
- 采集各个接口的性能数据
- 采集 JVM 运行时各项指标
服务端【zero-observer】
收集客户端采集插件采集的客户端数据,并提供开箱即用的可视化检索功能。
2. 功能介绍
功能 | 实现情况 |
---|---|
登录认证 | ✅ |
仪表盘统计 | ✅ |
应用日志采集 | ✅ |
应用控制台日志 | ✅ |
应用日志列表检索 | ✅ |
接口性能监控 | ✅ |
CPU 监控 | ✅ |
物理内存监控 | ✅ |
堆内存监控 | ✅ |
非堆内存监控 | ✅ |
Eden区监控 | ✅ |
Survivor区监控 | ✅ |
OldGen区监控 | ✅ |
Metaspace区监控 | ✅ |
线程监控 | ✅ |
GC监控 | ✅ |
... | ... |
仪表盘

应用日志

应用控制台日志

接口性能监控

应用日志查询

应用日志详情

JVM 监控



三、部署方式
部署方式简单,支持二进制包部署与 docker 部署。
Docker 部署
bash
# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/kuafucv/zero-observer:1.2.0
# 启动容器
docker run -itd -p 8080:8080 --name zero-observer \
-e TZ=Asia/Shanghai
-e ES_IP=127.0.0.1 \
-e ES_PORT=9200 \
-e ES_USERNAME=es \
-e ES_PASSWORD=es \
-e MYSQL_IP=127.0.0.1 \
-e MYSQL_PORT=3306 \
-e MYSQL_USERNAME=root \
-e MYSQL_PASSWORD=123456 \
registry.cn-hangzhou.aliyuncs.com/kuafucv/zero-observer:1.2.0