(4)EII时序栈InfluxDB和Grafana模块数据持久化

本文介绍了如何解决EII重启后InfluxDB和Grafana数据丢失的问题,通过修改模块配置实现数据持久化。具体包括注释InfluxDB的tmpfs配置,创建并挂载Grafana数据目录,以及更新相关环境变量和docker-compose配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在先前的一篇文章(EII消息总线(EII Message Bus)发布和订阅数据实操)的末尾,笔者留了问题:“当EII软件栈重启时,InfluxDB中的数据,以及Grafana模块中保存的图表数据都不见了,包括Grafana设置的用户密码也重置了。”

这个问题显然带来了不好的体验,这文章,笔者尝试提供一种解决办法。

解决方案

解决思路:我们可以将InfluxDB和Grafana模块产生的数据,挂载到容器外进行保存,这样我们就实现了InfluxDB和Grafana模块数据的持久化。

1. 修改InfluxDB模块

首先,我们来修改InfluxDB模块。

  • 打开"InfluxDBConnector/docker-compose.yml"文件,我们可以发现EII已经将"/influxdata"目录(该目录即是用来保存InfluxDB数据的目录)挂载到容器外,但是它却将挂载volume设置成了"临时保存"(tmpfs)的类型。这里我们只需要将"临时保存"(tmpfs)的配置注释掉即可。修改方法参考如下:
volumes:
  vol_influxdb_data:
    driver: local
    # driver_opts:
    #   type: tmpfs
    #   device: tmpfs
  • 此处修改了volume的配置,需要将原先已生成的volume删除。
$ docker volume rm edgeinsightssoftware_vol_influxdb_data

2. 修改Grafana模块

接着,我们来修改Grafana模块。

通过查看Grafana模块的docker-compose.yml文件,我们可以发现,Grafana模块默认并没有将保存数据的目录挂载到容器外。所以我们要多做一些修改。

  • 在"Grafana/Dockerfile"文件中,我们创建一个用来保存数据的目录,并修改该目录的用户属性,以及赋予它相应的权限。参考如下内容,修改"Grafana/Dockerfi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值