Phoenix es una plataforma de monitoreo de sistemas de código abierto flexible y configurable. Se utiliza principalmente para monitorear aplicaciones, servidores, bases de datos, redes, puertos TCP e interfaces http. Envía información de alarma en tiempo real cuando se encuentran anomalías y proporciona información visual. sistema para configuración, gestión, Check.
1. Distribuido;
2. Multiplataforma;
3. Admitir la implementación de Docker;
4. Monitoreo y alarmas en tiempo real;
5. Transmisión de cifrado de datos;
6. Flexible y configurable;
7. La interfaz de usuario admite PC y terminales móviles.
aplicación
Las aplicaciones Java son compatibles de forma predeterminada y el contenido de monitoreo incluye: estado en línea, JVM y enfoque comercial. Otras aplicaciones necesitan desarrollar sus propios clientes para llamar a interfaces para comunicarse con el servidor o agente (interfaz de latido, interfaz de información del servidor, interfaz de alarma);
JVM
El contenido de monitoreo incluye: memoria, subprocesos, clases, GC, etc.;
servidor
Admite servidores convencionales, como Linux, Windows, macOS, Unix, etc.;
El contenido de monitoreo incluye: estado en línea, sistema operativo, CPU, carga promedio, proceso, disco, memoria, tarjeta de red, batería y sensores;
base de datos
Admite MySQL, Oracle, Redis, Mongo;
Monitorear contenido
MySQL: sesión;
Oracle: sesión, espacio de tabla;
Redis: colección completa de información de Redis;
Mongo: colección completa de información de Mongo;
Red: soporte para monitorear el estado de la red;
TCP: soporte para monitorear el estado del servicio TCP;
HTTP: soporte para monitorear el estado del servicio HTTP;
Advertencia: el correo electrónico es compatible de forma predeterminada.
Arquitectura funcional
arquitectura lógica
Maven3+
Jdk >=1.8, si usas Sigar para monitorear el servidor, usa Jdk 1.8 (1.8.0_131 a 1.8.0_241)
lombok
mysql5.7+
Marco central: SpringBoot
Marco de seguridad: SpringSecurity, SpringSession
Programación de tareas: JUC, SpringTask, Quartz
Marco de capa de persistencia: MyBatis, MyBatis-Plus
Grupo de conexiones de base de datos: Alibaba Druid
Gestión de registros: SLF4J, Logback
Marco de interfaz de usuario: Layui, ECharts
Marco de seguimiento: Sigar, oshi
La plataforma está desarrollada usando Java + Layui + ECharts y la base de datos usa MySQL.
phoenix (proyecto principal de plataforma de monitoreo) ├── phoenix-common (proyecto principal de módulo común de monitoreo) │ ├── phoenix-common-core (módulo común central de monitoreo) │ └── phoenix-common-web (módulo común WEB de monitoreo) ├── phoenix-client (supervisión del proyecto principal del cliente) │ ├── phoenix-client-core (cliente de monitoreo) │ ├── phoenix-client-spring-boot-starter (cliente de monitoreo y iniciador de integración springboot) │ └── phoenix-client-spring-mvc-integrator (cliente de monitoreo Integrador integrado con springmvc )├── agente-fénix (agente de monitoreo)├── phoenix-server (servidor de monitoreo) ├── phoenix-ui (interfaz de usuario de monitoreo) └── doc (documentación)
Phoenix: monitorea el proyecto principal de la plataforma, administra las dependencias de la plataforma, compilaciones, complementos, etc.;
phoenix-common: módulo común de monitoreo, que proporciona todo el código público de la plataforma, incluido un módulo público central de monitoreo (phoenix-common-core) y un módulo común WEB de monitoreo (phoenix-common-web);
phoenix-client: cliente de monitoreo, utilizado para integrarse en aplicaciones Java para implementar el seguimiento comercial y la recopilación de información de monitoreo de aplicaciones Java, incluido un módulo común (phoenix-client-core) y un iniciador integrado con springboot (phoenix-client-spring-boot- arrancador) y el integrador integrado con springmvc (phoenix-client-spring-mvc-integrator) dos módulos de expansión;
phoenix-agent: agente de monitoreo, utilizado para recopilar información del servidor y agregar y reenviar información de los clientes de monitoreo;
Phoenix-server: el servidor de monitoreo es el módulo central de la plataforma de monitoreo. Se utiliza para agregar y analizar información de monitoreo y enviar información de alarma en tiempo real cuando se descubren anomalías.
phoenix-ui: sistema de visualización de monitoreo, utilizado para configuración de plataforma, administración de usuarios, visualización de información de monitoreo, visualización de gráficos, etc.;
doc: Contiene documentos de diseño de plataforma, scripts de inicio y cierre de servicios, scripts de bases de datos, etc.