Back to Hertzbeat

Use PostgreSQL Replace H2 Database to Store Metadata(Recommended)

home/docs/start/postgresql-change.md

1.8.03.1 KB
Original Source

PostgreSQL is a RDBMS emphasizing extensibility and SQL compliance. In addition to default built-in H2 database, Apache HertzBeat™ 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

  1. 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.

    shell
    $ docker -v
    Docker version 20.10.12, build e91ed57
    
  2. Install PostgreSQL with Docker

    shell
    docker run -d --name postgresql -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=123456 -e TZ=Asia/Shanghai postgres:15       
    

    use$ docker psto check if the database started successfully

Database creation

  1. Enter postgreSQL or use the client to connect postgreSQL service

    shell
    su - postgres
    psql
    
  2. Create database named hertzbeat

    sql
    CREATE DATABASE hertzbeat;
    
  3. Check if hertzbeat database has been successfully created

    sql
    SELECT * FROM pg_database where datname='hertzbeat';
    

Modify hertzbeat's configuration file application.yml and switch data source

  1. 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 modify hertzbeat/config/application.yml
    Replace spring.database data source parameters, URL account and password.
yaml
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: h2
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        format_sql: true

Specific replacement parameters are as follows and you need to configure account, ip, port according to the postgresql environment:

yaml
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: postgresql
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        format_sql: true

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