프로젝트 소개

Apache HertzBeat는 Apache License 2.0에 따라 배포되는 오픈소스 실시간 관측성 시스템이며 CN Observability and Analysis landscape에 등재되어 있습니다. 수집, 분석, 알림, 통지를 단일 플랫폼으로 결합하며 모니터링 대상에 에이전트가 필요하지 않습니다. README에 설명된 핵심 기능: - 통합 메트릭 수집: 에이전트가 필요 없고 Prometheus와 호환되며, 애플리케이션 서비스, 프로그램, 데이터베이스, 캐시, 운영 체제, 빅데이터 구성 요소, 미들웨어, 웹 서버, 클라우드 네이티브 워크로드, 네트워크 및 사용자 정의 모니터링을 포괄합니다. - 통합 로깅: OTLP 프로토콜을 통해 여러 로그 소스를 보고할 수 있습니다. - 통합 알림: 내부 및 외부 알림을 함께 처리하며, 실시간 및 주기적 임계값 규칙, 그룹화 및 수렴, 무음 및 억제를 지원합니다. - 통지 배포: 알림은 Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, Webhook, ServerChan 및 기타 채널을 통해 전송할 수 있습니다. - 구성 가능한 프로토콜: Http, Jmx, Ssh, Snmp, Jdbc 및 Prometheus를 온라인 YML 템플릿으로 구성할 수 있어, 코드가 아닌 구성으로 새로운 모니터링 유형을 적용할 수 있습니다. - 확장성: 다중 수집기 클러스터를 수평으로 확장할 수 있으며, 다중 격리 네트워크 모니터링과 클라우드-엣지 협업을 지원합니다. - 상태 페이지: 사용자는 서비스 가용성을 전달하기 위한 상태 페이지를 구축할 수 있습니다. - AI 기능: 이 프로젝트는 HertzBeat AI 아래의 AI 기반 상호 작용과 기능, 그리고 내장 MCP Server 기능을 설명합니다. 배포 옵션에는 Docker(서버용 단일 명령과 선택적 수집기 컨테이너), 서버 및 JVM 또는 네이티브 수집기용 릴리스 패키지, Maven/Java와 Node/pnpm 프런트엔드를 사용한 소스 코드 시작, PostgreSQL/MySQL과 시계열 데이터베이스가 포함된 Docker Compose 번들, Kubernetes Helm 차트가 포함됩니다. CPU 지원은 x86 및 arm64를 포괄합니다. 시작 후 기본 웹 계정은 admin/hertzbeat입니다. 아키텍처 참고 사항: 이 시스템은 관리자/서버와 수집기를 분리하며, 수집기는 Netty 기반 디스패치 입구를 통해 관리자에 등록하고 퍼블릭 클러스터 또는 프라이빗 클라우드-엣지 모드로 실행할 수 있습니다. ext-lib에 배치된 JDBC는 특정 데이터베이스가 내장 쿼리 엔진을 사용할지 JDBC를 사용할지에 영향을 주며, Oracle/DB2는 JVM 수집기 패키지가 필요합니다. 이 프로젝트는 Java/Spring/Spring Boot/Netty와 TypeScript/Angular 프런트엔드로 구축되었으며, 메일링 리스트, Discord, GitHub Discussions 및 기여자 가이드를 통해 기여를 환영합니다.