InfluxDB way to explore https:https://cdn.v2ex.com/navatar/9079/4e3b/936_normal.png?m=1472998904 https:https://cdn.v2ex.com/navatar/9079/4e3b/936_large.png?m=1472998904 2025-02-08T21:51:30Z Copyright © 2010-2018, V2EX InfluxDB 3 Open Source Now in Public Alpha Under MIT/Apache 2 License tag:www.v2ex.com,2025-02-08:/t/1110039 2025-02-08T20:48:53Z 2025-02-08T21:51:30Z sNullp member/sNullp
https://www.influxdata.com/products/influxdb/

]]> 使用 influxdb2.x 版本,并发插入数据数据丢失 tag:www.v2ex.com,2024-11-27:/t/1093040 2024-11-27T04:14:53Z 2024-11-27T04:12:53Z futaotao5866 member/futaotao5866 部分伪代码 @Override public void insert() { WriteApi writeApi = influxDBClient.makeWriteApi(); for (int i = 0; i < 10000; i++) { Demo demo = new Demo(); demo.setTime(Instant.now());

 writeApi.writeMeasurement("s100", "d", WritePrecision.NS, demo); } 

} 如果每插入一条休眠 1s ,那么可以全部插入数据不丢失 @Override public void insert() { WriteApi writeApi = influxDBClient.makeWriteApi(); for (int i = 0; i < 10000; i++) { Demo demo = new Demo(); demo.setTime(Instant.now());

 writeApi.writeMeasurement("s100", "d", WritePrecision.NS, demo); try { Thread.sleep(1); } catch (InterruptedException e) { throw new RuntimeException(e); } } 

} influxdb 安装在虚拟机中 4C16G ,不清楚是自己哪里出了问题

]]>
[讨论]InfluxDB 有应用到非监控领域的案例吗? tag:www.v2ex.com,2023-02-06:/t/913771 2023-02-06T15:24:08Z 2023-02-06T16:49:49Z fox0001 member/fox0001 去年刚接触 InfluxDB ,有文章把其吹成“万能”。于是就想,是否能够保存用户操作数据(比如用户点赞了一个文章),以便统计和分析?答案是不能。深入研究,发现 tags 可选数量的限制(默认 10 万),导致用户 ID 和文章 ID 的数量不能太多。

所以好奇,除了监控领域,还有没有应用 InfluxDB 的案例?

]]>
InfluxDB Cluster - InfluxDB Enterprise 集群的开源替代方案 tag:www.v2ex.com,2022-10-22:/t/888967 2022-10-22T08:56:35Z 2022-10-22T08:56:35Z chengshiwen0103 member/chengshiwen0103 InfluxDB Cluster - InfluxDB Enterprise 集群的开源替代方案

InfluxDB Cluster - 一个开源分布式时间序列数据库,InfluxDB Enterprise 集群的开源替代方案

目录

简介

InfluxDB Cluster 是一个开源的 时间序列数据库没有外部依赖。它对于记录指标、事件和执行分析很有用。

InfluxDB Cluster 启发于 InfluxDB EnterpriseInfluxDB v1.8.10InfluxDB v0.11.1,旨在替代 InfluxDB Enterprise 。

InfluxDB Cluster 易于维护,可以与上游 InfluxDB 1.x 保持实时更新。

特性

架构

InfluxDB Cluster 安装由两组独立的进程组成:Data 节点和 Meta 节点。集群内的通信如下所示:

集群架构及通信

网络架构图:

网络架构图

Meta 节点通过 TCP 协议和 Raft 共识协议相互通信,默认都使用端口 8089,此端口必须在 Meta 节点之间是可访问的。默认 Meta 节点还将公开绑定到端口 8091 的 HTTP API ,influxd-ctl 命令使用该 API 。

Data 节点通过绑定到端口 8088 的 TCP 协议相互通信。Data 节点通过绑定到 8091 的 HTTP API 与 Meta 节点通信。这些端口必须在 Meta 节点和 Data 节点之间是可访问的。

在集群内,所有 Meta 节点都必须与所有其它 Meta 节点通信。所有 Data 节点必须与所有其它 Data 节点和所有 Meta 节点通信。

概念

集群

请参考: 集群 / Clustering。特别地,注意

术语

请参考: 术语 / Glossary。特别地,注意

Docker 快速开始

使用 docker compose 启动集群

下载 docker-compose.yml,然后通过 docker-compose 启动 3 个 Meta 节点和 2 个 Data 节点:

docker-compose up -d docker exec -it influxdb-meta-01 bash influxd-ctl add-meta influxdb-meta-01:8091 influxd-ctl add-meta influxdb-meta-02:8091 influxd-ctl add-meta influxdb-meta-03:8091 influxd-ctl add-data influxdb-data-01:8088 influxd-ctl add-data influxdb-data-02:8088 influxd-ctl show 

停止并移除它们,当它们不再被使用时:

docker-compose down -v 

: 要持久化容器中的数据,请务必挂载所有 Meta 和 Data 节点的 /etc/influxdb/var/lib/influxdb 目录。

创建 database

curl -XPOST "http://influxdb-data-01:8086/query" --data-urlencode "q=CREATE DATABASE mydb WITH REPLICATION 2" 

写入一些数据

curl -XPOST "http://influxdb-data-01:8086/write?db=mydb" \ -d 'cpu,host=server01,region=uswest load=42 1434055562000000000' curl -XPOST "http://influxdb-data-02:8086/write?db=mydb&cOnsistency=all" \ -d 'cpu,host=server02,region=uswest load=78 1434055562000000000' curl -XPOST "http://influxdb-data-02:8086/write?db=mydb&cOnsistency=quorum" \ -d 'cpu,host=server03,region=useast load=15.4 1434055562000000000' 

: cOnsistency=[any,one,quorum,all] 设置点的写一致性。如果没有指定,consistency 默认为 one。有关每个一致性选项的详细说明,请参阅 写一致性 / Write consistency

any: 一旦任何节点写入成功,或者接收节点已将数据写入其 hinted handoff 队列,就立即向客户端返回成功。

one: 一旦任何节点写入成功,则立即向客户端返回成功,如果只是写入到 hinted handoff 队列中则不会返回。

quorum: 当大多数节点(大于副本因子半数)返回成功时返回成功。此选项仅在副本因子大于 2 时才有用,否则等效于 all

all: 仅当所有节点都返回成功时才返回成功。

查询数据

curl -G "http://influxdb-data-02:8086/query?pretty=true" --data-urlencode "db=mydb" \ --data-urlencode "q=SELECT * FROM cpu WHERE host='server01' AND time < now() - 1d" 

分析数据

curl -G "http://influxdb-data-02:8086/query?pretty=true" --data-urlencode "db=mydb" \ --data-urlencode "q=SELECT mean(load) FROM cpu WHERE region='uswest'" 

Kubernetes & Helm Chart

访问: https://github.com/influxtsdb/helm-charts/tree/master/charts/influxdb-cluster

下载 InfluxDB Cluster Helm chart ,执行:

helm install influxdb-cluster ./influxdb-cluster 

将会启动 1 个名为 influxdb-cluster 的 release 。

: 要持久化容器中的数据,请务必挂载所有 Meta 和 Data 节点的 /var/lib/influxdb 目录至 PVCs 。

安装

我们建议使用 预构建版本 中的一个来安装 InfluxDB Cluster 。

完成以下步骤以在您自己的环境中安装 InfluxDB 集群:

: InfluxDB Cluster 的安装与 InfluxDB Enterprise 的安装完全相同,可以参考 安装 InfluxDB Enterprise 集群 / Install an InfluxDB Enterprise cluster

Meta 节点设置

0. 要求

生产环境安装过程设置三个 Meta 节点,每个 Meta 节点在自己的服务器上运行。

InfluxDB Cluster 需要 至少三个 Meta 节点奇数个 Meta 节点 以实现高可用和冗余。

注 1:InfluxDB Cluster 不建议超过三个 Meta 节点,除非您的服务器之间的通信存在长期可靠性问题。

注 2:强烈建议不要在同一服务器上部署多个 Meta 节点,因为如果该特定服务器无响应,它会产生更大的潜在故障。InfluxDB Cluster 建议在占用空间相对较小的服务器上部署 Meta 节点。

注 3:要使用单个 Meta 节点启动集群,请在启动单个 Meta 节点时传递 -single-server 标志。

假设有三台服务器:influxdb-meta-01, influxdb-meta-02influxdb-meta-03

端口: Meta 节点通过端口 808880898091 进行通信。

1. 为每个服务器添加适当的 DNS 条目

: 如果您只想使用 IP 地址而不是主机名,请跳过当前步骤并转到步骤 2 。

确保将服务器的主机名和 IP 地址添加到网络的 DNS 环境中。

验证步骤:

在继续安装之前,请在每台服务器上验证其他服务器是否可解析。下面是一组使用 ping 的 shell 命令示例:

ping -qc 1 influxdb-meta-01 ping -qc 1 influxdb-meta-02 ping -qc 1 influxdb-meta-03 

2. 编辑配置文件

/etc/influxdb/influxdb-meta.conf:

hostname="influxdb-meta-0x" 

注意: 如果您只想使用 IP 地址而不是主机名,必须将 hostname 设置为 IP 地址。

3. 启动 Meta 服务

分别在服务器 influxdb-meta-01influxdb-meta-02influxdb-meta-03 上启动 Meta 服务

/usr/bin/influxd-meta -config /etc/influxdb/influxdb-meta.conf 

4. 将 Meta 节点加入集群

在一个且仅一个 Meta 节点上,加入所有 Meta 节点,包括它自己。在我们的示例中,从 influxdb-meta-01 运行:

influxd-ctl add-meta influxdb-meta-01:8091 influxd-ctl add-meta influxdb-meta-02:8091 influxd-ctl add-meta influxdb-meta-03:8091 

预期的输出是:

Added meta node x at influxdb-meta-0x:8091 

验证步骤:

在任何 Meta 节点上发出以下命令:

influxd-ctl show 

预期的输出是:

Data Nodes ========== ID TCP Address Version Meta Nodes ========== ID TCP Address Version 1 influxdb-meta-01:8091 1.8.10-c1.1.1 2 influxdb-meta-02:8091 1.8.10-c1.1.1 3 influxdb-meta-03:8091 1.8.10-c1.1.1 

Data 节点设置

0. 要求

生产环境安装过程设置两个 Data 节点,每个 Data 节点在自己的服务器上运行。

InfluxDB Cluster 需要 至少两个 Data 节点 才能实现高可用性和冗余。

注 1:没有要求每个 Data 节点都运行在自己的服务器上。但是,最佳实践是将每个 Data 节点部署在专用服务器上。

注 2:InfluxDB Cluster 不能用作负载均衡器。您需要配置自己的负载均衡器以将客户端流量发送到端口 8086HTTP API 的默认端口)。

假设有两台服务器:influxdb-data-01influxdb-data-02

端口: Data 节点通过端口 808880898091 进行通信。

1. 为每个服务器添加适当的 DNS 条目

: 如果您只想使用 IP 地址而不是主机名,请跳过当前步骤并转到步骤 2 。

确保将服务器的主机名和 IP 地址添加到网络的 DNS 环境中。

验证步骤:

在继续安装之前,请在每台服务器上验证其他服务器是否可解析。下面是一组使用 ping 的 shell 命令示例:

ping -qc 1 influxdb-data-01 ping -qc 1 influxdb-data-02 

2. 编辑配置文件

/etc/influxdb/influxdb.conf:

hostname="influxdb-data-0x" 

注意: 如果您只想使用 IP 地址而不是主机名,必须将 hostname 设置为 IP 地址。

3. 启动 Data 服务

分别在服务器 influxdb-data-01influxdb-data-02 上启动 Data 服务

/usr/bin/influxd -config /etc/influxdb/influxdb.conf 

: Data 节点在未被加入集群之前,出现 Failed to create storagefailed to store statisticsmeta service unavailable 日志是正常情况。

4. 将 Data 节点加入集群

只有在添加全新节点时才应将 Data 节点加入集群,无论是在集群的初始创建期间还是在增加 Data 节点数量时。 如果您要使用 influxd-ctl update-data 替换现有 Data 节点,请跳过本步骤的其余部分。

对要加入集群的每个 Data 节点运行一次且仅一次的 add-data 命令:

influxd-ctl add-data influxdb-data-01:8088 influxd-ctl add-data influxdb-data-02:8088 

预期的输出是:

Added data node y at influxdb-data-0x:8088 

验证步骤:

在任何 Meta 节点上发出以下命令:

influxd-ctl show 

预期的输出是:

Data Nodes ========== ID TCP Address Version 4 influxdb-data-01:8088 1.8.10-c1.1.1 5 influxdb-data-02:8088 1.8.10-c1.1.1 Meta Nodes ========== ID TCP Address Version 1 influxdb-meta-01:8091 1.8.10-c1.1.1 2 influxdb-meta-02:8091 1.8.10-c1.1.1 3 influxdb-meta-03:8091 1.8.10-c1.1.1 

配置

配置集群

请参考

: InfluxDB Cluster 的配置项几乎和 InfluxDB Enterprise 完全一样, 唯一的差别是,InfluxDB Cluster 使用 [coordinator] 配置项, 而 InfluxDB Enterprise 使用 [cluster]

尚未支持的配置项

相比于 InfluxDB Enterprise ,下列配置项目前尚未支持,未来将逐渐得到支持。

Data 节点:

[coordinator] shard-reader-timeout [monitor] remote-collect-interval [hinted-handoff] retry-concurrency batch-size [anti-entropy] max-fetch max-sync auto-repair-missing 

Meta 节点:

[meta] ldap-allowed consensus-timeout 

HTTP 接口

Data 节点 HTTP 接口

/query HTTP 接口

请参考: /query HTTP endpoint

/write HTTP 接口

请参考: /write HTTP endpoint

/api/v2/query HTTP 接口

请参考: /api/v2/query/ HTTP endpoint

/api/v2/write HTTP 接口

请参考: /api/v2/write/ HTTP endpoint

管理指南

迁移 InfluxDB OSS 到 InfluxDB Cluster

请参考: 迁移 InfluxDB OSS 到 InfluxDB Cluster / Migrate InfluxDB OSS instances to InfluxDB Cluster clusters

更换集群节点

请参考: 更换集群节点 / Replace InfluxDB Cluster cluster meta nodes and data nodes

重新平衡集群

请参考: 重新平衡集群 / Rebalance InfluxDB Cluster clusters

硬件数量评估指南

请参考: 硬件数量评估指南 / Hardware sizing guidelines

开启 HTTPS

请参考: 开启 HTTPS / Enable HTTPS for InfluxDB Cluster

管理安全

请参考: 管理安全 / Manage security in InfluxDB Cluster

管理集群

注意:有限支持influxd-ctl 已经支持 13 个命令,剩余 6 个命令 backup, restore, copy-shard-status, kill-copy-shard, entropy, ldap 尚不支持

请参考: 管理集群

使用反熵( Anti-entropy )服务

注意:尚不支持

请参考: 使用反熵( Anti-entropy )服务 / Use Anti-Entropy service in InfluxDB Cluster

备份和还原

注意:有限支持,备份和还原 (influxd-ctl backup, influxd-ctl restore) 尚不支持

请参考: 备份和还原 / Back up and restore InfluxDB Cluster clusters

注意:导出和导入已支持 (influx_inspect export, influx -import)

请参考: 导出和导入数据 / Exporting and importing data

日志和跟踪

请参考: 日志和跟踪 / Log and trace InfluxDB Cluster operations

重命名主机

请参考: 重命名主机 / Rename hosts in InfluxDB Cluster

]]>
Metamask 钱包有可能会被破解吗? tag:www.v2ex.com,2022-09-03:/t/877536 2022-09-03T14:41:38Z 2022-09-03T23:03:21Z lovepplforever member/lovepplforever https://twitter.com/BoxMrChen/status/1566053825315688449

今天看到一条推特,exe 程序暴力破解本地的 metamask 然后获取私钥助记词。

]]>
influxdb backup 失败怎么回事? tag:www.v2ex.com,2022-09-01:/t/877098 2022-09-01T12:16:29Z 2022-09-01T12:13:29Z lovepplforever member/lovepplforever 执行influx backup命令出现 401 错误:401 Unauthorized: read:authorizations is unauthorized,奇怪,token 是没有问题的

]]>
influxDB 用 DISTINCT 查询返回的结果中时间为空,有什么办法能在查询结果中返回正确的时间吗? tag:www.v2ex.com,2020-11-27:/t/729748 2020-11-27T02:11:23Z 2020-11-26T02:09:23Z sxhJoker member/sxhJoker 如上图。在官方文档中没找到解决办法,但找到了这句话:

说明:在 InfluxDB 中,epoch 0(1970-01-01T00:00:00Z)通常用作等效的空时间戳。如果要求查询不返回时间戳,例如无限时间范围的聚合函数,InfluxDB 将返回 epoch 0 作为时间戳。 
]]>
InfluxDB Studio tag:www.v2ex.com,2018-04-23:/t/449295 2018-04-23T22:49:19Z 2018-04-24T02:29:26Z Livid member/Livid https://github.com/CymaticLabs/InfluxDBStudio

一个 Windows 下的 InfluxDB 图形界面管理工具。 ]]>
influxdb 0.9 如何把两个 series 的数据做加减乘除? tag:www.v2ex.com,2015-12-07:/t/241759 2015-12-07T08:16:07Z 2015-12-07T10:26:13Z lambdaq member/lambdaq
比如统计了 2 个指标,分别是 disk_free 和 disk_total ,然后想在 Grafana 里画剩余空间百分比,居然没法画出来!!!!!!!!!!

@9hills 哥 你们处理过这类问题不? ]]>
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86