Model or dataset
apache/hertzbeat avatar
apache/hertzbeat

Apache HertzBeat: unified monitoring for metrics, logs, and alerts

An AI-powered next-generation open source real-time observability system.

7,410 stars1,342 forksJavaApache-2.0

At a glance

What is it?
An open-source observability platform that collects metrics and logs, triggers alerts, and sends notifications without installing agents on monitored systems.
Who is it for?
HertzBeat suits teams that want a single platform for metrics, logs, and alerting without deploying agents to every monitored host. Its unified architecture and configurable protocol handlers make it more flexible than Prometheus alone.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

An agentless unified observability platform

HertzBeat solves the problem of managing metrics, logs, and alerting separately across multiple tools. It combines collection, analysis, alerting, and notification in one platform, all without requiring agents on target systems. The README describes it as an AI-powered next-generation observability system. The software is written in Java, licensed under Apache-2.0, and maintained by the Apache Foundation. The last push was on 2026-09-28, indicating active development. HertzBeat supports protocols including HTTP, JMX, SSH, SNMP, JDBC, and Prometheus, and the README states you can collect metrics from application services, databases, caches, operating systems, middleware, web servers, networks, and custom sources. The underlying data collector can run as a standalone binary (native collector) or as a JVM process; native collectors are available for Linux and Windows.

How HertzBeat collects and alerts

HertzBeat's metrics platform is agentless: instead of installing software on each monitored host, you configure monitoring rules in the HertzBeat interface or via YAML templates. The README lists protocols including Http, Jmx, Ssh, Snmp, Jdbc, and Prometheus, each with configurable templates. You select a protocol and fill in connection details (IP, port, credentials), and HertzBeat queries that service directly. Metrics collected feed into the alerting platform, which allows both real-time threshold rules and periodic checks. Alerts can be grouped, converged, silenced, or suppressed. The logging platform integrates multiple log sources through the OTLP protocol. When an alert triggers, HertzBeat distributes it via Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, Webhook, or ServerChan. The system also supports multi-collector clusters for horizontal scaling; you can deploy HertzBeat collectors on multiple machines with unique identities (set in the IDENTITY environment variable) and configure them to report to a central manager.

Installing HertzBeat and starting your first monitoring task

HertzBeat can be installed via Docker, package download, or source code. The simplest method is Docker. Start HertzBeat with a single command:

bash
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat

Access the web interface at http://localhost:1157 with the default account admin/hertzbeat. This starts the main server on port 1157 and the collector port on 1158. To deploy additional collectors (optional), run:

bash
docker run -d -e IDENTITY=custom-collector-name -e MANAGER_HOST=127.0.0.1 -e MANAGER_PORT=1158 --name hertzbeat-collector apache/hertzbeat-collector

Replace custom-collector-name with a unique identifier. For package installation, download apache-hertzbeat-xx-bin.tar.gz from https://hertzbeat.apache.org/docs/download, configure hertzbeat/config/application.yml, and run ./bin/startup.sh. For source code development, clone the repository and start hertzbeat-startup (the backend) with Maven, and web-app (the frontend) with Node.js. The backend requires Java 25 and Maven 3+. Add the VM option --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED when starting the IDE.

Configurable protocol handlers and custom monitoring

HertzBeat's strength is customizable monitoring rules. The README states you can configure templates as YML files to handle protocols such as HTTP, JMX, SSH, SNMP, JDBC, and Prometheus. You can collect metrics from application services, databases, caches, operating systems, middleware, web servers, networks, and custom sources. For databases like MySQL, MariaDB, OceanBase, and TiDB, HertzBeat can use either the built-in query engine or JDBC. If you place mysql-connector-j in the ext-lib directory, the JVM or native collector will prefer JDBC after restart. Oracle and DB2 require the JVM collector because they depend on external JDBC drivers. Each protocol has a template; you modify the YAML to set connection strings, credentials, and metrics to collect. The underlying data collector can run as a standalone binary (native collector) available for Linux and Windows, or as a JVM process. For collectors deployed across different networks, HertzBeat supports private and public modes: set MODE=private for cloud-edge collaboration or MODE=public for a standard cluster. You deploy HertzBeat collectors on multiple machines with unique identities (set in the IDENTITY environment variable) and configure them to report to a central manager for horizontal scaling. The logging platform integrates multiple log sources through the OTLP protocol, allowing you to combine metrics and log data in a single system.

Alert distribution and status pages

HertzBeat distributes alerts through ten channels: Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, Webhook, and ServerChan. You configure each channel in the settings. Once alerts are triggered, you can group them, apply silence rules to suppress duplicates, and suppress specific alert types. The README mentions that HertzBeat has built-in MCP Server capabilities and AI-powered features under HertzBeat AI. The system also provides status page building, allowing you to create a public dashboard showing your services' real-time status. Both real-time threshold rules and periodic checks are supported for alert triggers. The last update was v1.9.0 on 2026-09-13, and the repository includes contributions from many developers. HertzBeat is written in Java, licensed under Apache-2.0, and maintained by the Apache Foundation. The project combines collection, analysis, alerting, and notification in one unified platform.

Every protocol needs a template; Oracle and DB2 require the JVM

HertzBeat requires Java 25 for development and Java runtime for deployment, adding dependency overhead compared to lightweight agents. Support for protocols depends on built-in templates; if your protocol is not in the list (HTTP, JMX, SSH, SNMP, JDBC, Prometheus), you need to write a custom YAML template or request a feature. Oracle and DB2 monitoring require the JVM collector, not the native collector, limiting deployment options. The native collectors are available only for Linux and Windows, not macOS. The README does not document all command line options or all configuration keys; you must consult documentation or code. The clustering feature requires manual configuration of IDENTITY, MANAGER_HOST, and MANAGER_PORT; no automatic discovery is mentioned. The default password is hertzbeat, which is weak and should be changed immediately.

Comparing HertzBeat to Prometheus, Grafana, and UptimeKuma

Prometheus is a time-series database and scraper; you must install exporters on every host to collect metrics. HertzBeat is agentless and combines metrics, logs, and alerting in one platform, so you do not need agents on monitored systems. Grafana is a visualization tool that sits on top of data sources like Prometheus; HertzBeat includes both collection and visualization, plus alerting. UptimeKuma is a lightweight uptime monitor for a small number of services; HertzBeat scales to monitoring entire infrastructure with many protocols like HTTP, JMX, SSH, SNMP, and JDBC. Zabbix is a mature monitoring system similar in scope to HertzBeat but proprietary and less community-driven. HertzBeat's advantage is its unified platform and agentless architecture, allowing you to monitor diverse systems and protocols from a single interface; the tradeoff is operational complexity from the Java stack and the requirement to maintain protocol templates for custom monitoring.

Editorial conclusion

HertzBeat suits teams that want a single platform for metrics, logs, and alerting without deploying agents to every monitored host. Its unified architecture and configurable protocol handlers make it more flexible than Prometheus alone. Before adopting it, verify that your protocols (JDBC, SNMP, JMX, SSH) are supported by HertzBeat's templates, since support depends on community-maintained YML rule files. Check that your alert destinations (email, Slack, Discord, DingTalk, etc.) are in the supported list before committing to it.

Frequently asked questions

What is Apache HertzBeat?

HertzBeat is an open-source observability platform that collects metrics and logs, processes alerts, and sends notifications. It is agentless, meaning you do not need to install software on monitored systems. You configure monitoring rules in HertzBeat and it queries remote services directly.

How does agentless monitoring work?

Instead of installing software on each monitored host, HertzBeat connects directly to services using protocols like HTTP, JDBC, SSH, and SNMP. You configure connection details in HertzBeat's interface, and it periodically queries those services to collect metrics.

What is the default password for HertzBeat?

The default account is admin with password hertzbeat. You should change this password immediately after installation.

Can HertzBeat monitor databases?

Yes. HertzBeat supports JDBC for MySQL, MariaDB, OceanBase, and TiDB using a built-in query engine or external drivers. Oracle and DB2 require the JVM collector package with external JDBC drivers.

What alert channels does HertzBeat support?

HertzBeat sends alerts via Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, Webhook, and ServerChan.

Official sources

  1. apache/hertzbeat on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/apache-hertzbeat.svg)](https://hysenlabs.com/projects/apache-hertzbeat)