Suggest the HertzBeat + GreptimeDB + Postgresql Solution for the best performance and stability.
Notes:
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without
mysql-connector-j. - If you place
mysql-connector-jinext-lib, HertzBeat prefers JDBC after restart. - Oracle and DB2 still require external JDBC driver jars in
ext-lib.
All five Docker Compose variants publish host ports on 127.0.0.1 by
default. This includes the HertzBeat listeners and the development database or
time-series database ports. Containers still communicate over their internal
hertzbeat network, so ordinary local use needs no override.
1157(web/API) and1158(manager/collector transport) useHERTZBEAT_BIND_ADDRESS.14317(OTLP/gRPC ingestion) uses the independentHERTZBEAT_OTLP_BIND_ADDRESSoverride.- Database and time-series database development ports remain loopback-only.
For a remote Collector, copy the selected variant's .env.example to .env
and set HERTZBEAT_BIND_ADDRESS to a reachable manager address. Expose 1158
only to Collector source networks. Set HERTZBEAT_OTLP_BIND_ADDRESS separately
only for trusted OTLP senders. Before using 0.0.0.0, replace bundled/default
credentials, apply firewall or security-group restrictions, and configure TLS.
Run docker compose config to inspect the final bindings before startup.
- Use Postgresql + GreptimeDB as HertzBeat dependent storage -> HertzBeat+PostgreSQL+GreptimeDB Solution
- Use Postgresql + VictoriaMetrics as HertzBeat dependent storage -> HertzBeat+PostgreSQL+VictoriaMetrics Solution
- Use Mysql + VictoriaMetrics as HertzBeat dependent storage -> HertzBeat+Mysql+VictoriaMetrics Solution
- Use Mysql + IoTDB as HertzBeat dependent storage -> HertzBeat+Mysql+IoTDB Solution
- Use Mysql + Tdengine as HertzBeat dependent storage -> HertzBeat+Mysql+Tdengine Solution