Use PostgreSQL Replace H2 Database to Store Metadata(Recommended)
PostgreSQL is a RDBMS emphasizing extensibility and SQL compliance. In addition to default built-in H2 database, Apache HertzBeat (incubating) allow you to use PostgreSQL to store structured relational data such as monitoring information, alarm information and configuration information.
If you have the PostgreSQL environment, can be directly to 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 e91ed57Install PostgreSQL with Docker
docker run -d --name postgresql -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=123456 -e TZ=Asia/Shanghai postgres:15
use
$ docker ps
to check if the database started successfully
Database creation
Enter postgreSQL or use the client to connect postgreSQL service
su - postgres
psqlCreate 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.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.
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
Start HertzBeat visit http://ip:1157/ on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat