“phoenix” 是一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、docker、数据库、网络、tcp端口和http接口,通过实时收集、汇聚和分析监控信息,实现在发现异常时立刻推送告警信息,并且提供了可视化系统进行配置、管理、查看。
开源不等同于免费,不能基于 phoenix 二次开发修改 logo、名称、版权等。
应用程序
默认支持Java应用程序,监控内容包括:在线状态、JVM(内存、线程、类、GC等)、埋点监控(业务告警、异常日志)。其它应用程序需要自己开发客户端,来调用接口与服务端或者代理端通信(心跳接口、服务器信息接口、告警接口);
服务器
支持主流服务器,如Linux、Windows、macOS、Unix等;
监控内容包括:在线状态、操作系统、CPU、平均负载、进程、磁盘、内存、网卡、电池、传感器;
Docker
监控内容包括:服务、容器、镜像、事件、资源;
数据库
支持MySQL、Oracle、Redis、Mongo;
监控内容:
MySQL:会话;
Oracle:会话、表空间;
Redis:Redis信息全集;
Mongo:Mongo信息全集;
网络:支持监控网络状态;
TCP:支持监控TCP服务状态;
HTTP:支持监控HTTP服务状态;
告警:默认支持电子邮件、钉钉、企业微信。
功能架构
红旗标注部分为收费功能,需向作者购买(500¥,给源码,不开发票)。
系统架构
运行环境
Maven3+
Jdk >=1.8,若使用Sigar监控服务器,则Jdk版本要用1.8(1.8.0_131到1.8.0_241)
Lombok
Mysql5.7+
技术选型
核心框架:SpringBoot
安全框架:SpringSecurity、SpringSession
任务调度:JUC、SpringTask、Quartz
持久层框架:MyBatis-Plus
数据库连接池:Alibaba druid
日志管理:SLF4J、Logback
前端框架:Layui、ECharts、jtopo、xterm
监控框架:Sigar、oshi、Alibaba arthas
模块结构
平台使用 Java + Layui 开发,数据库采用MySQL。
phoenix(监控平台父工程)
├── phoenix-common(监控公共模块父工程)
│ ├── phoenix-common-core(监控核心公共模块)
│ └── phoenix-common-web(监控WEB公共模块)
├── phoenix-client(监控客户端父工程)
│ ├── phoenix-client-core(监控客户端)
│ ├── phoenix-client-spring-boot-starter(监控客户端与springboot集成的starter)
│ └── phoenix-client-spring-mvc-integrator(监控客户端与springmvc集成的integrator)
├── phoenix-agent(监控代理端)
├── phoenix-server(监控服务端)
├── phoenix-ui(监控UI端)
├── doc(文档)
└── script(Maven打包脚本)
phoenix:监控平台父工程,管理平台的依赖、构建、插件等;
phoenix-common:监控公共模块,提供平台所有的公共代码,包含一个监控核心公共模块(phoenix-common-core)和一个监控WEB公共模块(phoenix-common-web);
phoenix-client:监控客户端,用于集成到Java应用程序中实现业务埋点和Java应用程序监控信息收集,包含一个通用模块(phoenix-client-core)和与springboot集成的starter(phoenix-client-spring-boot-starter)、与springmvc集成的integrator(phoenix-client-spring-mvc-integrator)两个拓展模块;
phoenix-agent:监控代理端,用于收集服务器信息、Docker信息,汇聚、转发来自监控客户端的信息,若部署在跳板机上可打通网络壁垒;
phoenix-server:监控服务端,是监控平台的核心模块,用于汇聚、分析监控信息,在发现异常时实时推送告警信息;
phoenix-ui:监控可视化系统,用于平台配置、用户管理、监控信息查看、图表展示等;
doc:包含平台的设计文档、服务启停脚本、数据库脚本等;
script:包含平台的Maven打包脚本。
源码仓库地址
https://gitee.com/monitoring-platform/phoenix
https://github.com/709343767/phoenix
注意:一定要下载最新发行版源码!
中央仓库地址
<!-- https://mvnrepository.com/artifact/com.gitee.pifeng/phoenix-client-core -->
<dependency>
<groupId>com.gitee.pifeng</groupId>
<artifactId>phoenix-client-core</artifactId>
<version>${最新稳定版本}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.gitee.pifeng/phoenix-client-spring-boot-starter -->
<dependency>
<groupId>com.gitee.pifeng</groupId>
<artifactId>phoenix-client-spring-boot-starter</artifactId>
<version>${最新稳定版本}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.gitee.pifeng/phoenix-client-spring-mvc-integrator -->
<dependency>
<groupId>com.gitee.pifeng</groupId>
<artifactId>phoenix-client-spring-mvc-integrator</artifactId>
<version>${最新稳定版本}</version>
</dependency>
最新稳定版本
1.2.5.RELEASE
http://124.222.235.43/phoenix-ui/index
账号:guest
密码:guest123
注意:1.演示项目只提供非管理员账号,只有查看权限!
2.演示项目访问比较慢是因为服务器太菜,带宽太小!
https://gitee.com/monitoring-platform/phoenix/wikis/pages?sort_id=4420016&doc_id=935794
欢迎提出更好的意见,帮助完善 phoenix
作者微信:pifengeclipse
作者QQ:709343767