Use MYSQL Replace H2 Database to Store Metadata(Optional)
MYSQL is a reliable relational database. In addition to default built-in H2 database, Apache HertzBeat (incubating) allow you to use MYSQL to store structured relational data such as monitoring information, alarm information and configuration information.
If you have the MYSQL environment, can be directly to database creation step.
Install MYSQL via Docker
Download and install the Docker environment For Docker installation, please refer to the Docker official documentation. After the installation, please verify in the terminal that the Docker version can be printed normally.
$ docker -v
Docker version 20.10.12, build e91ed57Install MYSQl with Docker
$ docker run -d --name mysql \
-p 3306:3306 \
-v /opt/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
mysql:5.7-v /opt/data:/var/lib/mysql
is local persistent mount of mysql data directory./opt/data
should be replaced with the actual local directory. use$ docker ps
to check if the database started successfully
Database creation
- Enter MYSQL or use the client to connect MYSQL service
mysql -uroot -p123456
- Create database named hertzbeat
create database hertzbeat default charset utf8mb4 collate utf8mb4_general_ci;
- Check if hertzbeat database has been successfully created
show databases;
Modify hertzbeat's configuration file application.yml and switch data source
Configure HertzBeat's configuration file
Modifyhertzbeat/config/application.yml
configuration file
Note⚠️The docker container way need to mount application.yml file locally, while you can use installation package way to unzip and modifyhertzbeat/config/application.yml
Replacespring.database
data source parameters, URL account and password.For example:
spring:
datasource:
driver-class-name: org.h2.Driver
username: sa
password: 123456
url: jdbc:h2:./data/hertzbeat;MODE=MYSQLSpecific replacement parameters are as follows and you need to configure account according to the mysql environment:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false
platform: mysql
jpa:
database: mysqlIt is recommended to set the host field in the MySQL URL or Redis URL to the public IP address when using Hertzbeat in docker.
Start HertzBeat visit http://ip:1157/ on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat