我正在用Grafana(2.6.0)作图,我有一个XDB(0.10.2)数据库,其中包含以下数据:
> select * from "WattmeterMainskwh" where time > now() - 5m
name: WattmeterMainskwh
-----------------------
time value
1457579891000000000 15529.322
1457579956000000000 15
我的XDB用例用于存储和分析来自不同PLC的过程数据。我使用grafana将这些数据可视化。在第一个试验中,我使用了XDB的模式设计指南,使用了一个通用的度量名称,并通过标记分隔了不同的值源
例如,当我在“酸”泵组中有2台泵,在“碱”泵组中有2台泵时,我重新确认了其中的压力:
- pump_pressure {pump: pump_1, group: acid}
- pump_pressure {pump: pump_2, group: acid}
- pump_pressure {pump
我对Grafana非常陌生,我正在使用Grafana v4.1.1和XDB 1.2,并且有一系列图表显示我的数据:)
如果我将我的_________________________________。我可以悬停在上面,但它在任何时候都有值
我还添加了表视图,无法显示毫秒(尝试了ss.sss、ms等)。我知道数据中有它们,因为以字符串形式查看日期显示如下
这是因为序列中有很多空值
将fill(null)更改为fill(none)或将Display->Stacking&null value->nu
我有以下telegraf配置
[agent]
interval = "5s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "5s"
flush_jitter = "0s"
precision = ""
debug = false
quiet = false
logf
我在CentOS 8.2服务器中安装了influx
[root@dele opt]# influxd version
InfluxDB 2.0.2 (git: 84496e507a) build_date: 2020-11-19T03:59:35Z
[root@dele opt]# influx version
Influx CLI 2.0.2 (git: 84496e507a) build_date: 2020-11-19T03:59:35Z
我开始使用XD:
influxd &
我在所有服务器上都安装了netdata monitoring。我使用XDB作为后端,我还有Icinga2。是否可以将某些指标推送到IcingaWeb2以获取警报,并为InfluxDB中的阈值配置警报?您可以将InfluxDB和Icinga2中的数据推送到IcingaWeb2,然后从中进行配置
我的XDB中有大约2年的时间序列数据。我想把它导入我的普罗米修斯实例。普罗米修斯似乎没有什么重要的功能
我知道我可以使用XDB作为普罗米修斯的存储器,但我想避免维护两个系统。有什么办法吗?只是出于好奇-你为什么需要这个?涌入似乎更高级。我开始在Kubernetes集群上运行我的服务,大多数k8s组件已经以Prometheus格式在本地公开了度量,所以我想坚持下去。我将自己的服务转换为以Prometheus格式导出它们的工具,但历史数据仍在我的XDB中。我想把它留着做趋势分析,所以如果我能把它导入
伙计们
我是XDB的新手,我希望在这一点上得到一个最大值。
我认为它一定很简单,但是,因为XDB的MAX()函数不接受多个字段,所以我不知道如何得到我想要的结果
我的测量结果如下:
{
time: <timestamp>,
tags: {
station: <station-code>,
},
fields: {
e-componet: <value>,
n-componet: &
目标是创建基于时间帧的第一个值标准化的时间序列。例如,我们有一个系列
time | value
------------------------------
2020-07-13T00:00:00Z | 2
2020-07-14T00:00:00Z | 4
2020-07-15T00:00:00Z | 3
并且想要得到结果
time | value
------------------------------
2020-07-13
如果我单独运行这两个查询,我将得到结果
SHOW TAG VALUES from Test with key="Key1"
SHOW TAG VALUES from Test with key="Key2"
我想结合使用键,并想运行一个查询。可能吗?您可以为此使用或条件,它将给出数据
SHOW TAG VALUES from Test with key=~/key1|key2/
度量查询
select * from yourMeasurement wh
使用InfluxDB(v1.1),我需要获取特定密钥的最后一个条目时间戳。无论存储了哪个测量值,也不管存储了哪个值
设置很简单,我有三个测量:位置,网络和使用
只有一个键:设备id
在伪代码中,这类似于:
# notice the lack of a FROM clause on measurement here...
SELECT MAX(time) WHERE 'device_id' = 'x';
问题:查询此信息的最有效方式是什么
我希望这样做的原因是,将有一个分散的同步过程。一些设备可
各位,
我将通过MQTT通过Telegraf获得的温度测量数据存储在我的RapsberyyPI XDB上7天。当我想象我的温度时,我确实看到温度值在-200和+200之间,这似乎是随机的。所以大多数时候我都得到了正确的值。只是想知道是否有一种方法可以告诉telegraf只接受-30和+40之间的值,这样我就可以在将这些值插入Inflow DB之前过滤这些值。有什么想法吗?
数据的来源是c
从aRTL_433嗅探器发出OMM,在我的Rapsi上运行,并以JSON的形式发送任何信息。看起来数据并不总
标签: Influxdb
telegraftelegraf-inputs-plugintelegraf-plugins
我使用的是Telegraf,我有多个input.http插件返回相同的字段名,并希望区分它们
我为不同的搜索条件调用ElasticSearch,返回的JSON结构总是相同的,因此虽然我可以在input.http级别(name_override或name_后缀)定义度量,但我想更改字段值,该字段值始终为“doc_count”
示例输出(无论查询参数如何,结构都相同):
我已经尝试过processs.rename,我可以使用它(包括基于度量名称的过滤),但这只适用于一个度量。它将忽略多个过程。重命名
我有一个XDB/Grafana设置,我通常存储和显示一些等距采样的数据
现在,我想在违反典型采样时间的情况下禁止图形的插值
比如说,我每10秒会得到一次新的数据,但当一些传感器失去连接,一分钟后重新连接时,数据中会出现一个间隙。
我想知道这个差距,最好的办法就是不要在这些违反时间框架的时间点之间显示一些东西
这有可能吗?在“图形”面板的“显示”选项卡下,您可以将空值更改为零
您还必须将度量查询的group by中的fill参数更改为null确定,立即工作
我不知道这些问题基本上是由XDB及其查询
一些基本内容:我试图创建一个“正在运行”的查询,其中对于每个数据点,我都会得到该点的平均值和计数,以及值。例如,对于这些测量:
hunger=1 1001
hunger=3 1002
hunger=5 1003
hunger=20 1004
我想生成一个csv,看起来像:
timestamp, hunger, mean, count,
1001, 1, 1, 1
1002, 3, 2, 2,
1003, 5, 3, 3
1004, 20, 7.25, 4
因为这是聚合和选择器查询的混合,所以
我的新指标登录到“主机1”时出现问题,主机标记为空:
select * from telegraf.live.swap where time < '2020-01-25T21:44:00Z' order by time desc limit 10
我已尝试备份到swap2,并删除度量值,然后使用标记host='web3'正确记录度量值。但是,在这样做之后:
select * into telegraf.live.swap from telegraf.live.swap2 where ho
我已成功安装并运行服务器和中继。我正在通过客户端使用的中继对服务器施加压力,这种压力也可以正常工作
但我不明白日志中的每一行是什么意思。如果有人能为我翻译一下,我将不胜感激:
T=00001860 622140000 points written (62%). Total throughput: 334483.7 pt/sec | 334483.7 val/sec. Current throughput: 820000 val/sec. Errors: 0 | μ: 108.369368ms,
与InfluxQL相比,尝试在Flux中重新创建一些基础知识目前是相当困难的
我不知道如何要求多个投影
select max(temp) - min(temp) from my_measurement
我不知道如何在不断变化的情况下处理这件事
谢谢选项1-内置功能
最简单的方法可能是使用内置函数:
函数的作用是:输出指定列中最小值和最大值之间的差值
from(bucket:“示例bucket”)
|>范围(起点:-5m)
|>过滤器(fn:(r)=>
r、 _测量==“cpu”和
r、 _字段
引用文件:
XDB 1.2中不推荐使用内置web管理GUI,默认情况下禁用该GUI。我们建议使用HTTP API或命令行界面与XDB交互
为什么它鼓励使用HTTP API(HTTP方法)和CLI,而不是直观的Web GUI?应用此功能的好处是什么?旧的管理界面在1.3中被删除,因为它在内部基本上没有开发。相反,我们将所有这些功能以及更多功能转移到了。向前看,这就是堆栈各个部分的所有UI所在。它也是开源的。他们有gui管理功能。事实上,并不是所有的东西!在旧的用户界面中,我可以在UTC时间查看数据
我有一些grafana仪表盘,其中的图形有时会显示“无数据点”。我知道有数据,因为其他时候我在同一页上看到的图表和其他图表显示了来自相同测量的其他结果。此外,我还可以直接在XDB中查询数据
有趣的是,较长的时间段比较短的时间段更有可能导致该故障(即,30天有时故障,1天很少故障)。这是每隔几秒钟的数据,如系统统计数据
我怀疑(在数据不足的情况下)influxdb有时响应时间太长,grafana超时,或者influxdb由于相对于可用资源的数据太多而彻底失败了查询。OTOH,直接查询XDB很好(见
我有一个.log文件中包含数据的文件。我怎样才能像他们在文档中建议的NOAA_water_数据库一样被插入到数据库中。
下面是指向该文档的链接
如果日志文件的行与协议一致,则可以将日志文件中的数据插入Inflow DB。
请参阅以下网址:
CLI命令influx有一个名为-import的选项将数据导入influx。请参阅更多详细信息。
在您提到的同一个文档中,有一个将数据导入inflow的命令
influx -import -path=NOAA_data.txt -precision=s -da
您好,我目前正在R中执行此操作,但想知道是否有一种方法可以让我在通量中执行此操作:
我有一个时间序列,它跟踪一个值,只在信号打开和关闭时存储。问题是我跟踪的机器的性质只允许这样做。这会产生一个数据表/测量,其中两行显示一个值(例如,故障的开始和结束)如何使用flux查询数据以合并这两行?(将“开始”和“停止”作为标记/字段)
我目前使用appeased()-函数来计算我的值的时差/持续时间
time value field me
我遇到了XDB的一个问题。
我想用它的导数来表示一个值。
如果我尝试以下方法:
SELECT DERIVATIVE(value) FROM (SELECT value FROM MyValues WHERE "f"='myfield')
SELECT value, DERIVATIVE(value) FROM (SELECT value FROM MyValues WHERE "f"='myfield')
…我得到导数值。如果我尝试以下方法:
SELE
我有一个名为“test0”的XDB数据库,其中有几个变量,每30秒存储在本地服务器上的raspberry pi和raspbian上。我使用这个系统记录了几个月以来的数据,没有任何问题。但由于有些日子,Grafana没有绘制新写入数据库的数据
下面是问题的放大图:在XDB的CLI中,当我键入以下查询以获取时间范围内的温度时:
> SELECT Temp_cuve FROM test0 WHERE time > now() - 19h53m AND time < now() - 1
我很难理解和使用插件
我想为/var/lib/influxdb/hh/发出文件夹大小,我正试图找出如何使用磁盘插件来连接它
我尝试了以下方法:
在此处设置telegraf的新配置文件vi/etc/telegraf/telegraf.d/influxdbdata\u telegraf.conf
添加了此配置
[[inputs.disk]]
mount_points=[“/var/lib/influxdb/hh/”]
现在我尝试从XDB查询数据,但我看不到这一点。但我看到了其他的测量结果
我
关于InfluxDb()使用的文档grafana提到了使用别名模式的可能性:
您还可以使用[[tag_hostname]]模式替换语法
它是如何工作的?您应该将$tag后面的部分替换为组名by tag
以下是来自以下方面的示例:
另一种语法是在Alias By字段中使用替换语法和[[tag_tagname]]]。例如,分组依据:[[tag\u hostname]]
您的答案描述了功能:$tag\u hostname=替换为主机名标记的值而不是问题中要求的值。更新了我的答案。这只是另一种语法。
这就是我想从XDB备份一些数据时发生的情况:
[root@bj-collection-01 opt]#influxd备份-数据库cliReport-主机localhost:8086/opt/clireportbak/
2018/04/16 10:17:12将metastore备份到/opt/clireportbak/meta.00
2018/04/16 10:17:12无效元数据blob,请确保元数据服务正在运行>(默认端口8088)
备份:接收到无效的元数据
但是,当我键入netstat-nt
我编写了一个脚本来从XDB获取一些数据。它运行良好,但有一天该脚本报告了一个错误:
requests.exceptions.ChunkedEncodingError:(“连接中断:未完成读取(读取0字节)”),未完成读取(读取0字节)
然后,我通过服务influxdb restart重新启动influxdb
但重启后,我无法查询所有数据库过去4周的数据。
那么我应该如何恢复这些数据呢?是否通过Docker容器运行inflow服务,而不装载数据卷?这是我能想到的唯一一件不会持续的事情data@
是否有任何方法可以检索具有时间范围的标记值
使用KEY=“name”WHERE time>NOW()显示测试中的标记值-12h
上述查询甚至返回过去12小时内没有插入记录的3天前的标记值。您不能使用where查询标记。我认为为show标记接受where是InfluxQL解析器的一个小错误。原因是标记被存储为索引值,没有快速的方法来回答您的请求(并且显示标记值假定是快速的)
如果您真的愿意,您可以尝试这种黑客(它需要对数据库进行仔细检查,所以速度很慢):
要使其正常工作,您需要至少提供一个字段名(
XDB存储数据的理想方式如下所示:
* temperature
timestamp,iotid,value
----------------------------
1501230195,iot1,70
* humidity
timestamp,iotid,value
-------------------------
1501230195,iot1,45
* pressure
timestamp,iotid,value
-------------------------
150123019
找不到每个文档,并且存在与此相关的旧问题
可以减去2个查询的结果吗
SQL中的类似内容:
(SELECT COUNT(*) FROM test - (SELECT COUNT(*) FROM test WHERE …)
据我所知,目前这是不可能的(至少对于InfluxQL是不可能的)
然而,他们的新查询语言Flux(从XDB1.7开始)应该可以做到这一点
我可以使用elasticsearch作为Grafana的输入数据源吗。之后,我想将数据存储在XDB中。
grafana配置文件是什么样子的?
谢谢。Grafana 1.9不支持elasticsearch作为数据源。
您可以尝试使用v2.0版。此版本允许像数据源一样设置elasticsearch
我在这里为一些关于influxdb的简单查询而苦苦挣扎。
每分钟,传感器的测量值都会写入数据库
我尝试查询某一天,例如从00:00:00到23:59:59查询结果的开始时间不是我预期的00:01:00,不幸的是它是01:01:00
历元时间值为。
1578182460000000000
如果我将该值转换为人类可读的格式,我会得到epochconverter.com:
1578182460000000000
支持以秒、毫秒、微秒和纳秒为单位的Unix时间戳。
假设此时间戳的单位为纳秒十亿分之一秒:
大家好
有没有一种方法可以像在MySQL中那样向XDB查询添加天数
大概是这样的:
选择时间+1d,最后一个(字段)作为测量点
我们可以在WHERE子句中使用时间文本,但是我们可以在SELECT子句中使用它们吗
谢谢。我解决这个问题的方法是在我的测量值中插入一个单独的(冗余的)历元秒整数字段。据我所知,这是不可能的。时间上也不支持数学运算。如果你正在做一些关于时区的事情,也许这会有帮助不,不完全是,但是谢谢你的提示!是的,这可能是目前唯一的临时解决方案。。。谢谢
我正在尝试使用collectdpython插件,使用collectd我能够在xdb中的type、host、type_实例、plugin_实例已经定义的标记中存储值。但我需要将数据存储在更多自定义标记中。请在这方面帮助我。您能显示此插件的相关配置吗?
流入分贝1.8.4
使用CLI:
use mydb
show tag values from "mymeas" with key = "description"
146项结果
使用web API:
curl -G 'http://localhost:8086/query?db=mydb' --data-urlencode 'q=show tag values from "mymeas" with key = "descrip
我试图从XDB datbase中选择一些值。对于下面的查询,输出为null,但值在那里
SELECT mean(load1), max(load1) FROM system WHERE time >= '2016-02-22T09:47:00Z' and time <= '2016-02-22T09:47:00Z' AND ( host ='daniel-Vostro-2520' ) GROUP BY time(1m);
从系统中选择平均值(load1)、最大值(load1),
我有一个简单的CI监控——从竹中获取数据到XDB,并在Grafana中显示各种内容
我在inflox中的记录如下所示:
time Key result
---------------------------------------------------
xxxx1 plan-1 "Success"
xxxx2 plan-1 "Failure"
xxxx3 pl
我在一个XDB数据库上有一个数据库,数据在7天后过期。我尝试删除策略,发现数据(过去7天)也被删除了。我想删除保留策略,同时保留现有数据。如何做到这一点?只需将您的数据复制到另一个RP,比如说autogen(默认情况下生成,保留期无限):
然后,您只需删除7天RP:
USE "database"."7_days"
DELETE
FROM "measurement"
尝试以下操作:使用“数据库”、“自动生成”,然后从“测量”中选择*。
USE "database"."7_days"
DEL
有人知道如何集成Pagekite以便它可以监听端口8088上的XDB RPC吗
我正在尝试使用原始协议:
前端似乎开始监听8088上的请求
后端似乎没有接听电话
InfluxDB通量当前值减去90天前的值
日期
价值
2020-04-06
100
2020-04-05
90
------
-----
2019-09-06
60
2019-09-05
50
下面是生成流产率的查询
filter_metric = (metric_name) => {
count = from(bucket: "application")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == metric_name an
我在XDB中有一些数据连接到特定TCP连接的事件。因此,测量是连接事件,标记为:连接系统的mac地址和一些其他元数据。值刚连接=真|假
我想做的是这样的:
select count(mac_address), mac_address
from connection_events
where count(mac_address) > X
group by mac_address
换句话说,我希望看到如下结果:
28,ABCD
14,EFGH
3,XYZQ
但是,XDB不喜欢这种查询。
假设我在流入数据库中有一个称为“cpu”的测量值:
name: cpu
time host app org usage_idle ---- ----- ------------ ------------ ----------
1505758901462105
我有一个物联网应用程序,其中所有数据来自不同的传感器,具有标准有效负载,其中所有变化是变量ID,即四位十六进制字符串
我目前使用类似data.varID的名称作为度量名称。varID也是一个标记,即使是冗余的。但这有点不方便,因为有时我希望能够轻松地跨多个变量查询数据
我试图找到这个问题的答案,但找不到:两者的区别是什么
有大量的数据。各种测量
或
使用varID作为标记进行单个数据测量
据我所知,就数据库中的时间序列数量而言,这两种方法都是等效的,那么还有其他考虑吗
我通常需要的查询类
我试图将这个非常简单的JSON字符串发送到Telegraf,以保存到XDB中:
{ "id": "id_123", "value": 10 }
所以请求是:curl-i-XPOST'http://localhost:8080/telegraf'--数据二进制文件'{“id”:“id_123”,“value”:10}'
当我提出该请求时,我得到了以下答案:HTTP/1.1 204无内容日期:2021年4月20日星期二13:02:49 G
我不知道sum和count是如何工作的。我正在使用版本为0.13的XDB
假设我有一个包含大量数据的时间度量,首先让我查询它以获得10行:
>选择从X开始计数,其中时间>1472807400000000000限制10
name: X
-------------------------
time sum
1472807400000000001 102
name: X
-------------------------
time
我有一个XDB测量值,其中包括一个包含0或1的字段
如何找到给定值的最长连续运行
假设这个区域代表太阳是否升起,我有一年的数据。我想查询,找到最长的连续运行1的,这将代表一年中最长的一天,并返回我像“6月23日上午5点到6月23日晚上9点”。(我在北半球,完全是虚构的,但希望你能理解。)我认为这不能用InfluxQL来完成。在许多RDBMS中,可以在单个SQL查询中执行类似的操作
我已经尝试了几种方法,但从v1.3开始,我相信InfluxQL对于这项任务的表现力还不够。限制包括:
没有窗口函数(
TL;DR
如果要同时执行group by和count(distinct()),如何将数据建模到字段和标记中
现在这是我的XDB数据模型:
api_requests (database)
- requests_stats (measurement)
- api_path (tag)
- app_version (tag)
- host (tag)
- platform (tag)
- account_id
我有以下疑问:
SELECT mean("voltage") FROM "cells" WHERE
("cell" = 'Cell 1' or "cell" = 'Cell 2' OR "cell" = 'Cell 3' OR "cell" = 'Cell 4' OR
"cell" = 'Cell 5' OR "cell" = 'C
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 16 页