Phoenix ist eine flexible und konfigurierbare Open-Source-Systemüberwachungsplattform. Sie wird hauptsächlich zur Überwachung von Anwendungen, Servern, Datenbanken, Netzwerken, TCP-Ports und HTTP-Schnittstellen verwendet. Sie sendet Alarminformationen in Echtzeit und stellt eine visuelle Darstellung bereit System zur Konfiguration, Verwaltung, Prüfung.
1. Verteilt;
2. Plattformübergreifend;
3. Unterstützung der Docker-Bereitstellung;
4. Echtzeitüberwachung und Alarmierung;
5. Datenverschlüsselung bei der Übertragung;
6. Flexibel und konfigurierbar;
7. Die Benutzeroberfläche unterstützt PC und mobile Endgeräte.
App
Java-Anwendungen werden standardmäßig unterstützt und die Überwachungsinhalte umfassen: Online-Status, JVM und Geschäftsfokus. Andere Anwendungen müssen ihre eigenen Clients entwickeln, um Schnittstellen für die Kommunikation mit dem Server oder Agenten aufzurufen (Heartbeat-Schnittstelle, Serverinformationsschnittstelle, Alarmschnittstelle).
JVM
Zu den Überwachungsinhalten gehören: Speicher, Threads, Klassen, GC usw.;
Server
Unterstützt Mainstream-Server wie Linux, Windows, macOS, Unix usw.;
Zu den Überwachungsinhalten gehören: Online-Status, Betriebssystem, CPU, durchschnittliche Auslastung, Prozess, Festplatte, Speicher, Netzwerkkarte, Akku und Sensoren;
Datenbank
Unterstützt MySQL, Oracle, Redis, Mongo;
Inhalte überwachen
MySQL: Sitzung;
Oracle: Sitzung, Tabellenbereich;
Redis: Vollständige Sammlung von Redis-Informationen;
Mongo: Vollständige Sammlung von Mongo-Informationen;
Netzwerk: Unterstützt die Überwachung des Netzwerkstatus;
TCP: Unterstützt die Überwachung des TCP-Dienststatus;
HTTP: Unterstützt die Überwachung des HTTP-Dienststatus;
Warnung: E-Mail wird standardmäßig unterstützt.
Funktionale Architektur
logische Architektur
Maven3+
Jdk >=1.8, wenn Sie Sigar zur Überwachung des Servers verwenden, verwenden Sie Jdk 1.8 (1.8.0_131 bis 1.8.0_241).
Lombok
MySQL5.7+
Kernframework: SpringBoot
Sicherheitsframework: SpringSecurity, SpringSession
Aufgabenplanung: JUC, SpringTask, Quartz
Persistenzschicht-Framework: MyBatis, MyBatis-Plus
Datenbankverbindungspool: Alibaba Druid
Protokollverwaltung: SLF4J, Logback
Front-End-Framework: Layui, ECharts
Überwachungsrahmen: Sigar, oshi
Die Plattform wird mit Java + Layui + ECharts entwickelt und die Datenbank verwendet MySQL.
phoenix (übergeordnetes Projekt der Überwachungsplattform) ├── phoenix-common (übergeordnetes Projekt des gemeinsamen Überwachungsmoduls) │ ├── phoenix-common-core (gemeinsames Überwachungskernmodul) │ └── phoenix-common-web (gemeinsames WEB-Überwachungsmodul) ├── phoenix-client (überwachendes Client-Mutterprojekt) │ ├── phoenix-client-core (Überwachungsclient) │ ├── phoenix-client-spring-boot-starter (Überwachungsclient und Springboot-Integrationsstarter) │ └── phoenix-client-spring-mvc-integrator (Überwachungsclient Integrator integriert in springmvc )├── phoenix-agent (Überwachungsagent)├── phoenix-server (Überwachungsserver) ├── phoenix-ui (Überwachungs-UI) └── doc (Dokumentation)
Phoenix: Überwacht das übergeordnete Projekt der Plattform, verwaltet Plattformabhängigkeiten, Builds, Plug-Ins usw.;
phoenix-common: gemeinsames Überwachungsmodul, das den gesamten öffentlichen Code der Plattform bereitstellt, einschließlich eines öffentlichen Überwachungskernmoduls (phoenix-common-core) und eines gemeinsamen WEB-Überwachungsmoduls (phoenix-common-web);
phoenix-client: Überwachungsclient, der zur Integration in Java-Anwendungen verwendet wird, um Geschäftsverfolgung und Java-Anwendungsüberwachungsinformationserfassung zu implementieren, einschließlich eines gemeinsamen Moduls (phoenix-client-core) und eines in Springboot integrierten Starters (phoenix-client-spring-boot- Starter) und der Integrator integriert mit springmvc (phoenix-client-spring-mvc-integrator) zwei Erweiterungsmodule;
phoenix-agent: Überwachungsagent, der zum Sammeln von Serverinformationen sowie zum Zusammenfassen und Weiterleiten von Informationen von Überwachungsclients verwendet wird;
Phoenix-Server: Der Überwachungsserver ist das Kernmodul der Überwachungsplattform. Er wird zum Sammeln und Analysieren von Überwachungsinformationen sowie zum Übertragen von Alarminformationen in Echtzeit verwendet, wenn Anomalien festgestellt werden.
phoenix-ui: Überwachungsvisualisierungssystem, das für die Plattformkonfiguration, Benutzerverwaltung, Anzeige von Überwachungsinformationen, Diagrammanzeige usw. verwendet wird;
doc: Enthält Plattformdesigndokumente, Skripte zum Starten und Herunterfahren von Diensten, Datenbankskripte usw.