hertzbeat is a free, open source monitoring & observability project written in Java and released under Apache-2.0. It has 7,397 GitHub stars, 1,331 forks and 313 open issues, and was last pushed 19 hours ago. On this registry it ranks #55 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

What is hertzbeat?

Apache HertzBeat is an AI-powered, next-generation open source real-time observability system written in Java under the Apache-2.0 licence, built for teams that need unified metrics and logs collection, centralized alerting distribution, and intelligent management and analysis without deploying an agent on every monitored host.

What it is

Apache HertzBeat is a project of the Apache Software Foundation, hosted at hertzbeat.apache.org and distributed as the apache/hertzbeat image on Docker Hub and through Artifact Hub. It is written in Java and released under the Apache-2.0 licence, and it lives in the cloud-native and infrastructure monitoring ecosystem: it is Prometheus-compatible, reports logs through the OTLP protocol, and sits in this registry under Infrastructure & Operations / Monitoring & Observability.

The concrete problem it solves is fragmentation. Rather than running one system to collect metrics, another to collect logs, a third to evaluate alert rules, and a fourth to route notifications, HertzBeat integrates collection, analysis, alerting, and notification into a single platform. It replaces the agent-based collection pattern in particular, because the stated design is "No Agent required" and monitored targets are not asked to host a collector. It also replaces separate alert-processing pipelines by integrating internal alerts with various external alert sources and handling grouping convergence, silence, and suppression in one place.

Key capabilities

  • It performs agentless, Prometheus-compatible metrics collection across application services, programs, databases, caches, operating systems, big data, middleware, web servers, cloud-native systems, networks, and custom monitoring targets.
  • It provides a unified logging platform that integrates multiple log sources through the OTLP protocol for reporting.
  • It provides a unified alerting platform that combines internal alerts with various external alert sources.
  • It supports flexible real-time and periodic threshold rules, along with grouping convergence, silence, and suppression.
  • It distributes messages from the same alerting platform that processes them, so notification routing does not need a separate component.
  • It adds HertzBeat AI features and built-in MCP Server capabilities for AI-powered interactions with the platform.
  • It supports custom monitoring and status page building, and it runs as a high-performance cluster published as the apache/hertzbeat Docker image and listed on Artifact Hub.

Who uses it and how

  • Infrastructure and operations teams monitor mixed estates that span operating systems, databases, caches, middleware, web servers, and cloud-native services under one collection layer.
  • Platform teams standardise on Prometheus-compatible metrics without adding a monitoring agent to every host.
  • Teams collect logs from multiple sources and report them through OTLP into a single logging platform.
  • SRE and on-call groups consolidate internal and external alerts, then apply threshold rules, grouping convergence, silence, and suppression before notifications are sent.
  • Organisations run HertzBeat as a cluster when one instance is not enough, and build their own custom monitoring definitions and status pages.

Getting started

The documented path is to run the official apache/hertzbeat Docker image, which is published on Docker Hub and also listed on Artifact Hub. Project documentation, downloads, and mailing list sign-up live at hertzbeat.apache.org, with [email protected] for the development list.

How it compares

HertzBeat sits in the same territory as the Grafana and Prometheus-compatible monitoring tools named in its topic list, and it competes on breadth rather than on replacing any single one of them. Collection, log ingestion, alerting, and notification distribution are bundled into one Apache-2.0 system instead of being assembled from separate components.

When to use it — and when not to

Choose HertzBeat when a single Apache-2.0 platform for agentless metrics, OTLP logs, alert rules, and notification distribution is worth more than a narrow, single-purpose collector. A self-hoster runs the Java service and any cluster deployment needed for the intended scale, and the project carries a substantial open-issue backlog of 313 issues in the recorded metadata, so teams expecting a small, quiet dependency should look elsewhere. Teams that only need a lightweight exporter or a single-purpose dashboard will find the integrated scope larger than their problem.

project readme (upstream, from github) — read inline

Readme: English | 中文 | 日本語

Discord Twitter OpenSSF Best Practices codecov Docker Pulls Artifact Hub YouTube Channel Subscribers Contribute with Gitpod Ask DeepWiki zread

Home: hertzbeat.apache.org Email: Mail to [email protected] to subscribe mailing lists

🎡 Introduction

Apache HertzBeat™ is an AI-powered next-generation open source real-time observability system. Unified metrics and logs collection, centralized alerting distribution, intelligent management and analysis. No Agent required, high performance cluster, provides powerful custom monitoring and status page building capabilities.

Features

  • Integrates collection + analysis + alerting + notification into one platform, with new AI-powered interactions and features under HertzBeat AI, and built-in MCP Server capabilities.
  • Unified metrics platform, agentless, Prometheus-compatible, supports application services, programs, databases, caches, operating systems, big data, middleware, web servers, cloud-native, networks, custom monitoring and more.
  • Unified logging platform, seamlessly integrates multiple log sources through OTLP protocol for reporting.
  • Unified alerting platform, integrates internal alerts with various external alert sources, unified alert processing and analysis, flexible real-time and periodic threshold rules, grouping convergence, silence, suppression, etc.
  • Unified message distribution, alerts processed by the alerting platform are distributed via Email Discord Slack Telegram DingTalk WeChat FeiShu SMS Webhook ServerChan and other methods.
  • Makes protocols such as Http, Jmx, Ssh, Snmp, Jdbc, Prometheus configurable, allowing you to collect any metrics by simply configuring the template YML file online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat.
  • High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
  • Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.

HertzBeat's unified platform, AI intelligence, powerful customization, multi-type support, high performance, and easy expansion, aims to help users quickly and conveniently achieve observability requirements.



🥐 Architecture

HertzBeat

🐕 Quick Start

  • If you wish to deploy HertzBeat locally, please refer to the following Deployment Documentation for instructions.

🍞 Install HertzBeat

HertzBeat supports installation through source code, docker or package, cpu support x86/arm64.

1:Install quickly via docker
  1. Just one command to get started

    docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
    
  2. Access http://localhost:1157 to start, default account: admin/hertzbeat

  3. Deploy collector clusters (Optional)

    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
    
    • -e IDENTITY=custom-collector-name : set the collector unique identity name.
    • -e MODE=public : set the running mode(public or private), public cluster or private cloud-edge.
    • -e MANAGER_HOST=127.0.0.1 : set the main hertzbeat server ip.
    • -e MANAGER_PORT=1158 : set the main hertzbeat server port, default 1158.

Detailed config refer to Install HertzBeat via Docker

2:Install via package
  1. Download the release package apache-hertzbeat-xx-bin.tar.gz Download
  2. Configure the HertzBeat configuration yml file hertzbeat/config/application.yml (optional)
  3. Run command $ ./bin/startup.sh or bin/startup.bat
  4. Access http://localhost:1157 to start, default account: admin/hertzbeat
  5. Deploy collector clusters (Optional)
    • Download the release package apache-hertzbeat-collector-xx-bin.tar.gz (JVM collector) or the native collector package for your platform, such as apache-hertzbeat-collector-native-xx-linux-amd64-bin.tar.gz or apache-hertzbeat-collector-native-xx-windows-amd64-bin.zip, to the new machine Download
    • Configure the collector configuration yml file hertzbeat-collector/config/application.yml: unique identity name, running mode (public or private), hertzbeat manager-host, hertzbeat manager-port
      collector:
        dispatch:
          entrance:
            netty:
              enabled: true
              identity: ${IDENTITY:}
              mode: ${MODE:public}
              manager-host: ${MANAGER_HOST:127.0.0.1}
              manager-port: ${MANAGER_PORT:1158}
      
    • If you do not provide JDBC drivers in ext-lib, MySQL, MariaDB, and OceanBase can use the built-in query engine and run on the native collector package as well. TiDB follows the same rule for its SQL query metric set.
    • If mysql-connector-j is present in ext-lib, the built-in server collector or JVM collector automatically prefers JDBC after restart for MySQL, MariaDB, and OceanBase. TiDB follows the same rule for its SQL query metric set, while its HTTP metrics are unchanged. Oracle and DB2 still require the JVM collector package because they depend on external JDBC drivers.
    • Run $ ./bin/startup.sh or bin/startup.bat for the JVM collector package. Run $ ./bin/startup.sh for Linux or macOS native collector packages, and bin\\startup.bat for the Windows native collector package.
    • Access http://localhost:1157 and you will see the registered new collector in dashboard

Detailed config refer to [Install HertzBeat via Package](https://hertzbeat.a

readme truncated — read the full docs on github

Frequently asked questions

Is hertzbeat free to use?

hertzbeat is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does hertzbeat do?

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

What is hertzbeat written in?

hertzbeat is primarily written in Java. Its source is publicly available at https://github.com/apache/hertzbeat, and it has 7,397 GitHub stars.