Files
hertzbeat/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/victoria-metrics-init.md
T
2025-08-30 17:34:50 +08:00

4.7 KiB
Raw Blame History

id, title, sidebar_label
id title sidebar_label
victoria-metrics-init 依赖时序数据库服务VictoriaMetrics安装初始化 指标数据存储VictoriaMetrics(推荐)

Apache HertzBeat™ 的历史数据存储依赖时序数据库,任选其一安装初始化即可,也可不安装(注意⚠️但强烈建议生产环境配置)

我们推荐使用并长期支持 VictoriaMetrics 作为存储。

VictoriaMetrics,是一个快速高效、经济并且可扩展的监控解决方案和时序数据库,兼容 Prometheus 生态。推荐版本(VictoriaMetrics:v1.95.1+, HertzBeat:v1.4.3+)

注意⚠️ 时序数据库安装配置为可选项,但强烈建议生产环境配置,以提供更完善的历史图表功能,高性能和稳定性 ⚠️ 若不配置时序数据库,则只会留最近一小时历史数据

如果您已有VictoriaMetrics环境,可直接跳到YML配置那一步。

通过Docker方式安装VictoriaMetrics

  1. 下载安装Docker环境 Docker 工具自身的下载请参考 Docker官网文档。 安装完毕后终端查看Docker版本是否正常输出。

    $ docker -v
    Docker version 20.10.12, build e91ed57
    
  2. Docker安装VictoriaMetrics

    $ docker run -d -p 8428:8428 \
        -v $(pwd)/victoria-metrics-data:/victoria-metrics-data \
        --name victoria-metrics \
        victoriametrics/victoria-metrics:v1.95.1
    

    -v $(pwd)/victoria-metrics-data:/victoria-metrics-data 为VictoriaMetrics数据目录本地持久化挂载
    使用$ docker ps查看数据库是否启动成功

  3. 在hertzbeat的application.yml配置文件配置VictoriaMetrics数据库连接

    配置HertzBeat的配置文件
    修改位于 hertzbeat/config/application.yml 的配置文件
    注意⚠️docker容器方式需要将application.yml文件挂载到主机本地,安装包方式解压修改位于 hertzbeat/config/application.yml 即可

    修改里面的warehouse.store.jpa.enabled参数为false 配置warehouse.store.victoria-metrics数据源参数,HOST账户密码等,并启用enabledtrue

    warehouse:
      store:
        # 关闭默认JPA
        jpa:
          enabled: false
        # 启用 victoria-metrics
        victoria-metrics:
           enabled: true
           url: http://localhost:8428
           username: root
           password: root
    
  4. 重启 HertzBeat

使用 VictoriaMetrics 集群模式(Cluster Mode

VictoriaMetrics 支持 集群模式,将数据写入(vminsert)、存储(vmstorage)与查询(vmselect)分别由独立组件负责。以下是如何部署 VictoriaMetrics 集群并集成至 HertzBeat 的说明。

1. 使用 Docker Compose 部署 VictoriaMetrics 集群

创建一个名为 docker-compose.yml 的文件,内容如下:

version: "3"

services:
  vmstorage1:
    image: victoriametrics/vmstorage
    command:
      - "-retentionPeriod=1"
      - "-storageDataPath=/storage"
    volumes:
      - vmstorage-data:/storage
    ports:
      - "8400:8400"  # 提供给 vminsert 写入连接
      - "8401:8401"  # 提供给 vmselect 查询连接

  vminsert:
    image: victoriametrics/vminsert
    command:
      - "-storageNode=vmstorage1:8400"
      - "-httpAuth.username=root"
      - "-httpAuth.password=root"
    ports:
      - "8480:8480"  # 数据写入端口

  vmselect:
    image: victoriametrics/vmselect
    command:
      - "-storageNode=vmstorage1:8401"
      - "-httpAuth.username=root"
      - "-httpAuth.password=root"
    ports:
      - "8481:8481"  # 查询接口端口

volumes:
  vmstorage-data:

使用以下命令启动集群:

docker-compose up -d

使用以下命令确认所有组件是否运行成功:

docker ps

2. 配置 HertzBeat 使用集群模式

修改 hertzbeat/config/application.yml 配置文件,内容如下:

warehouse:
  store:
    jpa:
      enabled: false
    victoria-metrics:
      cluster:
        enabled: true
        select:
          url: http://127.0.0.1:8481
          username: root
          password: root
        insert:
          url: http://127.0.0.1:8480
          username: root
          password: root

注意事项:

  • cluster.enabled 设置为 true 表示启用集群模式;
  • select.urlinsert.url 需与部署时的地址保持一致,确保网络互通。

3. 重启 HertzBeat

完成配置后,重启 HertzBeat 以连接至 VictoriaMetrics 集群。

常见问题

  1. 时序数据库是否都需要配置,能不能都用

    不需要都配置,任选其一即可,用enable参数控制其是否使用,也可都不安装配置,但会影响历史图表数据和存储时长等。