Apache HertzBeat
A real-time observability system with agentless, performance cluster, prometheus-compatible, custom monitoring and status page building capabilities.
Home: hertzbeat.apache.org
🎡 Introduction
Apache HertzBeat is an easy-to-use, open source, real-time observability system with agentless, high performance cluster, prometheus-compatible, offers powerful custom monitoring and status page building capabilities.
Features
- Combines monitoring, alarm, and notification features into one platform, and supports monitoring for web service, program, database, cache, os, webserver, middleware, bigdata, cloud-native, network, custom and more.
- Easy to use and agentless, web-based and with one-click monitoring and alerting, zero learning curve.
- Makes protocols such as
Http, Jmx, Ssh, Snmp, Jdbc, Prometheusconfigurable, allowing you to collect any metrics by simply configuring the templateYMLfile online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat. - Compatible with the
Prometheusecosystem and more, can monitoring whatPrometheuscan monitoring with few clicks on webui. - High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
- Provides flexible alarm threshold rules and timely notifications delivered via
DiscordSlackTelegramEmailDingtalkWeChatFeiShuWebhookSMSServerChan. - Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.
HertzBeat's powerful customization, multi-type support, high performance, easy expansion, and low coupling, aims to help users quickly build their own monitoring system.
Powerful Monitoring Templates
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?

Built-in Monitoring Types
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.
- Website, Port Telnet, Http Api, Ping Connect, Jvm, SiteMap, Ssl Certificate, SpringBoot2, FTP Server, SpringBoot3, Udp Port, Dns, Pop3, Ntp, Api Code, Smtp, Nginx
- Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, DM, OpenGauss, ClickHouse, IoTDB, Redis Cluster, Redis Sentinel, Doris BE, Doris FE, Memcached, NebulaGraph
- Linux, Ubuntu, CentOS, Windows, EulerOS, Fedora CoreOS, OpenSUSE, Rocky Linux, Red Hat, FreeBSD, AlmaLinux, Debian Linux
- Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ, Spring Gateway, EMQX MQTT, AirFlow, Hive, Spark, Hadoop
- Kubernetes, Docker
- CiscoSwitch, HpeSwitch, HuaweiSwitch, TpLinkSwitch, H3cSwitch
- And More Your Custom Template.
- Notified Support
DiscordSlackTelegramEmailDingtalkWeChatFeiShuWebhookSMSServerChan.
Powerful Customization
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.

No Agent Required
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.
- For example, if you want to monitor
linux OS, you can just input the IP port account password or key onHertzBeatside. - For example, to monitor
linux OS, just enter your ip/port account password or key inHertzBeat.
Password and other sensitive information is encrypted on all links.
High Performance Clustering
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.
- HertzBeat supports the deployment of collector clusters and the horizontal expansion of multiple collector clusters to exponentially increase the number of monitorable tasks and collection performance.
- Monitoring tasks are self-scheduled in the collector cluster, single collector hangs without sensing the failure to migrate the collection tasks, and the newly added collector nodes are automatically scheduled to share the collection pressure.
- It is very easy to switch between stand-alone mode and cluster mode without additional component deployment.

Cloud Edge Collaboration
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.
