# phoenix **Repository Path**: monitoring-platform/phoenix ## Basic Information - **Project Name**: phoenix - **Description**: “phoenix”是一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、网络设备、docker、数据库、网络、tcp端口和http接口,在发现异常时实时推送告警信息,并且提供了可视化系统进行配置、管理、查看。 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: http://124.222.235.43/phoenix-ui/index - **GVP Project**: No ## Statistics - **Stars**: 1432 - **Forks**: 382 - **Created**: 2020-04-30 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: system-monitor **Tags**: 监控系统, 运维工具, 告警, 应用性能监控, 网络设备监控 ## README
## ✨ Key Features
- **🖥️ Full-Stack Monitoring** — One-stop monitoring from applications to infrastructure, see [Feature Comparison](#-feature-comparison) for details
- **⚡ Real-Time Alerting** — Multi-channel notifications + four-level alerting mechanism (INFO/WARN/ERROR/FATAL)
- **🔧 Flexible Configuration** — Flexible alert definition engine with dynamically adjustable monitoring strategies
- **🌐 Distributed Architecture** — Supports cluster deployment; agents can be deployed on jump servers to bridge network barriers
- **🔒 Data Security** — Supports encrypted data transmission to ensure monitoring data security
- **🐳 Containerized Deployment** — One-click deployment with Docker / Docker Compose, installation completed in 10 minutes
- **📱 Multi-Platform Support** — Web interface supports both desktop and mobile devices
- **🔄 Dynamic Thread Pool** — View and modify thread pool parameters at runtime, supporting 7 queue types, 6 rejection policies + SPI extension
- **📡 High Extensibility** — Multi-protocol communication architecture, extensible to monitor programs written in other programming languages
## 🔍 Feature Comparison
Phoenix offers two editions: **Open Source (1.x)** and **Commercial (2.x)**. The open source edition includes core monitoring capabilities, suitable for personal learning and small projects. The commercial edition extends with Docker monitoring, network device management, online diagnostics, dynamic thread pool, slow SQL monitoring, enterprise notification channels, business exception log collection, and other advanced features, suitable for enterprise production environments.
> 💰 Marks indicate commercial edition exclusive paid features.
| Module | Feature | Monitoring Content | Open Source (1.x) | Commercial (2.x) |
|:-------|:--------|:-------------------|:-----------------:|:-----------------:|
| **Server Monitoring** | Server Resource Monitoring | Online status, OS, CPU, load average, memory, disk, NIC, battery, sensors, processes | ✅ | ✅ |
| **Java Application Monitoring** | JVM Monitoring | JVM overview, memory, threads, class loading, GC | ✅ | ✅ |
| | Application Instance Status Monitoring | Online status | ✅ | ✅ |
| | Business Instrumentation Monitoring | Business instrumentation | ✅ | ✅ |
| | Dynamic Thread Pool Monitoring & Management | Thread pool parameter viewing and dynamic modification | ❌ | 💰 |
| | Arthas Online JVM Diagnostics | Online JVM diagnostics | ❌ | 💰 |
| **Network Monitoring** | HTTP Interface Monitoring | Interface availability | ✅ | ✅ |
| | TCP Port Monitoring | Telnet port status | ✅ | ✅ |
| | Ping Network Connectivity Monitoring | Network connectivity | ✅ | ✅ |
| | Network Device SNMP Monitoring | Switches, routers, etc.: online status, system info, interface info | ❌ | 💰 |
| **Database Monitoring** | Database Connection Status Monitoring | MySQL, Oracle, Redis, MongoDB online status and sessions | ✅ | ✅ |
| | Database Slow SQL Monitoring | MySQL slow SQL, Oracle slow SQL and tablespace | ❌ | 💰 |
| **Docker Monitoring** | Full Docker Monitoring | Service status, containers, images, events, resource statistics | ❌ | 💰 |
| **Alert System** | Alert Notification (Email / SMS) | Four-level alerts (INFO/WARN/ERROR/FATAL) | ✅ | ✅ |
| | Alert Notification (DingTalk / WeCom / Feishu) | Multi-channel enterprise notification | ❌ | 💰 |
| | Alert Count Configuration (Failure / Recovery) | Failure and recovery alert count thresholds | ❌ | 💰 |
| **Log Management** | Operation Log Management | Operation log recording, viewing, management | ✅ | ✅ |
| | Exception Log Management | Exception log recording, viewing, management | ✅ | ✅ |
| | Business Exception Log Collection | Client-side exception log collection | ❌ | 💰 |
| **Communication Architecture** | HTTP Communication | Basic HTTP communication | ✅ | ✅ |
| | WebSocket Communication | WebSocket real-time communication | ❌ | 💰 |
| **Visual Interface** | Basic Monitoring Dashboard | Desktop and mobile monitoring panels | ✅ | ✅ |
| | Docker Management Interface | Docker management and monitoring pages | ❌ | 💰 |
| | Network Device Management Interface | Network device management and monitoring pages | ❌ | 💰 |
| | Network Topology Map | Topology map display | ❌ | 💰 |
| | Web Terminal Emulation | Online terminal | ❌ | 💰 |
| | Arthas Diagnostics Interface | Arthas diagnostics operation pages | ❌ | 💰 |
> 📮 **Get Commercial Edition**: To obtain a commercial license or learn more details, please refer to the [《Commercial Pricing Plan》](doc/商用版定价方案.pdf) or contact the author (WeChat: `pifengeclipse`). For more contact methods, see [Contact Us](#-contact-us).
## 🏗️ System Architecture

## 🛠️ Tech Stack
| Category | Technology |
|:---------|:-----------|
| **Core Framework** | Spring Boot, Netty |
| **Security Framework** | Spring Security, Spring Session |
| **Persistence Layer** | MyBatis-Plus, Alibaba Druid |
| **Task Scheduling** | JUC, Spring Task, Quartz |
| **Server Monitoring** | Sigar / OSHI |
| **Network Device Monitoring** | SNMP4J |
| **Docker Monitoring** | docker-java |
| **JVM Diagnostics** | Alibaba Arthas |
| **Encryption** | Bouncy Castle |
| **Frontend Framework** | Layui, ECharts, jtopo (topology), xterm (terminal emulation) |
| **Utility Libraries** | Hutool, FastJSON, Jackson, Apache Commons (IO/Collections/Net) |
| **Others** | EasyPOI (export), Knife4j (API documentation) |
## 📦 Project Structure
```
phoenix (Monitoring Platform)
├── phoenix-common (Common Modules)
│ ├── phoenix-common-core -- Core common: thread pool, data models, utilities, encryption/decryption
│ ├── phoenix-common-netty -- Netty communication: WebSocket, persistent connections, reconnection
│ └── phoenix-common-web -- Web common: REST API infrastructure
├── phoenix-client (Client SDK)
│ ├── phoenix-client-core -- Core: data collection, heartbeat, business instrumentation
│ ├── phoenix-client-spring-boot-starter -- Spring Boot auto-configuration
│ └── phoenix-client-spring-mvc-integrator -- Spring MVC adapter
├── phoenix-agent -- Agent: server/Docker/SNMP data collection
├── phoenix-server -- Server: data processing, alert engine, configuration distribution
├── phoenix-ui -- Visual UI: web management interface
├── doc -- Documentation: architecture diagrams, screenshots, DB scripts, deployment scripts, technical blog
└── mvn -- Maven packaging scripts
```
## 🚀 Quick Start
> One-click installation: complete automated setup in **10 minutes**
> Minimum resource requirements: **1 CPU core / 2 GB RAM / 5 GB disk**
### Docker Installation (Recommended)
Software dependency: Docker 20.10.14+
```bash
bash -c "$(curl -fsSL https://gitee.com/monitoring-platform/phoenix/raw/master/doc/Docker/install.sh)"
```
### Docker Compose Installation
Software dependency: Docker Compose 2.0.0+
```bash
bash -c "$(curl -fsSL https://gitee.com/monitoring-platform/phoenix/raw/master/doc/DockerCompose/install.sh)"
```
### Install Agent (Required for Server Monitoring)
```bash
bash -c "$(curl -fsSL https://gitee.com/monitoring-platform/phoenix/raw/master/doc/Docker/phoenix-agent/install_agent.sh)"
```
### Configuration Guide
**phoenix-server configuration:**
1. Copy `application-prod.yml` from the source directory `phoenix-server/src/main/resources/`
2. Place it in `/data/phoenix/phoenix-server/config/`
3. Edit the file to configure email and other alert channels
4. Restart the phoenix-server container
**phoenix-agent configuration:**
1. Copy `monitoring-prod.properties` from the source directory `phoenix-agent/src/main/resources/`
2. Place it in `/data/phoenix/phoenix-agent/config/`
3. Set `monitoring.comm.http.url` to `http://
## 🖥️ Live Demo
| Demo URL | Account | Password |
|:---------|:--------|:---------|
| [http://124.222.235.43/phoenix-ui/index](http://124.222.235.43/phoenix-ui/index) | guest | guest123 |
> **Note:** The demo environment provides view-only access, and access speed is limited by server bandwidth.
## 🤝 Contributing
We welcome suggestions to help improve Phoenix!
1. Fork this repository
2. Create a feature branch (`git checkout -b feature/your-feature`)
3. Commit your changes (`git commit -m 'Add your feature'`)
4. Push to the branch (`git push origin feature/your-feature`)
5. Submit a Pull Request
💡 [Changelog](https://gitee.com/monitoring-platform/phoenix/wikis/pages?sort_id=4420016&doc_id=935794)
## 📄 License
[](https://www.gnu.org/licenses/gpl-3.0.txt)
This project is open-sourced under the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt) license. Please comply with the license requirements.
## 📬 Contact Us
| Method | Info |
|:-------|:-----|
| WeChat | `pifengeclipse` |
| QQ | `709343767` |
| QQ Group | [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=qEfrXWBpzslfYc9QrTQJwx1Kty0sC3Ee&authKey=0GQGNvA5G0SLWZgRyn9EjX3Uta0WLAGuzSmrGqNWAnaUTU5LzRTZovcB2ivgE%2BFm&noverify=0&group_code=773127639) |
## 💰 Donate
If Phoenix has been helpful to you, feel free to donate to support the project's continued development!
## ⭐ Star History
### GitHub
[](https://star-history.com/#709343767/phoenix&Date)
### GitCode
[](https://gitcode.com/monitoring-platform/phoenix)