Skip to content

Commit

Permalink
[webapp] update define ui get param from url (#755)
Browse files Browse the repository at this point in the history
* [warehouse] bugfix too many data in h2 db cause oom

* [webapp] update define ui get param from url
  • Loading branch information
tomsun28 authored Mar 21, 2023
1 parent a1ecdfd commit 9936628
Show file tree
Hide file tree
Showing 11 changed files with 373 additions and 30 deletions.
101 changes: 101 additions & 0 deletions home/blog/2023-03-15-hertzbeat-v1.3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: Open source real-time monitoring tool HertzBeat v1.3.0 released, online customization is coming
author: tom
author_title: tom
author_url: https://github.com/tomsun28
author_image_url: https://avatars.githubusercontent.com/u/24788200?s=400&v=4
tags: [opensource, practice]
keywords: [open source monitoring system, alerting system, Linux monitoring]
---

Website: hertzbeat.com | tancloud.cn


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a9629ef5bb6e486cacddb899f1495c6e~tplv-k3u1fbpfcp-zoom-1.image)



### What is HertzBeat?

> HertzBeat is an open source real-time monitoring and alerting tool with powerful custom monitoring capabilities and no Agent required.
> It supports monitoring of application services, database, operating system, middleware, cloud native, network and other metrics, and threshold alert notification in one step.
> Support more liberal threshold rules (calculation expressions), `email` `Discord` `Slack` `Telegram` `Pegging` `WeChat` `FlyBook` `SMS` `Webhook` and other ways to timely delivery.
> We have made the protocol specifications such as `Http,Jmx,Ssh,Snmp,Jdbc` configurable so that you can simply configure `YML` to use these protocols to customize the collection of any metrics you want.
> Do you believe that you can immediately adapt a new monitoring type such as K8s or Docker just by defining YML?

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4236e748f5ac4352b7cf4bb65ccf97aa~tplv-k3u1fbpfcp-zoom-1.image)


**Github: https://github.com/dromara/hertzbeat**

**Gitee: https://gitee.com/dromara/hertzbeat**

### v1.3.0 release is here

After a month of iterations, HertzBeat v1.3.0 was officially released last weekend, **Recommended upgrade**!

- Hertzbeat has powerful custom monitoring capabilities, all our supported monitoring types are mapped to a YML. This time we bring custom monitoring pagination, welcome to use and share your own monitoring type definition.

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b5c9dd3e28c54c72b49a7470012a0c36~tplv-k3u1fbpfcp-zoom-1.image)

- **support for monitoring network switches**.
hertzbeat supported snmp protocol long time ago, windows monitoring is monitored by snmp protocol, this version we not only support more windows performance metrics, but also support snmp walk, adapt several common network switches monitoring, welcome to contribute more types and metrics to the community.

- **Support for monitoring redis clusters and more database metrics**.
Community contributors have contributed extended metrics for redis clusters and multiple databases, enriching the performance metrics data.

- **Support iotdb1.0 storage, dependency-free mode**
and more new features welcome to explore

- Fix several bugs, better documentation, refactored code.

----

Only one docker command is needed to install and experience heartbeat

`docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat`

Thanks to the hertzbeat contributors for their contributions! 👍👍👍

We are in desperate need of contributors for various aspects of test cases, new application monitoring, documentation, etc. Contributors are very welcome to join.

Upgrade note ⚠️.

For users who previously used iotdb or tdengine to store metrics data, you need to modify application.yml to disable JPA storage `warehouse.store.jpa.enabled` as follows:

Modify `application.yml` and set `warehouse.store.jpa.enabled` parameter to false

```
warehouse:
store:
jpa:
enabled: false
```

Execute SQL script

```
ALTER table hzb_monitor modify job_id bigint default null;
COMMIT;
```

----

## ⛄ Supported

- Site Monitor, Port Availability, Http Api, Ping Connectivity, Jvm, SiteMap Full Site, Ssl Certificate, SpringBoot, FTP Server
- Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, Damon, OpenGauss, ClickHouse, IoTDB, Redis Cluster
- Linux, Ubuntu, CentOS, Windows
- Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
- Kubernetes, Docker
- Huawei Switch, HPE Switch, TP-LINK Switch, Cisco Switch
- and more for your custom monitoring.
- Notifications support `Discord` `Slack` `Telegram` `Mail` `Pinning` `WeChat` `FlyBook` `SMS` `Webhook`.

----

**Github: https://github.com/dromara/hertzbeat**
**Gitee: https://gitee.com/dromara/hertzbeat**
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
---
title: 重磅更新 开源实时监控工具 HertzBeat v1.3.0 发布 在线自定义来了
author: tom
author_title: tom
author_url: https://github.com/tomsun28
author_image_url: https://avatars.githubusercontent.com/u/24788200?s=400&v=4
tags: [opensource, practice]
keywords: [开源监控系统, 告警系统, Linux监控]
---

官网: hertzbeat.com | tancloud.cn


![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a9629ef5bb6e486cacddb899f1495c6e~tplv-k3u1fbpfcp-zoom-1.image)



### What is HertzBeat?

> HertzBeat赫兹跳动 是一个拥有强大自定义监控能力,无需 Agent 的开源实时监控告警工具。
> **监控+告警+通知** 为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等指标监控,阈值告警通知一步到位。
> 支持更自由化的阈值规则(计算表达式),`邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook` 等方式及时送达。
> 我们将`Http,Jmx,Ssh,Snmp,Jdbc`等协议规范可配置化,您只需配置`YML`就能使用这些协议去自定义采集任何您想要的指标。
> 您相信只需定义YML就能立刻适配一款K8s或Docker等新的监控类型吗?

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4236e748f5ac4352b7cf4bb65ccf97aa~tplv-k3u1fbpfcp-zoom-1.image)


**Github: https://github.com/dromara/hertzbeat**

**Gitee: https://gitee.com/dromara/hertzbeat**

### v1.3.0 大版本来了

经过一个月的迭代更新,HertzBeat v1.3.0 在上周末正式发布啦, **推荐升级食用**

- **支持在浏览器页面自定义监控**。hertzbeat拥有强大自定义监控能力,我们所有的已支持监控类型都映射为一个YML,之前用户使用自定义监控功能适配指标需要在后台编写YML文件并重启,体验欠佳且没有直观的感受。这次我们带来了自定义监控页面化,欢迎大家使用和分享贡献自己的监控类型定义。

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b5c9dd3e28c54c72b49a7470012a0c36~tplv-k3u1fbpfcp-zoom-1.image)

- **支持对网络交换机的监控**。hertzbeat很早之前就支持了snmp协议,windows监控就是通过snmp协议来监控的,这个版本我们不仅支持了更多windows性能指标,还支持了snmp walk,适配了几款常见网络交换机的监控,欢迎贡献更多类型与指标给社区。

- **支持redis集群和更多数据库指标的监控**。社区贡献者们贡献了对redis集群和多种数据库的扩展指标,丰富了性能指标数据。

- **支持iotdb1.0存储,无依赖模式**等更多的新功能欢迎来探索

- 修复若干BUG,更完善的文档,重构了代码。

----

只需要一条docker命令即可安装体验heartbeat

`docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat`

感谢hertzbeat贡献者们的贡献!👍👍

我们急需对测试用例,新增应用监控,文档等各方面的贡献者,非常欢迎加入。

Feature:

1. [[webapp,doc] monitor detail support basic panel hide #619]() @tomsun28
2. [add alarm notification period #624]() @Ceilzcx
3. [[manager] support more mysql monitoring metrics #631]()
4. [[unit test] Add unit test cases for KeyPairUtil #635]() @Daydreamer-ia
5. [[test]feature:add AlertDefineService test #638]() @hudongdong129
6. [[unit test] Add unit test cases for AlertTemplateUtil #639]() @Daydreamer-ia
7. [[test] add junit WarehouseWorkerPoolTest #642]() @TherChenYang
8. [task #614 [Add monitoring parameters for Redis Cluster and Sentinel] #647]() @hudongdong129
9. [A minor refactoring of the class WarehouseWorkerPoolTest #648]() @HattoriHenzo
10. [[task]feature:Optimize Redis info [section] and Add Redis command statistics #665]() @hudongdong129
11. [[document]add redis help document #672]() @hudongdong129
12. [Jupiter dependency is explicitly declared in the main pom file #674]() @HattoriHenzo
13. [refactor monitor define yml, update doc #675]()
14. [[task]support more window metrics #676]() @hudongdong129
15. [support config monitoring define yml in web ui #678]()
16. [support delete monitoring define yml in web ui #679]()
17. [[manager] add mysql, oracle, pg db more metrics #683]()
18. [[warehouse] support jpa store metrics history data #684]()
19. [[collect]Add redis cluster auto-discovery display metrics information #685]() @hudongdong129
20. [Convert version into properties #686]() @HattoriHenzo
21. [[webapp] change default monitor intervals 120s to 60s #708]() @xiaohe428
22. [[warehouse] support jpa expired metrics data auto cleaner #691]()
23. [snmp collect protocol support walk operation #699]()
24. [support v1.0.+ iotdb #702]() @Ceilzcx
25. [feature support monitor switch network metrics #705]()
26. [[webapp] change alert define trigger times from max 10 to max 999 #706]() @Grass-Life
27. [[doc] change default locale i18n from zh-cn to en #725]()


Bugfix.

1. [[collector] bugfix oracle query error: ORA-01000 happen #618]()
2. [[manager]bugfix:update flink fields name, use _ replace - avoid alert_threshold_expr problem. #622]() @cuipiheqiuqiu
3. [[webapp] fix rule days not change when edit old notice rule item #628]()
4. [[webapp] update alert notice modal item span #630]()
5. [Update issue.md #654]() @ycilry
6. [The version of Spring Boot should be put in properties #657]() @HattoriHenzo
7. [Bugfix: EdDSA provider not supported #659]() @caibenxiang
8. [[script] auto heap dump when oom error #662]()
9. [bugfix recurring tasks caused by priority processing exception #663]()
10. [bugfix repetitive collect tasks, reduce init mem size #664]()
11. [[manager] bugfix define yml file name and the app name are inconsistent #680]()
12. [[collector] bugfix metrics has a lot of repetition fields #682]()
13. [fix(sec): upgrade org.apache.kafka:kafka-clients to 3.4.0 #687]() @lifefloating
14. [optimized code and add iotdb compose config #690]() @Ceilzcx
15. [[script] modified the linux memory metrics specified script code #719]() @ByteIDance
16. [Update kubernetes.md #715]() @xiaohe428
17. [[home,i18n] Update kubernetes.md #716]() @baiban114
18. [[webapp] fix applist delete button display #693]()
19. [[warehouse] bugfix metrics data not consume oom #697]()
20. [[manager] bugfix npe when load old define yml in windows env #701]()
21. [bugfix job metrics set concurrent modification exception #723]()
22. [[script] modified the linux memory metrics specified script code #719]()
23. [[webapp] bugfix the cover of the big screen is too small #724]()
----

升级注意⚠️.

对于之前使用iotdb或者tdengine来存储指标数据的用户,需要修改 application.yml 来关闭JPA存储 `warehouse.store.jpa.enabled` 如下:

修改 `application.yml` 并设置 `warehouse.store.jpa.enabled` 参数为 false
```
warehouse:
store:
jpa:
enabled: false
```

执行SQL脚本
```
ALTER table hzb_monitor modify job_id bigint default null;
COMMIT;
```

----

## ⛄ Supported

- 网站监控, 端口可用性, Http Api, Ping连通性, Jvm, SiteMap全站, Ssl证书, SpringBoot, FTP服务器
- Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, 达梦, OpenGauss, ClickHouse, IoTDB, Redis集群
- Linux, Ubuntu, CentOS, Windows
- Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
- Kubernetes, Docker
- Huawei Switch, HPE Switch, TP-LINK Switch, Cisco Switch
- 和更多你的自定义监控。
- 通知支持 `Discord` `Slack` `Telegram` `邮件` `钉钉` `微信` `飞书` `短信` `Webhook`

----

**Github: https://github.com/dromara/hertzbeat**
**Gitee: https://gitee.com/dromara/hertzbeat**
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
<nz-breadcrumb-item>
<span nz-icon nzType="pie-chart"></span>
<span>{{ 'monitors.detail' | i18n }}</span>
<nz-tag style="font-size: 14px; border-radius: 4px; margin-left: 4px" nzColor="#3f51b5">
<span>{{ 'monitor.app.' + app | i18n }}</span>
</nz-tag>
<a routerLink="/setting/define" [queryParams]="{ app: app }">
<nz-tag style="font-size: 14px; border-radius: 4px; margin-left: 4px" nzColor="#3f51b5" class="hoverClass">
<span>{{ 'monitor.app.' + app | i18n }}</span>
</nz-tag>
</a>
<a [href]="'https://hertzbeat.com/docs/help/' + app" target="_blank" style="float: right; margin-right: 5%" class="mobile-hide">
<button nz-button nzType="primary">
<span>{{ 'common.button.help' | i18n }} </span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
<nz-breadcrumb-item>
<i nz-icon nzType="edit"></i>
<span>{{ 'monitors.edit' | i18n }} </span>
<nz-tag style="font-size: 14px; border-radius: 4px" nzColor="#3f51b5">
<span>{{ 'monitor.app.' + monitor.app | i18n }}</span>
</nz-tag>
<a routerLink="/setting/define" [queryParams]="{ app: monitor.app }">
<nz-tag style="font-size: 14px; border-radius: 4px" nzColor="#3f51b5" class="hoverClass">
<span>{{ 'monitor.app.' + monitor.app | i18n }}</span>
</nz-tag>
</a>
<span>{{ 'monitor' | i18n }}</span>
<a [href]="'https://hertzbeat.com/docs/help/' + monitor.app" target="_blank" style="float: right; margin-right: 5%" class="mobile-hide">
<button nz-button nzType="primary">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@
<nz-breadcrumb-item>
<i nz-icon nzType="reconciliation"></i>
<span>{{ 'monitors.list' | i18n }}</span>
<nz-tag style="font-size: 14px; border-radius: 4px; margin-left: 4px" nzColor="#3f51b5">
<span>{{ 'monitor.app.' + app | i18n }}</span>
</nz-tag>
<a routerLink="/setting/define" [queryParams]="{ app: app }">
<nz-tag style="font-size: 14px; border-radius: 4px; margin-left: 4px" nzColor="#3f51b5" class="hoverClass">
<span>{{ 'monitor.app.' + app | i18n }}</span>
</nz-tag>
</a>
<a [href]="'https://hertzbeat.com/docs/help/' + app" target="_blank" style="float: right; margin-right: 5%" class="mobile-hide">
<button nz-button nzType="primary">
<span>{{ 'common.button.help' | i18n }} </span>
Expand Down Expand Up @@ -143,10 +145,12 @@
</button>
</td>
<td nzAlign="center">
<nz-tag nzColor="processing">
<i nz-icon nzType="cloud"></i>
<span>{{ 'monitor.app.' + data.app | i18n }}</span>
</nz-tag>
<a routerLink="/setting/define" [queryParams]="{ app: data.app }">
<nz-tag nzColor="processing" class="hoverClass">
<i nz-icon nzType="cloud"></i>
<span>{{ 'monitor.app.' + data.app | i18n }}</span>
</nz-tag>
</a>
</td>
<td nzAlign="center">{{ (data.gmtUpdate ? data.gmtUpdate : data.gmtCreate) | date : 'YYYY-MM-dd HH:mm:ss' }}</td>
<td nzAlign="center">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
<nz-breadcrumb-item>
<i nz-icon nzType="plus-circle"></i>
<span>{{ 'monitors.new' | i18n }} </span>
<nz-tag style="font-size: 14px; border-radius: 4px" nzColor="#3f51b5">
<span>{{ 'monitor.app.' + monitor.app | i18n }}</span>
</nz-tag>
<a routerLink="/setting/define" [queryParams]="{ app: monitor.app }">
<nz-tag style="font-size: 14px; border-radius: 4px" nzColor="#3f51b5" class="hoverClass">
<span>{{ 'monitor.app.' + monitor.app | i18n }}</span>
</nz-tag>
</a>
<span>{{ 'monitor' | i18n }}</span>
<a [href]="'https://hertzbeat.com/docs/help/' + monitor.app" target="_blank" style="float: right; margin-right: 5%" class="mobile-hide">
<button nz-button nzType="primary">
Expand Down
2 changes: 1 addition & 1 deletion web-app/src/app/routes/monitor/monitor-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const routes: Routes = [
{ path: '', component: MonitorListComponent },
{ path: 'new', component: MonitorNewComponent },
{ path: ':monitorId/edit', component: MonitorEditComponent },
{ path: ':monitorId', component: MonitorDetailComponent, data: { title: '监控详情' } },
{ path: ':monitorId', component: MonitorDetailComponent, data: { titleI18n: 'monitors.detail' } },
{ path: '**', component: MonitorListComponent }
];

Expand Down
Loading

0 comments on commit 9936628

Please sign in to comment.