docker 安装 Influxdb-relay 使用
转载请注明出处:
1.influxdb relay的作用和特性
- 数据转发:InfluxDB Relay 可以从一个或多个源(input)接收数据,并将其转发到一个或多个目标(output)的 InfluxDB 实例中。
- 负载均衡:Relay 可以通过在多个目标实例之间分配请求来提供负载均衡,确保可伸缩性和高可用性。
- 故障恢复:当某个目标实例发生故障时,Relay 可以自动切换到其他可用的目标实例,避免数据丢失。
- 自定义路由规则:您可以根据需要配置 Relay 的路由规则,以便根据数据的标签等信息对数据进行过滤和路由。
- 安全性:Relay 支持使用 HTTPS 和身份验证等方法来保护数据传输和访问。
- 高性能:Relay 使用了并发处理和批量写入等技术,以提供高性能的数据传输。
使用 InfluxDB Relay 可以帮助简化复杂的数据流处理和数据集成场景,提高数据传输的可靠性和效率。
2.使用方式:
- 配置文件:使用 InfluxDB Relay 需要创建一个配置文件,其中包含输入源和输出目标的配置信息。
- 路由配置:您可以根据数据的标签、测量名称或其他属性来配置路由规则,以确定数据应该转发到哪个输出目标。
- 数据转发:Relay 会根据配置的路由规则接收来自输入源的数据,并将其转发到匹配的输出目标中。
- 监控和管理:Relay 提供了监控指标和管理接口,可以用于监视和管理 Relay 实例的运行状态和性能。
3.通过docker 安装influxdb relay
3.1 第一种安装方式
通过docker hub镜像安装
docker pull influxdb/influxdb-relay:v1.8.0
3.2 第二种安装方式
通过源码构建influxdb relay镜像;通过克隆 InfluxDB Relay 的源代码,并使用 Dockerfile 构建自定义镜像。
在您的主机上执行以下步骤:
- 克隆 InfluxDB Relay 源代码存储库:
git clone https://github.com/influxdata/influxdb-relay.git
- 进入源代码目录:
cd influxdb-relay
- 切换到所需的版本标签(例如 v1.8.0):
git checkout tags/v1.8.0
- 构建自定义镜像:
docker build -t my-influxdb-relay:v1.8.0 .
这将使用 Dockerfile 构建自定义镜像,并将其命名为 my-influxdb-relay。
4.配置influxdb relay配置文件
创建 influxdb relay 的配置文件:influxdb-relay.toml
[[http]]
name = "influxdb_relay"
bind-addr = "0.0.0.0:8097" output = [
{
name="192.168.0.1",
location = "http://192.168.0.1:8086/write",
buffer-size-mb = 500,
max-batch-kb = 50,
max-delay-interval = "5s"
},
{
name="192.168.0.2",
location = "http://192.168.0.2:8086/write",
buffer-size-mb = 500,
max-batch-kb = 50,
max-delay-interval = "5s"
},
{
name="192.168.0.3",
location = "http://192.168.0.3:8086/write",
buffer-size-mb = 500,
max-batch-kb = 50,
max-delay-interval = "5s"
}
]
根据上面提供的InfluxDB Relay配置示例,在收到一个请求时,数据将同时发送到配置的3个InfluxDB实例。这是因为在output部分列出了所有要发送数据的目标InfluxDB实例。每当InfluxDB Relay接收到一个写入请求时,它会将该请求复制到所有配置的InfluxDB实例中。这样可以实现数据的冗余存储和高可用性。
在这个配置示例中,[[http]] 部分指定了InfluxDB Relay的HTTP监听配置:
name:设置InfluxDB Relay的名称为 "influxdb_relay"。bind-addr:设置InfluxDB Relay监听的地址和端口为 "0.0.0.0:8097",这将允许来自任何IP地址的请求。
output 部分列出了所有要发送数据到的InfluxDB实例:
- 每个输出被大括号
{}包围。 name:指定InfluxDB实例的名称。location:指定InfluxDB实例的写入地址。buffer-size-mb:设置输出缓冲区的大小为 500MB。当缓冲区满时,InfluxDB Relay将阻塞写入直到缓冲区有足够的空间。max-batch-kb:设置每个批次的最大大小为 50KB。当达到该大小或超过该大小时,InfluxDB Relay将触发写入操作。max-delay-interval:设置最大延迟间隔为 5秒。即使未达到最大批次大小,如果等待时间超过此间隔,Relay也会立即将数据发送到InfluxDB。
根据您的示例配置,InfluxDB Relay将数据发送到以下目标:
- InfluxDB实例1:http://192.168.0.1:8086/write
- InfluxDB实例2:http://192.168.0.2:8086/write
- InfluxDB实例3:http://192.168.0.3:8086/write
5.启动influxdb relay的容器
运行以下命令以启动 InfluxDB Relay 容器:
docker run -d \
--name=influxdb-relay \
-p 8097:8097 \
-v /path/to/influxdb-relay.toml:/etc/influxdb-relay.toml \
--network=influxdb_network \
influxdb-relay -config /etc/influxdb-relay.toml
-d:以后台模式运行容器。--name=influxdb-relay:指定容器的名称。-p 8097:8097:将主机的8097端口映射到容器的8097端口,这样可以通过主机的8097端口访问 InfluxDB Relay。-v /path/to/influxdb-relay.toml:/etc/influxdb-relay.toml:将主机上的influxdb-relay.toml配置文件挂载到容器内的/etc/influxdb-relay.toml路径,确保配置文件可用于容器中的 InfluxDB Relay。--network=influxdb_network:将容器连接到之前创建的influxdb_network网络。
验证数据复制:确保 InfluxDB Relay 成功连接到源和目标 InfluxDB 实例,并且复制规则配置正确。可以通过监视日志文件或使用 InfluxDB Relay 提供的管理 API 来验证数据是否成功复制。
docker 安装 Influxdb-relay 使用的更多相关文章
- 性能测试 -- docker安装influxdb
一.前提 1.项目已经部署好 2.docker已经安装好 二.docker安装influxdb 1.下载influxdb镜像:docker pull tutum/influxdb 1)超时报错: ...
- 利用Docker安装Web前端性能测试工具Sitespeed.io
目录结构 一.Sitespeed.io概述 1.Sitespeed.io简介 2.Sitespeed.io使用场景 二.Sitespeed.io的安装和使用 1.安装Sitespeed.io 2.连接 ...
- Docker+Jmeter+InfluxDB+Grafana搭建性能测试监控平台
搭建需求? jmeter自身的聚合测试报告可视化效果极差,为更加形象的.动态的展示测试过程,需要一个具有时序性的可视区来展示给我们的测试者, 这时候就需要用到后端监控,下面我们来开始搭建符合这种测试需 ...
- docker安装myInfluxDB映射本地目录+开机后台自启动
CentOS7环境 1.docker hup库搜索influxdb docker search influxdb 2.拉取influxdb镜像 docker pull influxdb 3.查看已下载 ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)
在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便.那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jme ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)
在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...
- docker安装、基本使用、实战(测试必备)
Docker概念.作用.术语 一张超级形象的图 看到这张图,大家会想到什么? 可以这么理解:大海是操作系统,鲸鱼是Docker,集装箱是在Docker 运行的容器! 概念 百度百科:Docker 是一 ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- docker安装
系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r //查看内核版本yum -y update //更新系统更新到最新 #安装d ...
- 2. Docker - 安装
一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...
随机推荐
- burpsuite_pro_v2022安装以及环境配置,和使用方法
burpsuite是一个拦截工具,用来网络抓包和解析渗透的一个工具 如何安装burpsuite 首先把需要使用的软件下载下来并且解压到同一个文件夹里面, 打开ddosi.org然后点击 需要是用Jav ...
- OFFICE-Excel_在只有清单没有定额人材机的情况下筛选工程量的操作
目的 一个来自东莞的项目需要清单里面所有的电线电缆的量和价,但是由于东莞市的投标清单只需要清单报价即可,没有定额,也就没有人材机,所以就只能依靠清单来剔除量,但是有几个问题,众所周知电线电缆这种材料一 ...
- js数组和字符串方法
一.数组方法 1.1.可以改变原数组 var arr = [10, 20, 30, 40, 50, 55]; // 1. **** push() --- 在数组的最后添加一项内容 // var ret ...
- 2022-08-22:给定一个数组arr,长度为n,最多可以删除一个连续子数组, 求剩下的数组,严格连续递增的子数组最大长度。 n <= 10^6。 来自字节。5.6笔试。
2022-08-22:给定一个数组arr,长度为n,最多可以删除一个连续子数组, 求剩下的数组,严格连续递增的子数组最大长度. n <= 10^6. 来自字节.5.6笔试. 答案2022-08- ...
- 2021-04-03:给定两个字符串str1和str2,想把str2整体插入到str1中的某个位置,形成最大的字典序,返回字典序最大的结果。
2021-04-03:给定两个字符串str1和str2,想把str2整体插入到str1中的某个位置,形成最大的字典序,返回字典序最大的结果. 福大大 答案2021-04-03: 1.暴力法. 2.DC ...
- 2022-01-02:给定两个数组A和B,长度都是N, A[i]不可以在A中和其他数交换,只可以选择和B[i]交换(0<=i<n), 你的目的是让A有序,返回你能不能做到。
2022-01-02:给定两个数组A和B,长度都是N, A[i]不可以在A中和其他数交换,只可以选择和B[i]交换(0<=i<n), 你的目的是让A有序,返回你能不能做到. 答案2022- ...
- Django-账户用户忘记密码
方法1:Terminal命令 python manage.py changepassword admin Password: PY666666 Password (again): PY666666 方 ...
- 「高频面试题」Redis的持久化方式有哪些?
RDB RDB(Redis DataBase)持久化是把当前Redis中全部数据生成快照保存在硬盘上.RDB持久化可以手动触发,也可以自动触发.save和bgsave命令都可以手动触发RDB持久化.除 ...
- Go 开源库运行时依赖注入框架 Dependency injection
Dependency injection 一个Go编程语言的运行依赖注入库.依赖注入是更广泛的控制反转技术的一种形式.它用于增加程序的模块化并使其具有可扩展性. 实例展示(High API): typ ...
- nodejs使用eggjs创建项目,接入influxdb完成单表增删改查
转载请注明出处: 1.Eggjs 特性: Eggjs 是 Node.js 服务端应用开发框架,它提供了一套约定,使开发者能够快速搭建.开发和部署应用.以下是 Egg.js 的一些特性和作用: 框架内置 ...