# HertzBeat — Agentless Real-Time Observability System > An open-source real-time monitoring system that requires no agent installation and supports hundreds of service types. ## Install Save as a script file and run: # HertzBeat — Agentless Real-Time Observability System ## Quick Use ```bash docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat:latest # Access web UI at http://localhost:1157 # Default login: admin / hertzbeat ``` ## Introduction HertzBeat is an Apache-incubating open-source real-time monitoring and observability platform. Its defining feature is agentless monitoring: it connects directly to targets via protocols like HTTP, SNMP, JDBC, SSH, and JMX without requiring any agent installation on monitored hosts. It covers infrastructure, databases, middleware, and application monitoring in a single deployment. ## What HertzBeat Does - Monitors servers, databases, APIs, websites, and middleware without installing agents - Supports 200+ monitoring types out of the box (MySQL, Redis, Nginx, Docker, K8s, etc.) - Provides configurable alerting with threshold rules and notification channels - Collects metrics, logs, and traces into a unified dashboard - Offers a YAML-based monitoring template system for adding custom monitoring types ## Architecture Overview HertzBeat runs as a single Java application with an embedded collector engine. The collector dispatches protocol-specific tasks (HTTP, SNMP, SSH, JDBC, JMX) to gather metrics from targets at configurable intervals. Collected data is stored in a time-series database (IoTDB, TDengine, GreptimeDB, or built-in H2). A Spring Boot web layer serves the management UI and REST API. ## Self-Hosting & Configuration - Deploy via Docker, Docker Compose, or Kubernetes Helm chart - No external dependencies required for basic use (embedded H2 database and file storage) - For production, configure an external TSDB (IoTDB, TDengine, or GreptimeDB) for metric persistence - Add monitoring targets through the web UI or via REST API batch import - Create custom monitoring types by writing YAML template definitions ## Key Features - True agentless design: monitors via standard protocols with no software on targets - YAML-driven extensibility for defining new monitoring types without code changes - Built-in alert center with support for email, webhook, Slack, Telegram, and DingTalk - Cluster mode for distributed collection across large environments - Lightweight single-binary deployment with minimal resource requirements ## Comparison with Similar Tools - **Zabbix** — powerful but requires agents for deep monitoring; HertzBeat is fully agentless - **Prometheus + Grafana** — requires exporters on each target; HertzBeat collects directly - **Datadog** — commercial SaaS with agents; HertzBeat is self-hosted and free - **Uptime Kuma** — focuses on uptime checks; HertzBeat provides full metrics collection across protocols ## FAQ **Q: How does agentless monitoring work?** A: HertzBeat connects to targets using standard protocols (HTTP, SSH, SNMP, JDBC, JMX) from a central collector. No software needs to be installed on the monitored host. **Q: Can I monitor custom applications?** A: Yes. You can define custom monitoring templates in YAML that specify which protocol to use, what metrics to collect, and how to parse the response. **Q: What time-series databases are supported?** A: HertzBeat supports IoTDB, TDengine, GreptimeDB, and an embedded H2 database for small deployments. **Q: Is it production-ready?** A: HertzBeat is an Apache Incubating project with active development and community support. Cluster mode is available for scaling in production environments. ## Sources - https://github.com/apache/hertzbeat - https://hertzbeat.apache.org --- Source: https://tokrepo.com/en/workflows/asset-33af1760 Author: Script Depot