Developers often encounter performance issues with their applications. Even if you’re an experienced programmer, you’ve probably encountered the following scenarios: when opening a website, the page crashes 404; Click APP to display network request error or timeout; Web pages are slow to respond when shown to customers……

When faced with a similar problem, the preferred solution is to find the problem, locate the problem, and analyze the problem as quickly as possible so that the problem can be solved as soon as possible. Such solutions are often referred to as APM (Application Performance Monitoring Software).

Today, we will recommend you an excellent and easy to use open source monitoring alarm project – HertzBeat HertzBeat, project address: gitee.com/dromara/her… , we can also try to understand the operation after reading this article, discuss together.

Before the introduction, let’s get to know the author of the project: Dromara. Dromara is an open source community. “Dromara is the name of a small village in Ireland with beautiful scenery,” Xiao Yu, founder of the Community, told Gitee about the name. “Secondly, I like the grassland, and the girl on the grassland is Called Zhuomara.

There are currently 10 GVP projects in Dromara community with a maximum star count of 17.2K. The HertzBeat HertzBeat that we’re introducing today is a project hatched from the Dromara community. Among them, tomsun28, the core author of HertzBeat HertzBeat, is also the author of GVP project bootshiro.

According to his online profile, he is now a full-time developer and has worked on several open source projects, such as Sureness in Dromara; GVP project Bootshiro, etc. Prior to this, the big guy has been deeply cultivated in the FIELD of APM for many years, because of the tropical open source, naked resignation in 2021, full-time focus on open source, the direction of this venture and open source is also the old line of monitoring system.

This project is a new result developed by the author. Without further ado, how easy is this project to use?

01 about HertzBeat

Open Source License:

Apache-2.0

Project Introduction:

HertzBeat HertzBeat is incubated by Dromara community, TanCloud is an open source support website, API, PING, port, database, operating system and other monitoring types, with a visual operation interface of the open source monitoring alarm project.

The characteristics of

Modular, easy to expand, low coupling, convenient independent custom development

02 Modularization

The Module of HertzBeat includes decoupling of manager, Collector, Scheduler, Warehouse, and Alerter modules.

Manager provides monitoring management and basic system management services

Provides monitoring management, monitoring application configuration management, system user tenant background management, etc.

Collector provides monitoring data collection services

Obtain peer indicator data by using a universal protocol.

Scheduler provides monitoring task scheduling service

Collection task management, scheduling and distribution of one-time and periodic tasks.

Warehouse provides monitoring data warehousing services

Collection index results data management, data falling disk, query, calculation statistics.

Alerter Provides the alarm service

Alarm calculation is triggered, monitoring status linkage, alarm configuration, and alarm notification.

Web-app provides visual console pages

Monitor the visual console front end of the alarm system

03 Installation Procedure

1. If you don’t want to deploy it and use it directly, you can go to TanCloud, the SaaS monitoring cloud provided by TanCloud.

  • Log on to the console. Tancloud. Cn/passport/lo…

2. If the operation is deployed on the Intranet, perform the following operations:

  • HertzBeat relies at least on the relational database MySQL5+ and the sequential database TDengine2+

MySQL installation

1. The Docker MySQL installation

Docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7Copy the code

2. Create a database named HertzBeat.

3. Run the database script schema.sql in the /script/ SQL/directory of the project repository

Install TDengine

1. Install TDengine Docker

Docker run - d - p 6030-6049:6030-6049 - p - 6030-6049:6030-6049 / udp - the name tdengine tdengine/tdengine: 2.4.0.12Copy the code

2. Create a database named HertzBeat

HertzBeat installation

  • HertzBeat supports source installation, Docker container running and installation package deployment.

Method 1: Quick installation using Docker

docker run -d -p 1157:1157 -v /opt/application.yml:/opt/hertzbeat/config/application.yml --name hertzbeat Tancloud/hertzbeat: [version tag]Copy the code

Method 2: Install using the installation package

1. Download the installation package GITEE Release GITHUB Release

2. Configure HertzBeat HertzBeat/config/application configuration file. The yml

3. Start the deployment with $./startup.sh

Method three: Start with local code

1. This is a project separated from the front and back ends. The local code debugging needs to start the back-end project Manager and the front-end project Web-app respectively

2. Back end: Maven3+ and Java8+ environments are required to modify the YML configuration information and start the Manager service front-end: Node.js NPM Angular-CLI environment is required. After the local backend is started, start ng serve –open in the web-app directory

3. To start, log in to localhost:4200. The default account password is admin and admin

Docker-compose installs HertzBeat and its dependent services

The docker-compose deployment script is used to install MySQL database, TDengine database and HertzBeat database.

Project presentations

To view the detailed operating mode, can get to B station www.bilibili.com/video/BV1Vi… Look at it.