一、开源项目简介
“phoenix” 是一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、数据库和网络,通过实时收集、汇聚和分析监控信息,实现在发现异常时立刻推送告警信息,并且提供了可视化系统进行配置、管理、查看。
二、功能概述
- 应用程序默认支持Java应用程序,监控内容包括:在线状态、JVM、业务埋点。其它应用程序需要自己开发客户端,来调用接口与服务端或者代理端通信(心跳接口、服务器信息接口、告警接口);
- JVM监控内容包括:内存、线程、类、GC等;
- 服务器支持主流服务器,如Linux、Windows、macOS、Unix等;
- 监控内容包括:在线状态、操作系统、CPU、进程、磁盘、内存、网卡、电池、传感器;
- 数据库支持MySQL、Oracle、Redis;
- 监控内容: MySQL:会话; Oracle:会话、表空间; Redis:Redis信息全集;
- 网络:支持监控网络状态;
- 告警:默认支持电子邮件。
特点
- 分布式;
- 跨平台;
- 支持docker部署;
- 实时监测告警;
- 数据加密传输;
- 灵活可配置;
- 用户界面支持PC端、移动端。
三、技术选型
功能架构
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131540770.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
逻辑架构
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图1 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图1](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131544839.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
运行环境
- Maven3+
- Jdk1.8
- Lombok
- Mysql5.7+
技术选型
- 核心框架:SpringBoot
- 安全框架:SpringSecurity、SpringSession
- 任务调度:JUC、SpringTask、Quartz
- 持久层框架:MyBatis、 MyBatis-Plus
- 数据库连接池:Alibaba Druid
- 日志管理:SLF4J、Logback
- 前端框架:Layui、ECharts
- 监控框架:Sigar、oshi
模块结构
平台使用Java + Layui + ECharts开发,数据库采用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(文档)
- 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:监控代理端,用于收集服务器信息和汇聚、转发来自监控客户端的信息;
- phoenix-server:监控服务端,是监控平台的核心模块,用于汇聚、分析监控信息,在发现异常时实时推送告警信息;
- phoenix-ui:监控可视化系统,用于平台配置、用户管理、监控信息查看、图表展示等;
- doc:包含平台的设计文档、服务启停脚本、数据库脚本等。
集群部署
监控服务端、监控UI端支持集群部署,提升系统的容灾和可用性。
集群部署时的几点要求和建议:
- DB配置保持一致;
- 集群机器时钟保持一致(单机集群忽视);
- 建议:推荐通过nginx为集群做负载均衡。监控服务端、监控UI端均通过nginx进行访问。
四、界面展示
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图2 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图2](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131844360.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图3 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图3](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131850970.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图4 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图4](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131900689.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图5 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图5](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933704.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图6 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图6](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933837.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图7 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图7](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933210.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图8 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图8](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933128.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图9 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图9](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131938355.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图10 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图10](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131940666.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图11 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图11](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933346.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图12 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图12](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933398.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图13 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图13](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131933231.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图14 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图14](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131937407.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图15 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图15](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131938700.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图16 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图16](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131938753.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图17 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图17](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131939226.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图18 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图18](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131937264.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图19 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图19](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131940293.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图20 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图20](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131939259.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图21 灵活可配置的开源监控平台,监控应用程序、服务器、数据库和网络插图21](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220808131938681.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
五、开源协议
使用GPL-3.0开源协议
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)