Phoenix é uma plataforma de monitoramento de sistema de código aberto flexível e configurável. É usada principalmente para monitorar aplicativos, servidores, bancos de dados, redes, portas TCP e interfaces http. Ele envia informações de alarme em tempo real quando anormalidades são encontradas e fornece um visual. sistema para configuração, gerenciamento, Check.
1. Distribuído;
2. Plataforma cruzada;
3. Suporte à implantação do docker;
4. Monitoramento e alarme em tempo real;
5. Transmissão de criptografia de dados;
6. Flexível e configurável;
7. A interface do usuário suporta PC e terminais móveis.
aplicativo
Os aplicativos Java são suportados por padrão e o conteúdo de monitoramento inclui: status online, JVM e foco nos negócios. Outras aplicações precisam desenvolver seus próprios clientes para chamar interfaces para se comunicarem com o servidor ou agente (interface de pulsação, interface de informações do servidor, interface de alarme);
JVM
O conteúdo de monitoramento inclui: memória, threads, classes, GC, etc.;
servidor
Suporta servidores convencionais, como Linux, Windows, macOS, Unix, etc.;
O conteúdo de monitoramento inclui: status online, sistema operacional, CPU, carga média, processo, disco, memória, placa de rede, bateria e sensores;
banco de dados
Suporte MySQL, Oracle, Redis, Mongo;
Monitore o conteúdo
MySQL: sessão;
Oracle: sessão, espaço de tabela;
Redis: Coleção completa de informações do Redis;
Mongo: Coleção completa de informações do Mongo;
Rede: Suporte ao monitoramento do status da rede;
TCP: Suporte ao monitoramento do status do serviço TCP;
HTTP: Suporte para monitoramento do status do serviço HTTP;
Aviso: O e-mail é suportado por padrão.
Arquitetura funcional
arquitetura lógica
Maven3+
Jdk >=1.8, se você usa Sigar para monitorar o servidor, use Jdk 1.8 (1.8.0_131 a 1.8.0_241)
Lombok
MySQL5.7+
Estrutura principal: SpringBoot
Estrutura de segurança: SpringSecurity, SpringSession
Agendamento de tarefas: JUC, SpringTask, Quartz
Estrutura da camada de persistência: MyBatis, MyBatis-Plus
Conjunto de conexões de banco de dados: Alibaba Druid
Gerenciamento de log: SLF4J, Logback
Estrutura de front-end: Layui, ECharts
Estrutura de monitoramento: Sigar, oshi
A plataforma é desenvolvida em Java + Layui + ECharts, e o banco de dados utiliza MySQL.
phoenix (projeto pai da plataforma de monitoramento) ├── phoenix-common (projeto pai do módulo comum de monitoramento) │ ├── phoenix-common-core (módulo comum do núcleo de monitoramento) │ └── phoenix-common-web (módulo comum de monitoramento WEB) ├── phoenix-client (monitoramento do projeto pai do cliente) │ ├── phoenix-client-core (monitoramento do cliente) │ ├── phoenix-client-spring-boot-starter (monitoramento do cliente integrado ao springboot starter) │ └── phoenix-client-spring-mvc-integrator (integrador que monitora o cliente e springmvc) ├── phoenix-agent (agente de monitoramento) ├── phoenix-server (servidor de monitoramento) ├── phoenix- ui (UI de monitoramento) └─ ─ doc (documento)
Phoenix: monitora o projeto pai da plataforma, gerencia dependências da plataforma, compilações, plug-ins, etc.;
phoenix-common: módulo comum de monitoramento, fornecendo todo o código público da plataforma, incluindo um módulo público central de monitoramento (phoenix-common-core) e um módulo comum de monitoramento WEB (phoenix-common-web);
phoenix-client: Cliente de monitoramento, usado para integração em aplicativos Java para implementar rastreamento de negócios e coleta de informações de monitoramento de aplicativos Java, incluindo um módulo comum (phoenix-client-core) e um starter integrado ao springboot (phoenix-client-spring-boot- starter) e o integrador integrado com springmvc (phoenix-client-spring-mvc-integrator) dois módulos de expansão;
Phoenix-agent: Agente de monitoramento, usado para coletar informações do servidor e agregar e encaminhar informações dos clientes de monitoramento;
phoenix-server: O servidor de monitoramento é o módulo principal da plataforma de monitoramento. Ele é usado para agregar e analisar informações de monitoramento e enviar informações de alarme em tempo real quando anormalidades são descobertas;
phoenix-ui: Sistema de visualização de monitoramento, utilizado para configuração da plataforma, gerenciamento de usuários, visualização de informações de monitoramento, exibição de gráficos, etc.;
doc: Contém documentos de design de plataforma, scripts de inicialização e desligamento de serviços, scripts de banco de dados, etc.