apache/hertzbeat

Javahertzbeat.apache.org
Linux

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

monitormonitoringprometheusself-hostedstatusstatus-pagealertingdatabasegrafanalinuxmetricsnotifications
스타 성장
스타
7.4k
포크
1.3k
주간 성장
+7
이슈
279
2k4k6k
2022년 2월2023년 8월2025년 2월2026년 9월
아티팩트Maven
README

hertzbeat

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 dev-subscribe@hertzbeat.apache.org 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

3:Start via source code
  1. Local source code debugging needs to start the back-end project hertzbeat-startup and the front-end project web-app.
  2. Backend:need maven3+, java25, lombok, add VM options in IDE: --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED, then start the hertzbeat-startup service.
  3. Web:need nodejs and pnpm environment, run pnpm install then pnpm start in web-app directory after backend startup.
  4. Access http://localhost:4200 to start, default account: admin/hertzbeat

Detailed steps refer to CONTRIBUTING

4:Install All(hertzbeat+postgresql+tsdb) via Docker-compose

Install the postgresql/mysql database, victoria-metrics/iotdb/tdengine database and hertzbeat at one time through docker-compose deployment script.

Detailed steps refer to Install via Docker-Compose

5: Install All(hertzbeat+collector+postgresql+tsdb) via kubernetes helm charts

Install HertzBeat cluster in a Kubernetes cluster by Helm chart.

Detailed steps refer to Artifact Hub

HAVE FUN

✨ Contributors

Thanks to these wonderful people, welcome to join us: Contributor Guide

contributors

💬 Join discussion

Channel

Join the Mailing Lists : Mail to dev-subscribe@hertzbeat.apache.org to subscribe mailing lists.

Chat On Discord

WeChat Group : Add friend ahertzbeat and invite to the group.

WeChat Official Account : Search ID usthecom.

Github Discussion

Follow Us Twitter

Subscribe YouTube

Open-Source Project Build From Open-Source

HertzBeat is built on so many great open source projects, thanks to them!

  • Java Spring SpringBoot Jpa Maven Assembly Netty Lombok Sureness Protobuf HttpClient Guava SnakeYaml JsonPath ...
  • TypeScript Angular NG-ZORRO NG-ALAIN NodeJs Npm Html Less Echarts Rxjs ZoneJs MonacoEditor SlickCarousel Docusaurus ...

Landscape

  

HertzBeat has been included in the CNCF Observability And Analysis - Observability Landscape.

🛡️ License

Apache License, Version 2.0

관련 저장소
louislam/uptime-kuma

A fancy self-hosted monitoring tool

JavaScriptnpmMIT Licenseuptimemonitoring
uptime.kuma.pet
91.2k8.4k
getsentry/sentry

Developer-first error tracking and performance monitoring

PythonPyPIOthercrash-reportingcrash-reports
sentry.io
44.7k4.8k
exelban/stats

macOS system monitor in your menu bar

SwiftappMIT Licensemacosmonitor
mac-stats.com
41.7k1.5k
winsiderss/systeminformer

A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ https://windows-internals.com

CMIT Licenseadministratorwindows
systeminformer.com
15.9k1.8k
TwiN/gatus

Automated developer-oriented status page with alerting and incident support

GoGo ModulesApache License 2.0golanggo
gatus.io
12k819
openspug/spug

Spug is a lightweight agent-free automatic operation and maintenance platform designed for small and medium-sized enterprises. It integrates host management, host batch execution, host online terminal, file management, application release and deployment, pipelines, online task planning, configuration center, monitoring, alarm and so on.

JavaScriptnpmGNU Affero General Public License v3.0opsoperations
ops.spug.cc
11.1k2.2k
henrypp/memreduct

Lightweight real-time memory management application to monitor and clean system memory on your computer.

CappGNU General Public License v3.0memory-managementmemory-monitoring
10.4k603
gao-sun/eul

🖥️ macOS status monitoring app written in SwiftUI.

SwiftappMIT Licensemacosmonitoring
10k376
LibreHardwareMonitor/LibreHardwareMonitor

Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.

C#Mozilla Public License 2.0hardwaremonitoring
9k1k
AdnanHodzic/auto-cpufreq

Automatic CPU speed & power optimizer for Linux

PythonPyPIcliGNU General Public License v3.0cpuspeed
foolcontrol.org
7.8k357
markzhai/AndroidPerformanceMonitor

A transparent ui-block detection library for Android. (known as BlockCanary)

JavaMavenlibraryApache License 2.0androidperformance
6.7k1k
opengoofy/hippo4j

📌 异步线程池框架,支持线程池动态变更&监控&报警,无需修改代码轻松引入。Asynchronous thread pool framework, support Thread Pool Dynamic Change & monitoring & Alarm, no need to modify the code easily introduced.

JavaMavenApache License 2.0javathread-pool
hippo4j.github.io
6k1.2k