home/docs/introduce.md
Home: hertzbeat.apache.org
Apache HertzBeat™ is an AI-powered, agentless open source real-time monitoring system. It unifies metrics collection, log aggregation, alerting, and notification in a single platform without requiring agent installation.
Observability System Definition: An observability system collects, analyzes, and visualizes operational data (metrics, logs, traces) to monitor infrastructure and application health.
HertzBeat provides four integrated capabilities:
Key Differentiator: No agent installation required. HertzBeat uses native protocols (HTTP, SNMP, JMX, SSH, JDBC) to collect data directly.
| Feature | HertzBeat | Traditional Agent-Based |
|---|---|---|
| Agent Installation | Not required | Required on each host |
| Setup Time | Minutes via Docker | Hours with agent deployment |
| Monitoring Types | 200+ built-in templates | Limited predefined types |
| Customization | YML templates via UI | Code changes required |
| Architecture | Unified platform | Multiple separate tools |
| Deployment | Single Docker command | Complex multi-component setup |
HertzBeat unifies four monitoring functions:
Prometheus Compatibility: HertzBeat supports Prometheus protocol for seamless integration with existing Prometheus exporters and metrics.
Template-Based Monitoring: Create custom monitoring types by writing YML configuration files. No coding required to monitor new services like Kubernetes or Docker.
High Performance Clustering: Horizontal scaling with multi-collector clusters. Automatic task scheduling and failover ensure reliability at scale.
Cloud-Edge Collaboration: Monitor isolated network environments with edge collectors reporting to centralized management.
Status Page Builder: Create public status pages (similar to GitHub Status) to communicate service availability to users.
Before we discuss the customizable monitoring capabilities of HertzBeat, which we mentioned at the beginning, let's introduce the different monitoring templates of HertzBeat. And it is because of this monitoring template design that the advanced features come later.
HertzBeat itself did not create a data collection protocol for the monitoring client to adapt to. Instead, HertzBeat makes full use of the existing ecosystem, SNMP protocol to collect information from network switches and routers, JMX specification to collect information from Java applications, JDBC specification to collect information from datasets, SSH to directly connect to scripts to get the display information, HTTP+ (JsonPath | prometheus, etc.) to parse the information from API interfaces, IPMI protocol to collect server information, and so on.
HertzBeat uses these existing standard protocols or specifications, makes them abstractly configurable, and finally makes them all available in the form of YML format monitoring templates that can be written to create templates that use these protocols to collect any desired metrics data.
Do you believe that users can just write a monitoring template on the UI page, click save and immediately adapt a new monitoring type like K8s or Docker?
There are a lot of built-in monitoring templates for users to add directly on the page, one monitoring type corresponds to one YML monitoring template.
Discord Slack Telegram Email Dingtalk WeChat FeiShu Webhook SMS ServerChan.From the previous introduction of Monitoring Templates, it is clear that
HertzBeathas powerful customization features. Each monitor type is considered as a monitor template, no matter it is built-in or user-defined. You can easily add, modify and delete indicators by modifying the monitoring template. The templates contain a series of functions such as protocol configuration, environment variables, metrics conversion, metrics calculation, units conversion, metrics collection, etc., which help users to collect the metrics they want.
For users who have used various systems, the most troublesome thing is the installation, deployment, debugging and upgrading of various
agents. You need to install oneagentper host, and several correspondingagentsto monitor different application middleware, and the number of monitoring can easily reach thousands, so writing a batch script may ease the burden. The problem of whether the version ofagentis compatible with the main application, debugging the communication betweenagentand the main application, upgrading theagentsynchronization and so on and so forth, are all big headaches.
The principle of HertzBeat is to use different protocols to connect directly to the end system, and use the PULL form to pull the collected data, without the need for the user to deploy and install Agent | Exporter on the host of the end, etc. For example, monitoring the linux operating system.
linux OS, you can just input the IP port account password or key on HertzBeat side.linux OS, just enter your ip/port account password or key in HertzBeat.Password and other sensitive information is encrypted on all links.
When the number of monitors rises exponentially, the collection performance drops or the environment is unstable and prone to single point of failure of the collectors, then our collector clusters come into play.
Two locations, three centers, multi-cloud environments, multi-isolated networks, you may have heard of these scenarios. When there is a need for a unified monitoring system to monitor the IT resources of different isolated networks, this is where our Cloud Edge Collaboration comes in.
In an isolated network where multiple networks are not connected, we need to deploy a monitoring system in each network in the previous solution, which leads to data non-interoperability and inconvenient management, deployment and maintenance.
HertzBeat provides the ability of cloud edge collaboration, can be deployed in multiple isolated networks edge collector, collector in the isolated network within the monitoring task collection, collection of data reported by the main service unified scheduling management display.
Apache2 protocol, maintained by a free and open source community.License, monitoring type and other pseudo-open source restrictions .Java+SpringBoot+TypeScript+Angular mainstream technology stack , convenient secondary development .HertzBeat has been included in the CNCF Observability And Analysis - Observability Landscape
HertzBeat's powerful customization, multi-type support, high performance, easy expansion, and low coupling, aims to help users quickly build their own monitoring system.
Just run a single command in a Docker environment: docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
Browser access http://localhost:1157 default account password admin/hertzbeat
sureness.yml, which allows users to add, delete, and modify user information, user role permissions, and so on. Default password admin/hertzbeatBuilt-in support for monitoring types include:
HertzBeat, users can configure the trigger conditions of the alarm through the threshold rules.Prometheus, WebHook, Skywalking, AlertManager, etc. to receive alarm messages from these systems and perform alarm processing.Email Discord Slack Telegram Pinning WeChat Flybook SMS Webhook and so on.Http, Jmx, Ssh, Snmp, Jdbc, Prometheus and other protocols configurable so that you can customize the metrics you want to collect using these protocols by simply configuring the monitoring template YML in your browser. Would you believe that you can instantly adapt a new monitoring type such as K8s or Docker just by configuring it?HertzBeat monitors IT infrastructure including servers, databases, applications, networks, and cloud services. It collects metrics, aggregates logs, triggers alerts, and sends notifications for operational visibility.
No. HertzBeat uses agentless monitoring via native protocols (HTTP, SNMP, JMX, SSH, JDBC). You only need to provide IP, port, and credentials through the web interface.
Run this single Docker command: docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
Access http://localhost:1157 with default credentials admin/hertzbeat.
HertzBeat monitors 200+ services including:
Yes. Create YML templates via the web UI to monitor any service. Templates define metrics, collection protocols, and thresholds without coding.
Yes. HertzBeat supports Prometheus protocol and can collect metrics from Prometheus exporters.
HertzBeat provides a unified platform including collection, alerting, and notifications. Prometheus + Grafana requires separate components for alerts (Alertmanager) and lacks built-in multi-channel notifications.
Email, Discord, Slack, Telegram, DingTalk, WeChat, FeiShu, SMS, and Webhook.
Yes. Deploy collector clusters for horizontal scaling. Collectors auto-balance tasks and provide failover for high availability.
Apache License 2.0. HertzBeat is completely open source with no monitoring limits or license restrictions.
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat