Phoenix est une plateforme de surveillance de système open source flexible et configurable. Elle est principalement utilisée pour surveiller les applications, les serveurs, les bases de données, les réseaux, les ports TCP et les interfaces http. Elle transmet les informations d'alarme en temps réel lorsque des anomalies sont détectées et fournit un visuel. système de configuration, de gestion, de contrôle.
1. Distribué ;
2. Multiplateforme ;
3. Prise en charge du déploiement de Docker ;
4. Surveillance et alarme en temps réel ;
5. Transmission par cryptage des données ;
6. Flexible et configurable ;
7. L'interface utilisateur prend en charge les PC et les terminaux mobiles.
application
Les applications Java sont prises en charge par défaut et le contenu de surveillance comprend : l'état en ligne, la JVM et l'orientation métier. D'autres applications doivent développer leurs propres clients pour appeler des interfaces afin de communiquer avec le serveur ou l'agent (interface de battement de cœur, interface d'informations du serveur, interface d'alarme) ;
JVM
Le contenu de surveillance comprend : la mémoire, les threads, les classes, le GC, etc. ;
serveur
Prend en charge les serveurs grand public, tels que Linux, Windows, macOS, Unix, etc. ;
Le contenu de surveillance comprend : l'état en ligne, le système d'exploitation, le processeur, la charge moyenne, le processus, le disque, la mémoire, la carte réseau, la batterie et les capteurs ;
base de données
Prise en charge de MySQL, Oracle, Redis, Mongo ;
Surveiller le contenu
MySQL : session ;
Oracle : session, espace table ;
Redis : collection complète d'informations Redis ;
Mongo : collection complète d'informations sur Mongo ;
Réseau : prise en charge de la surveillance de l'état du réseau ;
TCP : prise en charge de la surveillance de l'état du service TCP ;
HTTP : prise en charge de la surveillance de l'état du service HTTP ;
Attention : l'e-mail est pris en charge par défaut.
Architecture fonctionnelle
architecture logique
Maven3+
Jdk >=1.8, si vous utilisez Sigar pour surveiller le serveur, utilisez Jdk 1.8 (1.8.0_131 à 1.8.0_241)
Lombok
MySQL5.7+
Framework de base : SpringBoot
Cadre de sécurité : SpringSecurity, SpringSession
Planification des tâches : JUC, SpringTask, Quartz
Cadre de couche de persistance : MyBatis, MyBatis-Plus
Pool de connexions à la base de données : Alibaba Druid
Gestion des logs : SLF4J, Logback
Framework front-end : Layui, ECharts
Cadre de suivi : Sigar, oshi
La plateforme est développée en Java + Layui + ECharts et la base de données utilise MySQL.
phoenix (projet parent de la plateforme de surveillance) ├── phoenix-common (projet parent du module commun de surveillance) │ ├── phoenix-common-core (module commun de base de surveillance) │ └── phoenix-common-web (module commun de surveillance WEB) ├── phoenix-client (projet parent du client de surveillance) │ ├── phoenix-client-core (client de surveillance) │ ├── phoenix-client-spring-boot-starter (client de surveillance intégré au démarreur Springboot) │ └── phoenix-client-spring-mvc-integrator (intégrateur qui surveille le client et springmvc) ├── phoenix-agent (agent de surveillance) ├── phoenix-server (serveur de surveillance) ├── phoenix- ui (interface utilisateur de surveillance) └─ ─ doc (document)
Phoenix : surveille le projet parent de la plateforme, gère les dépendances de la plateforme, les builds, les plug-ins, etc. ;
phoenix-common : module commun de surveillance, fournissant tout le code public de la plateforme, y compris un module public principal de surveillance (phoenix-common-core) et un module commun de surveillance WEB (phoenix-common-web) ;
phoenix-client : client de surveillance, utilisé pour s'intégrer aux applications Java afin de mettre en œuvre la collecte d'informations de suivi commercial et de surveillance des applications Java, comprenant un module commun (phoenix-client-core) et un démarreur intégré à springboot (phoenix-client-spring-boot- starter) et l'intégrateur intégré à springmvc (phoenix-client-spring-mvc-integrator) deux modules d'extension ;
phoenix-agent : agent de surveillance, utilisé pour collecter des informations sur le serveur et regrouper et transmettre les informations des clients de surveillance ;
phoenix-server : le serveur de surveillance est le module central de la plate-forme de surveillance. Il est utilisé pour regrouper et analyser les informations de surveillance et transmettre les informations d'alarme en temps réel lorsque des anomalies sont découvertes ;
phoenix-ui : système de visualisation de surveillance, utilisé pour la configuration de la plate-forme, la gestion des utilisateurs, la visualisation des informations de surveillance, l'affichage des graphiques, etc. ;
doc : contient des documents de conception de plate-forme, des scripts de démarrage et d'arrêt de service, des scripts de base de données, etc.