这个项目能做什么

Apache HertzBeat 是一个采用 Apache License 2.0 许可的开源实时可观测性系统,并列入 CNCF Observability and Analysis 全景图。它将采集、分析、告警和通知整合到单一平台中,且无需在被监控目标上安装代理。 README 中描述的核心能力: - 统一指标采集:无代理且兼容 Prometheus,覆盖应用服务、程序、数据库、缓存、操作系统、大数据组件、中间件、Web 服务器、云原生工作负载、网络和自定义监控。 - 统一日志:多个日志源可通过 OTLP 协议上报。 - 统一告警:内部和外部告警源统一处理,支持实时和周期性阈值规则、分组与收敛、静默和抑制。 - 通知分发:告警可通过 Email、Discord、Slack、Telegram、DingTalk、WeChat、FeiShu、SMS、Webhook、ServerChan 等渠道发送。 - 可配置协议:Http、Jmx、Ssh、Snmp、Jdbc 和 Prometheus 可通过在线 YML 模板进行配置,因此新的监控类型可以通过配置而非代码来适配。 - 可扩展性:多采集器集群可水平扩展,支持多隔离网络监控和云边协同。 - 状态页:用户可以构建状态页来传达服务可用性。 - AI 功能:项目在 HertzBeat AI 下描述了 AI 驱动的交互和功能,并包含内置 MCP Server 能力。 部署选项包括 Docker(服务器单命令部署,外加可选的采集器容器)、服务器和 JVM 或原生采集器的发布包、使用 Maven/Java 和 Node/pnpm 前端的源码启动、包含 PostgreSQL/MySQL 和时序数据库的 Docker Compose 组合,以及 Kubernetes Helm charts。CPU 支持 x86 和 arm64。启动后的默认 Web 账户为 admin/hertzbeat。 架构说明:系统将 manager/server 与采集器分离;采集器通过基于 Netty 的调度入口向 manager 注册,并可在公共集群或私有云边模式下运行。放置在 ext-lib 中的 JDBC 驱动会影响某些数据库使用内置查询引擎还是 JDBC,而 Oracle/DB2 仍需要 JVM 采集器包。 该项目使用 Java/Spring/Spring Boot/Netty 和 TypeScript/Angular 前端构建,并欢迎通过邮件列表、Discord、GitHub Discussions 和贡献者指南参与贡献。