Skip to content

Latest commit

 

History

History
538 lines (467 loc) · 102 KB

README_CN.md

File metadata and controls

538 lines (467 loc) · 102 KB

hertzbeat

实时监控系统,无需 Agent,性能集群,兼容 Prometheus,自定义监控和状态页构建能力。

Discord Reddit Twitter OpenSSF Best Practices codecov Docker Pulls Artifact Hub YouTube Channel Subscribers Contribute with Gitpod

官网: hertzbeat.apache.org
邮件: 发送至 [email protected] 订阅邮件列表

🎡 介绍

Apache HertzBeat (incubating)是一个易用友好的开源实时监控告警系统,无需 Agent,高性能集群,兼容 Prometheus,提供强大的自定义监控和状态页构建能力。

特点

  • 监控+告警+通知 为一体,支持对应用服务,应用程序,数据库,缓存,操作系统,大数据,中间件,Web 服务器,云原生,网络,自定义等监控阈值告警通知一步到位。
  • 易用友好,无需 Agent,全 WEB 页面操作,鼠标点一点就能监控告警,零上手学习成本。
  • Http, Jmx, Ssh, Snmp, Jdbc, Prometheus 等协议规范可配置化,只需在浏览器配置监控模版 YML 就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款 K8sDocker 等新的监控类型吗?
  • 兼容 Prometheus 的系统生态并且更多,只需页面操作就可以监控 Prometheus 所能监控的。
  • 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
  • 自由的告警阈值规则,邮件 Discord Slack Telegram 钉钉 微信 飞书 短信 Webhook Server酱 等方式消息及时送达。
  • 提供强大的状态页构建能力,轻松向用户传达您产品服务的实时状态。

HertzBeat的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助用户快速搭建自有监控系统。


hertzbeat

hertzbeat

hertzbeat


🥐 模块

hertzBeat

⛄ 已支持

我们将监控采集类型(mysql,jvm,k8s)都定义为 yml 监控模版,用户可以导入这些模版来支持对应类型的监控!
欢迎大家一起贡献你使用过程中自定义的通用监控类型监控模版。

🐕 快速开始

  • 如果您是想将 HertzBeat 部署到内网环境搭建监控系统,请参考下面的部署文档进行操作。

🍞 HertzBeat 安装

HertzBeat 支持通过源码安装启动,Docker 容器运行和安装包方式安装部署,CPU 架构支持 x86/arm64。

方式一:Docker 方式快速安装
  1. docker 环境仅需一条命令即可开始

    docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
  2. 浏览器访问 http://localhost:1157 即可开始,默认账号密码 admin/hertzbeat

  3. 部署采集器集群(可选)

    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 : 配置此采集器的唯一性标识符名称,多个采集器名称不能相同,建议自定义英文名称。
    • -e MODE=public : 配置运行模式(public or private), 公共集群模式或私有云边模式。
    • -e MANAGER_HOST=127.0.0.1 : 配置连接主 HertaBeat 服务的对外 IP。
    • -e MANAGER_PORT=1158 : 配置连接主 HertzBeat 服务的对外端口,默认1158。

更多配置详细步骤参考 通过 Docker 方式安装 HertzBeat

方式二:通过安装包安装
  1. 下载您系统环境对应的安装包 hertzbeat-xx.tar.gz Download
  2. 配置 HertzBeat 的配置文件 hertzbeat/config/application.yml (可选)
  3. 部署启动 $ ./bin/startup.sh bin/startup.bat
  4. 浏览器访问 http://localhost:1157 即可开始,默认账号密码 admin/hertzbeat
  5. 部署采集器集群(可选)
    • 下载采集器安装包 hertzbeat-collector-xx.tar.gz 到规划的另一台部署主机上 Download
    • 配置采集器的配置文件 hertzbeat-collector/config/application.yml 里面的连接主 HertzBeat 服务的对外 IP,端口,当前采集器名称(需保证唯一性)等参数 identity mode (public or private) manager-host 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}
    • 启动 $ ./bin/startup.sh bin/startup.bat
    • 浏览器访问主 HertzBeat 服务 http://localhost:1157 查看概览页面即可看到注册上来的新采集器

更多配置详细步骤参考 通过安装包安装HertzBeat

方式三:本地代码启动
  1. 此为前后端分离项目,本地代码调试需要分别启动后端工程 manager 和前端工程 web-app
  2. 后端:需要 maven3+, java17lombok 环境,修改 YML 配置信息,添加JVM参数--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED后启动 manager 服务即可。
  3. 前端:需要 nodejs npm angular-cli环境,待本地后端启动后,在 web-app 目录下启动 ng serve --open
  4. 浏览器访问 http://localhost:4200 即可开始,默认账号密码 admin/hertzbeat

详细步骤参考 参与贡献之本地代码启动

方式四:Docker-Compose 统一安装 hertzbeat+postgresql+tsdb

通过 Docker-Compose 部署脚本 一次性把 postgresql/mysql 数据库, victoria-metrics/iotdb/tdengine 时序数据库和 hertzbeat 安装部署。

详细步骤参考 通过 Docker-Compose 安装 HertzBeat

方式五:Kubernetes Helm Charts 部署 hertzbeat+collector+postgresql+tsdb

通过 Helm Chart 一次性将 HertzBeat 集群组件部署到 Kubernetes 集群中。

详细步骤参考 Artifact Hub

HAVE FUN

✨ Contributors

Thanks these wonderful people, welcome to join us:
贡献者指南

tomsun28
tomsun28

💻 📖 🎨
会编程的王学长
会编程的王学长

💻 📖 🎨
MaxKey
MaxKey

💻 🎨 🤔
观沧海
观沧海

💻 🎨 🐛
yuye
yuye

💻 📖
jx10086
jx10086

💻 🐛
winnerTimer
winnerTimer

💻 🐛
goo-kits
goo-kits

💻 🐛
brave4Time
brave4Time

💻 🐛
WalkerLee
WalkerLee

💻 🐛
jianghang
jianghang

💻 🐛
ChineseTony
ChineseTony

💻 🐛
wyt199905
wyt199905

💻
卫傅庆
卫傅庆

💻 🐛
zklmcookle
zklmcookle

💻
DevilX5
DevilX5

📖 💻
tea
tea

💻
yangshihui
yangshihui

💻 🐛
DreamGirl524
DreamGirl524

💻 📖
gzwlly
gzwlly

📖
cuipiheqiuqiu
cuipiheqiuqiu

💻 ⚠️ 🎨
lambert
lambert

💻
mroldx
mroldx

📖
woshiniusange
woshiniusange

📖
VampireAchao
VampireAchao

💻
zcx
zcx

💻 🐛 🎨
CharlieXCL
CharlieXCL

📖
Privauto
Privauto

💻 📖
emrys
emrys

📖
SxLiuYu
SxLiuYu

🐛
All Contributors
All Contributors

📖
铁甲小宝
铁甲小宝

💻 📖
click33
click33

📖
蒋小小
蒋小小

📖
Kevin Huang
Kevin Huang

📖
铁甲小宝
铁甲小宝

🐛 💻 📖
Captain Jack
Captain Jack

📖
haibo.duan
haibo.duan

⚠️ 💻
assassin
assassin

🐛 💻
Reverse wind
Reverse wind

⚠️ 💻
luxx
luxx

💻
Ikko Ashimine
Ikko Ashimine

📖
leizenan
leizenan

💻
BKing
BKing

📖
xingshuaiLi
xingshuaiLi

📖
wangke6666
wangke6666

📖
刺猬
刺猬

🐛 💻
Haste
Haste

💻
zhongshi.yi
zhongshi.yi

📖
Qi Zhang
Qi Zhang

📖
MrAndyMing
MrAndyMing

📖
idongliming
idongliming

💻
Zichao Lin
Zichao Lin

💻 📖
liudonghua
liudonghua

💻 🤔
Jerry
Jerry

💻 ⚠️ 🤔
yanhom
yanhom

📖
fsl
fsl

💻
xttttv
xttttv

📖
NavinKumarBarnwal
NavinKumarBarnwal

💻
Zakkary
Zakkary

📖
sunxinbo
sunxinbo

💻 ⚠️
ldzbook
ldzbook

📖 🐛
余与雨
余与雨

💻 ⚠️
MysticalDream
MysticalDream

💻 ⚠️
zhouyoulin12
zhouyoulin12

💻 ⚠️
jerjjj
jerjjj

💻
wjl110
wjl110

💻
Sean
Sean

📖
chenyiqin
chenyiqin

💻 ⚠️
hudongdong129
hudongdong129

💻 ⚠️ 📖
TherChenYang
TherChenYang

💻 ⚠️
HattoriHenzo
HattoriHenzo

💻 ⚠️
ycilry
ycilry

📖
aoshiguchen
aoshiguchen

📖 💻
蔡本祥
蔡本祥

💻
浮游
浮游

💻
Grass-Life
Grass-Life

💻
xiaohe428
xiaohe428

💻 📖
TableRow
TableRow

📖 💻
ByteIDance
ByteIDance

💻
Jangfe
Jangfe

💻
zqr10159
zqr10159

📖 💻
vinci
vinci

💻 📖 🎨
js110
js110

💻
CrazyLionLi
CrazyLionLi

📖
banmajio
banmajio

💻
topsuder
topsuder

💻
richar2022
richar2022

💻
fcb-xiaobo
fcb-xiaobo

💻
wenkyzhang
wenkyzhang

📖
ZangJuxy
ZangJuxy

📖
l646505418
l646505418

💻
Carpe-Wang
Carpe-Wang

💻
莫枢
莫枢

💻
huangcanda
huangcanda

💻
世纪末的架构师
世纪末的架构师

💻
ShuningWan
ShuningWan

📖
MrYZhou
MrYZhou

📖
suncqujsj
suncqujsj

📖
sunqinbo
sunqinbo

💻
haoww
haoww

📖
i-mayuan
i-mayuan

📖
fengruge
fengruge

📖
zhanghuan
zhanghuan

💻
shenymin
shenymin

💻
Dhruva Chandra
Dhruva Chandra

💻
miss_z
miss_z

📖
wyt990
wyt990

💻
licocon
licocon

💻
Mi Na
Mi Na

💻
Kylin-Guo
Kylin-Guo

📖
Mr灬Dong先生
Mr灬Dong先生

💻
Pratyay Banerjee
Pratyay Banerjee

📖 💻
yujianzhong520
yujianzhong520

💻
SPPan
SPPan

💻
ZhangJiashu
ZhangJiashu

💻
impress
impress

💻
凌晨一点半
凌晨一点半

📖
Eeshaan Sawant
Eeshaan Sawant

💻
nandofromthebando
nandofromthebando

💻
caiboking
caiboking

💻
baixing99
baixing99

💻
Yang Chuang
Yang Chuang

💻
wlin20
wlin20

💻
guojing1983
guojing1983

💻
moxi
moxi

📖
qq471754603
qq471754603

💻
渭雨
渭雨

💻
liuxuezhuo
liuxuezhuo

💻
lisongning
lisongning

💻
YutingNie
YutingNie

💻 📖 🎨
Mike Zhou
Mike Zhou

💻 📖 🎨
小笨蛋
小笨蛋

💻
littlezhongzer
littlezhongzer

💻
ChenXiangxxxxx
ChenXiangxxxxx

💻
Mr.zhou
Mr.zhou

💻
姚贤丰
姚贤丰

💻
lingluojun
lingluojun

💻
1ue
1ue

💻
qyaaaa
qyaaaa

💻
novohit
novohit

💻
zhuoshangyi
zhuoshangyi

💻
ruanliang
ruanliang

📖 💻
Eden4701
Eden4701

💻 📖 🎨
XiaTian688
XiaTian688

📖
liyinjiang
liyinjiang

💻
ZhangJiashu
ZhangJiashu

📖
moghn
moghn

📖
xiaoguolong
xiaoguolong

💻
Smliexx
Smliexx

💻
Naruse
Naruse

📖 💻 🎨
Bala Sukesh
Bala Sukesh

💻
Jinyao Ma
Jinyao Ma

💻
Rick
Rick

💻 ⚠️
东风
东风

💻 🎨 📖
sonam singh
sonam singh

💻
ZhangZixuan1994
ZhangZixuan1994

💻
SHIG
SHIG

💻
泰上老菌
泰上老菌

💻
ldysdu
ldysdu

💻
梁同学
梁同学

💻
avv
avv

💻
yqxxgh
yqxxgh

📖
CharlieShi46
CharlieShi46

💻
Nctllnty
Nctllnty

💻
Wang-Yonghao
Wang-Yonghao

📖
读钓
读钓

💻
Xin
Xin

💻
handy
handy

💻
LiuTianyou
LiuTianyou

💻 📖
WinterKi1ler
WinterKi1ler

💻
miki
miki

💻
Keshav Carpenter
Keshav Carpenter

💻 📖
makechoicenow
makechoicenow

💻
Gao Jian
Gao Jian

💻 🎨 ⚠️
Hyeon Sung
Hyeon Sung

💻
crossoverJie
crossoverJie

💻 📖
PeixyJ
PeixyJ

💻
风如歌
风如歌

💻
Manan Pujara
Manan Pujara

💻
xuziyang
xuziyang

💻
lwqzz
lwqzz

💻
YxYL
YxYL

💻
tomorrowshipyltm
tomorrowshipyltm

📖
栗磊
栗磊

💻
Alan
Alan

📖
Jast
Jast

💻
Zhang Yuxuan
Zhang Yuxuan

💻
P.P.
P.P.

💻
llp2333
llp2333

💻
feiyang li
feiyang li

📖
aias00
aias00

💻
Jin
Jin

📖
YuLuo
YuLuo

💻
linDong
linDong

💻
lwjxy
lwjxy

💻
John
John

💻 📖
boatrainlsz
boatrainlsz

📖
Bill Lau
Bill Lau

💻
lwyang
lwyang

📖
xfl12345
xfl12345

📖
Limbo
Limbo

💻
哈哈哈哈哈哈哈哈哈
哈哈哈哈哈哈哈哈哈

💻
Leon Li
Leon Li

💻
dennis zhuang
dennis zhuang

💻
Kerwin Bryant
Kerwin Bryant

💻 🎨
daixianglong
daixianglong

📖
mchgood
mchgood

📖
kangli
kangli

💻
cdphantom
cdphantom

💻
jiawei.guo
jiawei.guo

💻
QBH-insist
QBH-insist

💻
jiangsh
jiangsh

💻
Keaifa
Keaifa

💻
Loong
Loong

💻
Chandrakant Vankayalapati
Chandrakant Vankayalapati

💻
b_mountain
b_mountain

💻
TemirlanBasitov
TemirlanBasitov

💻
wyfvsfy
wyfvsfy

📖
sherry-peng2333
sherry-peng2333

💻
Yzzz
Yzzz

💻
puruidong
puruidong

📖
shinestare
shinestare

💻
po-168
po-168

💻
wbs99
wbs99

💻
starryCoder
starryCoder

💻
hasimmollah
hasimmollah

💻
Ayu
Ayu

💻
Nick Guo
Nick Guo

📖
doveLin
doveLin

💻
yunfan24
yunfan24

💻

💬 社区交流

Channel

订阅邮件列表 : 发送邮件至 [email protected] 来订阅邮件列表.

Chat On Discord

微信交流群 : 加 ahertzbeat 好友邀请进群.

微信公众号 : 搜索 ID usthecom.

QQ交流群 : 群号 630061200

Github Discussion

Reddit Community

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 - Monitoring Landscape.

🛡️ License

Apache License, Version 2.0