phoenix는 유연하고 구성 가능한 오픈 소스 시스템 모니터링 플랫폼으로, 주로 애플리케이션, 서버, 데이터베이스, 네트워크, TCP 포트 및 http 인터페이스를 모니터링하는 데 사용되며, 이상이 발견되면 실시간으로 경보 정보를 푸시하고 시각적인 정보를 제공합니다. 구성, 관리, 점검을 위한 시스템입니다.
1. 분산;
2. 크로스 플랫폼;
3. 도커 배포를 지원합니다.
4. 실시간 모니터링 및 경보;
5. 데이터 암호화 전송
6. 유연하고 구성 가능합니다.
7. 사용자 인터페이스는 PC와 모바일 단말기를 지원합니다.
앱
Java 애플리케이션은 기본적으로 지원되며 모니터링 콘텐츠에는 온라인 상태, JVM 및 비즈니스 초점이 포함됩니다. 다른 애플리케이션은 서버 또는 에이전트와 통신하기 위해 인터페이스(하트비트 인터페이스, 서버 정보 인터페이스, 경보 인터페이스)를 호출하기 위해 자체 클라이언트를 개발해야 합니다.
JVM
모니터링 내용에는 메모리, 스레드, 클래스, GC 등이 포함됩니다.
섬기는 사람
Linux, Windows, macOS, Unix 등과 같은 주류 서버를 지원합니다.
모니터링 내용에는 온라인 상태, 운영 체제, CPU, 평균 로드, 프로세스, 디스크, 메모리, 네트워크 카드, 배터리 및 센서가 포함됩니다.
데이터 베이스
MySQL, Oracle, Redis, Mongo를 지원합니다.
콘텐츠 모니터링
MySQL: 세션;
Oracle: 세션, 테이블스페이스;
Redis: Redis 정보의 완전한 컬렉션입니다.
Mongo: Mongo 정보의 완전한 컬렉션입니다.
네트워크: 네트워크 상태 모니터링을 지원합니다.
TCP: TCP 서비스 상태 모니터링을 지원합니다.
HTTP: HTTP 서비스 상태 모니터링을 지원합니다.
경고: 이메일은 기본적으로 지원됩니다.
기능적 아키텍처
논리적 아키텍처
메이븐3+
Jdk >=1.8, Sigar를 사용하여 서버를 모니터링하는 경우 Jdk 1.8(1.8.0_131~1.8.0_241)을 사용하세요.
롬복
MySQL5.7+
핵심 프레임워크: SpringBoot
보안 프레임워크: SpringSecurity, SpringSession
작업 스케줄링: JUC, SpringTask, Quartz
지속성 레이어 프레임워크: MyBatis, MyBatis-Plus
데이터베이스 연결 풀: Alibaba Druid
로그 관리: SLF4J, 로그백
프런트엔드 프레임워크: Layui, ECharts
모니터링 프레임워크: Sigar, oshi
플랫폼은 Java + Layui + ECharts를 사용하여 개발되었으며 데이터베이스는 MySQL을 사용합니다.
phoenix (모니터링 플랫폼 상위 프로젝트) ├── phoenix-common (공통 모듈 상위 프로젝트 모니터링) │ ├── phoenix-common-core (핵심 공통 모듈 모니터링) │ └── phoenix-common-web (WEB 공통 모듈 모니터링) ├── phoenix-client (클라이언트 상위 프로젝트 모니터링) │ ├── phoenix-client-core (모니터링 클라이언트) │ ├── phoenix-client-spring-boot-starter (모니터링 클라이언트 및 springboot 통합 스타터) │ └── phoenix-client-spring-mvc-integrator (springmvc와 통합된 모니터링 클라이언트 Integrator) )├── phoenix-agent(모니터링 에이전트)├── phoenix-server (모니터링 서버) ├── phoenix-ui (모니터링 UI) └── doc (문서)
phoenix: 플랫폼 상위 프로젝트를 모니터링하고 플랫폼 종속성, 빌드, 플러그인 등을 관리합니다.
phoenix-common: 공통 모듈 모니터링, 모니터링 핵심 공개 모듈(phoenix-common-core) 및 모니터링 WEB 공통 모듈(phoenix-common-web)을 포함하여 플랫폼의 모든 공개 코드 제공
phoenix-client: 공통 모듈(phoenix-client-core) 및 springboot와 통합된 스타터(phoenix-client-spring-boot-)를 포함하여 비즈니스 추적 및 Java 애플리케이션 모니터링 정보 수집을 구현하기 위해 Java 애플리케이션에 통합하는 데 사용되는 모니터링 클라이언트입니다. starter) 및 springmvc(phoenix-client-spring-mvc-integrator)와 통합된 통합자 두 개의 확장 모듈;
phoenix-agent: 서버 정보를 수집하고 모니터링 클라이언트로부터 정보를 집계 및 전달하는 데 사용되는 모니터링 에이전트.
phoenix-server: 모니터링 서버는 모니터링 플랫폼의 핵심 모듈로 모니터링 정보를 집계 및 분석하고 이상이 발견되면 실시간으로 경보 정보를 푸시하는 데 사용됩니다.
phoenix-ui: 모니터링 시각화 시스템, 플랫폼 구성, 사용자 관리, 모니터링 정보 보기, 차트 표시 등에 사용됩니다.
doc: 플랫폼 설계 문서, 서비스 시작 및 종료 스크립트, 데이터베이스 스크립트 등이 포함되어 있습니다.