Use PostgreSQL Replace H2 Database to Store Metadata(Recommended)
PostgreSQL is an RDBMS emphasizing extensibility and SQL compliance. In addition to default built-in H2 database, Apache HertzBeat™ allows you to use PostgreSQL to store structured relational data such as monitoring information, alarm information and configuration information.
If you have a PostgreSQL environment, you can skip directly to the database creation step.
Install PostgreSQL via Docker
-
Download and install the Docker environment Docker tools download refer to Docker official document。 After the installation you can check if the Docker version normally output at the terminal.
$ docker -v
Docker version 20.10.12, build e91ed57 -
Install PostgreSQL with Docker
docker run -d --name postgresql -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=123456 -e TZ=Asia/Shanghai postgres:15use
$ docker psto check if the database started successfully
Database creation
-
Enter postgreSQL or use the client to connect postgreSQL service
su - postgres
psql -
Create database named hertzbeat
CREATE DATABASE hertzbeat; -
Check if hertzbeat database has been successfully created
SELECT * FROM pg_database where datname='hertzbeat';
Modify hertzbeat's configuration file application.yml and switch data source
- Configure HertzBeat's configuration file
Modify
hertzbeat/config/application.ymlconfiguration 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.databasedata source parameters, URL account and password.
spring:
datasource:
driver-class-name: org.h2.Driver
username: sa
password: 123456
url: jdbc:h2:./data/hertzbeat;MODE=MYSQL
hikari:
max-lifetime: 120000
jpa:
show-sql: false
database-platform: org.eclipse.persistence.platform.database.MySQLPlatform
database: h2
properties:
eclipselink:
logging:
level: SEVERE
Specific replacement parameters are as follows and you need to configure account, ip, port according to the postgresql environment:
spring:
datasource:
driver-class-name: org.postgresql.Driver
username: root
password: 123456
url: jdbc:postgresql://postgresql:5432/hertzbeat
hikari:
max-lifetime: 120000
jpa:
show-sql: false
database-platform: org.eclipse.persistence.platform.database.PostgreSQLPlatform
database: postgresql
properties:
eclipselink:
logging:
level: SEVERE
Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the Database creation and modify the configuration in
hertzbeat-startup/src/main/resources/application.yml.
Start HertzBeat visit http://ip:1157/ on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat