Skip to content

Commit

Permalink
Merge branch 'master' into fix-redfish-protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
yuluo-yx authored Aug 25, 2024
2 parents 3ffc085 + 102c72b commit f2e22dd
Show file tree
Hide file tree
Showing 14 changed files with 56 additions and 30 deletions.
6 changes: 5 additions & 1 deletion .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@
"MD001": true,
"MD052": false,
"MD003": false,
"MD013": false,
"MD013": {
"line_length": 600,
"code_blocks": false,
"tables": false
},
"MD024": {
"siblings_only": true
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,11 @@ public boolean filterConverge(Alert currentAlert) {
isHasIgnore = true;
tags.remove(CommonConstants.IGNORE);
}
int alertHash = Objects.hash(CommonConstants.ALERT_PRIORITY_CODE_CRITICAL)
+ Arrays.hashCode(tags.keySet().toArray(new String[0]))
+ Arrays.hashCode(tags.values().toArray(new String[0]));
int alertHash = generateAlertHash(CommonConstants.ALERT_PRIORITY_CODE_CRITICAL, tags);
converageAlertMap.remove(alertHash);
alertHash = Objects.hash(CommonConstants.ALERT_PRIORITY_CODE_EMERGENCY)
+ Arrays.hashCode(tags.keySet().toArray(new String[0]))
+ Arrays.hashCode(tags.values().toArray(new String[0]));
alertHash = generateAlertHash(CommonConstants.ALERT_PRIORITY_CODE_EMERGENCY, tags);
converageAlertMap.remove(alertHash);
alertHash = Objects.hash(CommonConstants.ALERT_PRIORITY_CODE_WARNING)
+ Arrays.hashCode(tags.keySet().toArray(new String[0]))
+ Arrays.hashCode(tags.values().toArray(new String[0]));
alertHash = generateAlertHash(CommonConstants.ALERT_PRIORITY_CODE_WARNING, tags);
converageAlertMap.remove(alertHash);
if (isHasIgnore) {
tags.put(CommonConstants.IGNORE, CommonConstants.IGNORE);
Expand Down Expand Up @@ -132,9 +126,7 @@ public boolean filterConverge(Alert currentAlert) {
if (evalInterval <= 0) {
return true;
}
int alertHash = Objects.hash(currentAlert.getPriority())
+ Arrays.hashCode(currentAlert.getTags().keySet().toArray(new String[0]))
+ Arrays.hashCode(currentAlert.getTags().values().toArray(new String[0]));
int alertHash = generateAlertHash(currentAlert.getPriority(), currentAlert.getTags());
Alert preAlert = converageAlertMap.get(alertHash);
if (preAlert == null) {
currentAlert.setTimes(1);
Expand Down Expand Up @@ -165,4 +157,12 @@ public boolean filterConverge(Alert currentAlert) {
}
return true;
}

private int generateAlertHash(byte priority, Map<String, String> tags) {
List<String> keyList = tags.keySet().stream().filter(Objects::nonNull).sorted().toList();
List<String> valueList = tags.values().stream().filter(Objects::nonNull).sorted().toList();
return Objects.hash(priority)
+ Arrays.hashCode(keyList.toArray(new String[0]))
+ Arrays.hashCode(valueList.toArray(new String[0]));
}
}
3 changes: 2 additions & 1 deletion home/blog/2022-06-01-hertzbeat-v1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ author_image_url: https://avatars.githubusercontent.com/u/24788200?s=400&v=4
tags: [opensource]
---

HertzBeat, incubated by Dromara and open-sourced by TanCloud, is an open-source monitoring and alerting project that supports a variety of monitoring types including websites, APIs, PING, ports, databases, full-site, operating systems, middleware, etc. It supports threshold alarms and notification alerts (email, webhook, DingTalk, WeCom, Feishu robots) and has an easy-to-use, friendly visual operation interface.
HertzBeat, incubated by Dromara and open-sourced by TanCloud, is an open-source monitoring and alerting project that supports a variety of monitoring types including websites, APIs, PING, ports, databases, full-site, operating systems, middleware, etc.
It supports threshold alarms and notification alerts (email, webhook, DingTalk, WeCom, Feishu robots) and has an easy-to-use, friendly visual operation interface.

Official Website: hertzbeat.com | tancloud.cn

Expand Down
3 changes: 2 additions & 1 deletion home/blog/2023-08-14-hertzbeat-v1.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ First of all, let's take a look at what open source can bring, or why open sourc

* User traffic. Open source projects are provided free of charge to users and developers, and have advantages in attracting users to use and promoting them.
* User trust. Open source products are naturally easy to gain the trust and patience of users, or lower the threshold of trust for users.
* Community collaboration. Open source products can attract top contributors to contribute together, receive user feedback issues, pr contributions, etc. Driven by the community, open source projects will become better and better, and more people will participate and use them after positive feedback. Community collaboration I think this is the meaning of open source, and this is not just the contribution code collaboration between programmers, users are all collaboration objects (for example, our project has a large number of operation and maintenance friends who contribute code and documents), if it is only code Open source without community collaboration, it is better to release an installation package for others to use and download for free.
* Community collaboration. Open source products can attract top contributors to contribute together, receive user feedback issues, pr contributions, etc.
* Driven by the community, open source projects will become better and better, and more people will participate and use them after positive feedback. Community collaboration I think this is the meaning of open source, and this is not just the contribution code collaboration between programmers, users are all collaboration objects (for example, our project has a large number of operation and maintenance friends who contribute code and documents), if it is only code Open source without community collaboration, it is better to release an installation package for others to use and download for free.
* Product ecology. This is required for some ecological products, such as hertzbeat, which need to support monitoring types that connect to various types of protocols, and a large number of monitoring templates. Only a good open source project ecology can attract other contributors to contribute and share, exchange what is needed in the ecology, and ultimately everyone will benefit from the ecology. This is difficult to do in closed source programs.

The above points focus on community collaboration and product ecology. This is also the reason for the open source cluster version. Only open source products can be rolled into stronger product power. For example, the technical feature of cluster will naturally attract developers (and the cluster itself is The product of our community collaboration) will attract more users and contributors to use feedback and iterate together. The community drives and then positively promotes open source projects and satisfies user functional experience.
Expand Down
8 changes: 6 additions & 2 deletions home/blog/2023-08-28-new-committer.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ keywords: [open source monitoring system, alerting system]

! [hertzBeat](/img/blog/new-committer.png)

It's great to welcome a new community `Committer`, unlike other contributors `logicz` comes from an Ops implementation position at Cyberoam rather than a development position, but the quality of the contributions, both in terms of code and documentation etc. is very high 👍. This is also our `HertzBeat` and other open source projects are not the same place, because the user group is more oriented to the operation and maintenance of the development, in our 139 contributors in the operation and maintenance engineers accounted for more than 30%, which breaks the open source project collaboration and contribution to the object are the inherent cognition of the development position, which shows that whether it is the operation and maintenance engineers and test engineers to contribute to the open source project participation is very enthusiastic! This shows that both operation and maintenance engineers and test engineers are very enthusiastic about contributing to open source projects, not just as bystanders to open source collaboration. Participation in open source projects is not exclusive to a certain group of people, but is open to all who want to participate, it may be a document, a script or a piece of code, imagine your participation in the open source project is deployed to thousands of servers to run running, to help others to be used or browse the Review discussion, git record will always be kept, this may be the significance of participation in open source projects.
It's great to welcome a new community `Committer`, unlike other contributors `logicz` comes from an Ops implementation position at Cyberoam rather than a development position, but the quality of the contributions, both in terms of code and documentation etc. is very high 👍.
This is also our `HertzBeat` and other open source projects are not the same place, because the user group is more oriented to the operation and maintenance of the development, in our 139 contributors in the operation and maintenance engineers accounted for more than 30%, which breaks the open source project collaboration and contribution to the object are the inherent cognition of the development position, which shows that whether it is the operation and maintenance engineers and test engineers to contribute to the open source project participation is very enthusiastic!
This shows that both operation and maintenance engineers and test engineers are very enthusiastic about contributing to open source projects, not just as bystanders to open source collaboration.
Participation in open source projects is not exclusive to a certain group of people, but is open to all who want to participate, it may be a document, a script or a piece of code, imagine your participation in the open source project is deployed to thousands of servers to run running, to help others to be used or browse the Review discussion, git record will always be kept, this may be the significance of participation in open source projects.

> Welcome HertzBeat's newest community committer logicz, let's learn more about his open source experience!
Expand All @@ -28,7 +31,8 @@ github:zqr10159

## Getting to know Hertzbeat

In March 2023, I started to contact Hertzbeat, due to the need for a complete monitoring->alerting platform for the project, due to the deployment of the project on the intranet, the company's internal closed-source monitoring platform can not be developed to meet the needs of cross-network segment alerts. Later in the github looking for open source monitoring platform, found Hertzbeat, easy to deploy and full-featured. The most important thing is that the author tom replies to issues and updates very quickly, very much in line with my imagination of the open source community, I'm very happy to be able to participate in open source and can see their own results for everyone to use.
In March 2023, I started to contact Hertzbeat, due to the need for a complete monitoring->alerting platform for the project, due to the deployment of the project on the intranet, the company's internal closed-source monitoring platform can not be developed to meet the needs of cross-network segment alerts.
Later in the github looking for open source monitoring platform, found Hertzbeat, easy to deploy and full-featured. The most important thing is that the author tom replies to issues and updates very quickly, very much in line with my imagination of the open source community, I'm very happy to be able to participate in open source and can see their own results for everyone to use.

## Ongoing open source contributions and gains

Expand Down
6 changes: 4 additions & 2 deletions home/blog/2024-07-08-new-committer.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ I first came into contact with the Apache Hertzbeat project by chance. At that t

### Start contributing

After having a preliminary understanding of the project, I found that it needed to complete the monitoring scope of the big data field, so I decided to start contributing some code. I started with supplementing big data monitoring. This not only helped me understand the project more deeply, but also gradually let other members of the community know me. I remember that the first Pull Request I submitted was to add a new Hbase cluster monitoring template. Although it seems insignificant, I was very excited when it was merged. This was a real interaction between me and the open source community and my first step towards greater contribution.
After having a preliminary understanding of the project, I found that it needed to complete the monitoring scope of the big data field, so I decided to start contributing some code. I started with supplementing big data monitoring. This not only helped me understand the project more deeply, but also gradually let other members of the community know me.
I remember that the first Pull Request I submitted was to add a new Hbase cluster monitoring template. Although it seems insignificant, I was very excited when it was merged. This was a real interaction between me and the open source community and my first step towards greater contribution.

### In-depth participation

Expand Down Expand Up @@ -46,4 +47,5 @@ This process made me understand the importance of cooperation and made me feel t

### Conclusion

Becoming a Committer of the Apache Hertzbeat project is a challenging and rewarding journey. Through continuous learning and contribution, I have not only improved my technical ability, but also found a sense of belonging and accomplishment in the community. I hope that my experience can inspire more people to participate in the open source community and jointly promote the progress and development of technology. To borrow the words of Tom: Participating in open source should not affect everyone's work and life, otherwise it will go against the original intention. Everyone should participate in the free time after get off work.
Becoming a Committer of the Apache Hertzbeat project is a challenging and rewarding journey. Through continuous learning and contribution, I have not only improved my technical ability, but also found a sense of belonging and accomplishment in the community.
I hope that my experience can inspire more people to participate in the open source community and jointly promote the progress and development of technology. To borrow the words of Tom: Participating in open source should not affect everyone's work and life, otherwise it will go against the original intention. Everyone should participate in the free time after get off work.
3 changes: 2 additions & 1 deletion home/blog/2024-07-15-new-committer.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ Hello everyone, I am very honored to receive an invitation from the community to

### Encounter

In my work, several physical servers are deployed, running various databases and middleware. Although we have deployed the Prometheus + Grafana monitoring combination, most services and servers require additional installation of exporters. As a result, this monitoring system does not cover the entire project. Sometimes, we only realize a service is down when it is too late. One day in April, I came across an article introducing HertzBeat. I was immediately attracted by its unique features, such as no need for agents and fully visualized configuration, along with support for one-click deployment via Docker. I quickly deployed HertzBeat and put it into use.
In my work, several physical servers are deployed, running various databases and middleware. Although we have deployed the Prometheus + Grafana monitoring combination, most services and servers require additional installation of exporters.
As a result, this monitoring system does not cover the entire project. Sometimes, we only realize a service is down when it is too late. One day in April, I came across an article introducing HertzBeat. I was immediately attracted by its unique features, such as no need for agents and fully visualized configuration, along with support for one-click deployment via Docker. I quickly deployed HertzBeat and put it into use.

### Familiarization

Expand Down
3 changes: 2 additions & 1 deletion home/blog/2024-07-29-new-committer.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ In the open-source community, every contribution not only pushes the project for

## Starting from the Details: Optimizing Visuals and Interactions

I firmly believe that details determine success or failure. When I first joined the project, I began by optimizing the interface to enhance the user's visual and interactive experience. I refined the modal window layout of the monitoring selection menu to better align with user operation habits. I adjusted the header style and content layout of the monitoring details page to make information presentation clearer and more intuitive. Additionally, I unified the border-radius values of components and addressed issues such as missing internationalization translations, ensuring the consistency and completeness of the system interface.
I firmly believe that details determine success or failure. When I first joined the project, I began by optimizing the interface to enhance the user's visual and interactive experience. I refined the modal window layout of the monitoring selection menu to better align with user operation habits.
I adjusted the header style and content layout of the monitoring details page to make information presentation clearer and more intuitive. Additionally, I unified the border-radius values of components and addressed issues such as missing internationalization translations, ensuring the consistency and completeness of the system interface.

These seemingly minor changes significantly enhanced the overall aesthetics and user experience of the system. Through this process, I gained a profound understanding of the importance of interface design for user experience and honed my attention to detail.

Expand Down
Loading

0 comments on commit f2e22dd

Please sign in to comment.