About this project

Apache HertzBeat is an open-source real-time observability system distributed under the Apache License 2.0 and listed in the CNCF Observability and Analysis landscape. It combines collection, analysis, alerting and notification into a single platform, and requires no agent on monitored targets. Core capabilities described in the README: - Unified metrics collection: agentless and Prometheus-compatible, covering application services, programs, databases, caches, operating systems, big data components, middleware, web servers, cloud-native workloads, networks and custom monitoring. - Unified logging: multiple log sources can be reported through the OTLP protocol. - Unified alerting: internal and external alert sources are handled together, with real-time and periodic threshold rules, grouping and convergence, silence and suppression. - Notification distribution: alerts can be sent via Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, Webhook, ServerChan and other channels. - Configurable protocols: Http, Jmx, Ssh, Snmp, Jdbc and Prometheus can be configured through online YML templates, so new monitoring types can be adapted by configuration rather than code. - Scalability: multi-collector clusters can be expanded horizontally, supporting multi-isolated network monitoring and cloud-edge collaboration. - Status pages: users can build status pages to communicate service availability. - AI features: the project describes AI-powered interactions and features under HertzBeat AI, plus built-in MCP Server capabilities. Deployment options include Docker (single command for the server, plus optional collector containers), release packages for the server and JVM or native collectors, source-code startup with Maven/Java and a Node/pnpm frontend, Docker Compose bundles with PostgreSQL/MySQL and a time-series database, and Kubernetes Helm charts. CPU support covers x86 and arm64. The default web account after startup is admin/hertzbeat. Architecture notes: the system separates the manager/server from collectors; collectors register with the manager over a Netty-based dispatch entrance and can run in public cluster or private cloud-edge mode. JDBC drivers placed in ext-lib affect whether certain databases use the built-in query engine or JDBC, and Oracle/DB2 still require the JVM collector package. The project is built with Java/Spring/Spring Boot/Netty and a TypeScript/Angular frontend, and welcomes contributions through its mailing lists, Discord, GitHub Discussions and contributor guide.