# zero-observer **Repository Path**: lucky_cube/zero-observer ## Basic Information - **Project Name**: zero-observer - **Description**: 一个开箱即用的一站式 Java 应用日志观测工具,无需各种复杂繁琐的配置,使用门槛低。 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-07-07 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 Java 应用开发时,服务器上的日志往往是以日志文件的形式存在。在日常维护时,通常需要将日志信息实现可视化查询。 ELK、EFK 等是优秀的日志可视化查询解决方案。不过对于部分开发者来说,日志的采集配置与日志可视化配置是一个比较繁琐的过程。 为此我们希望通过一些低门槛的方式,实现日志的自动采集与日志可视化查询。 zero-observer 依托于 [zero-log](https://gitee.com/kuafucv/zero-log) 的自动化日志采集插件,实现接收 Java 应用上报的日志数据,并提供开箱即用的日志可视化检索功能,极大降低了 Java 应用日志可视化检索的门槛。 # 软件架构 ![img.png](images/img.png) # 快速接入 ## 安装教程 > zero-observer 数据存储使用的是 mysql 与 elasticsearch,mysql 存储的是系统数据,elasticsearch 存储的是日志数据。 > 所以需要自行安装 mysql 与 elasticsearch。 ### Mysql 初始化脚本 创建数据库:zero_observer,执行下面建表语句。 ```mysql CREATE TABLE `app_log_growth_trend` ( `id` bigint(20) NOT NULL, `create_time` datetime NOT NULL, `app` varchar(255) NOT NULL, `env` varchar(50) NOT NULL, `level` varchar(10) NOT NULL, `statistic_time` datetime NOT NULL, `log_count` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `app_log_total_growth_trend` ( `id` bigint(20) NOT NULL, `create_time` datetime NOT NULL, `statistic_time` datetime NOT NULL, `log_count` bigint(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` ### Docker 部署 ```shell # 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/kuafucv/zero-observer:0.0.1 # 启动容器 docker run -itd -p 8080:8080 --name zero-observer \ -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:0.0.1 ``` > 参数解析: > - ES_IP:elasticsearch 的 ip > - ES_PORT:elasticsearch restapi 的端口 > - ES_USERNAME:elasticsearch 用户名,无则不填即可 > - ES_PASSWORD:elasticsearch 密码,无则不填即可 > - MYSQL_IP:mysql 的ip > - MYSQL_PORT:mysql 端口 > - MYSQL_USERNAME 用户名 > - MYSQL_PASSWORD 密码 ### Jar 包部署 下载 zero-observer.jar,start 启动器,application.yml 配置文件,修改 application.yml 中 es 与 mysql 的配置。 ```shell chmod -R 777 start ./start java -jar zero-observer.jar ``` > 默认 server.port=9999 ### 日志上报接口 >/log/report 该接口是无缝对接 zero-log 发送的日志数据的接口,Java 应用在接入 zero-log 时,添加的 appender 需要将该地址配置进去。 ## Java 应用日志接入 Java 应用引入 [zero-log](https://gitee.com/kuafucv/zero-log) 即可。 ### 1. 引入 maven 依赖 ```xml io.github.kuafucv zero-log 0.0.5 ``` ### 2. 配置 logback-spring.xml ```xml ${FILE_LOG_PATTERN} ${FILE_LOG_CHARSET} http://ip:port/log/report true ${app_name} ${env} 3 1000 1000 8 1024 ``` ### 3. 日志观测 启动 Java 服务,等待日志自动上报至 zero-observer即可。 ## 系统功能 ### 仪表盘 ![img_1.png](images/img_1.png) ### 应用日志 ![img_2.png](images/img_2.png) ### 应用控制台日志 ![img_3.png](images/img_3.png) ### 应用日志查询 ![img_4.png](images/img_4.png) ### 应用日志详情 ![img_5.png](images/img_5.png) ## 联系我们 ![img1.png](images/img00.png) ## 赞助支持 ![1191831750864963_.pic.jpg](images/1191831750864963_.pic.jpg) ![1191821750864960_.pic.jpg](images/1191821750864960_.pic.jpg)