HertzBeat - open-source monitoring system
An open-source, real-time monitoring system with custom-monitor and agentless. Support web service, database, os, middleware and more.
Home: hertzbeat.apache.org
🎡 Introduction
Apache HertzBeat (incubating) is an easy-to-use, open source, real-time monitoring 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, Prometheus
configurable, allowing you to collect any metrics by simply configuring the templateYML
file 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
Prometheus
ecosystem and more, can monitoring whatPrometheus
can 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
Discord
Slack
Telegram
Email
Dingtalk
WeChat
FeiShu
Webhook
SMS
ServerChan
. - 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.