问题标签 [victoriametrics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prometheus - scrape_interval 的 Prometheus 设置
我正在尝试使用 Prometheus 和 VictoriaMetrics 来收集数据,并且在配置我的服务器 prometheus.yml 时有一行:
这是否意味着我的搜索结果可能会延迟 15 秒?
curl - 如何在 victoriametrics 中传递“--web.enable-admin-api”标志
要启用删除操作,我们可能需要启用该--web.enable-admin-api'
标志,以便我们如何启用它。我目前正在使用非 docker 单节点集群版本并尝试在 curl 命令下运行
label - 在普罗米修斯中找到标签最多的时间序列
Prometheus 建议不要为时间序列使用太多标签,如果您有超过 30 个标签,VictoriaMetrics 甚至会丢弃标签。
但是我怎样才能找到标签太多/超过一定数量的时间序列?PromQL 甚至可以做到这一点吗?
promql - PromQL 或 MetricsQL 中的线性插值
我正在评估 VictoriaMetrics 的 IoT 应用程序,由于硬件或通信问题,我们有时会在系列中出现差距。在某些时间序列报告情况下,为缺失的时间间隔插入值对我们很有帮助。我看到MetricsQL(它扩展了 PromQL)有一个keep_last_value()
函数可以通过保持最后一个观察到的值直到出现新的值来填补空白(这对我们有帮助),但在某些情况下,间隙之前和之后的值之间存在线性插值是对缺失部分的更现实的估计。PromQL 或 MetricsQL 中是否有一个函数可以对系列中的缺失数据进行线性插值,或者是否可以构建一个更复杂的查询来实现这一点?
阐明所需的插值
我想要的是在间隙前后的点之间进行简单的插值;我相信这就是 TimescaleDB 的interpolate()函数所做的。换句话说,如果我的时间序列是:
我希望插值 3:00 为4.5,即前后点之间的一半。我不希望它是 6(这是我通过从缺失点之前的点推断得到的,忽略之后的点)并且我不想要如果我对整体进行线性回归会得到任何值系列并在 3:00 进行插值(大概是 3,或接近它)。
当然,这只是一个简单的说明,间隔也有可能持续超过一个时间步长。但在那种情况下,我仍然希望插值仅基于间隙之前和之后的点,忽略系列的其余部分。
prometheus - Grafana/Prometheus/VictoriaMetrics 中的集成和时间段
我正在尝试使用 Prometheus 中的集成功能,使用功能 victoria_metrics 通过功能 Grafana (在页面的右上角)来控制时间段。但是这种控制不起作用。要计算总流量(总字节),我必须使用变量“间隔”:5m、15m、30m、1h、3h、6h ... 1 天、2 天、一周等来显示信息关于所需时间段的流量的仪表板。
因此,我必须使用 Grafana 中的时间段选择来设置所需的时间段,例如:07/20/2020 - 07/26/2020(7 天),另外我正在使用我的变量:7天。
好尴尬。。如何只使用Grafana界面?对于带宽图,这是可行的。
我的查询:
原始数据以 gbit/sec 为单位。网络接口的带宽度量与查询一起使用
prometheus - Prometheus 中的远程读取是什么意思?
我们想使用 VictoriaMetric 作为从 Prometheus 收集的时间序列数据的存储数据库。但是文档中说这种集成仅在写入模式下支持,而不是在读取模式下支持。
- 这是否意味着 prometheus 将仅用作时间序列数据的收集器,而读取该数据的 PromQL 将不可用?
- 如果我们指定远程写入配置,Prometheus 是否会停止将收集的数据存储在文件系统中并且仅使用远程存储?或者收集的数据仍然可以从文件系统中获得,我们可以从 Prometheus 收集实时数据,如果我们需要历史长期数据,我们必须查询数据库本身?
prometheus - 在 PromQL/MetricsQL 中按时间分组和聚合
我有一个度量标准,例如 x,类型规,并且每 5m 报告一次值。
现在我想做一个查询,这样我得到一天中每个小时的值总和。
示例:从下午 3 点到下午 5 点,仪表值是 1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2 ,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1 ,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2 每 5 分钟报告一次 - 总共 60 个值
我的查询结果应该是 3PM-4PM -> 45 和 4PM-5PM -> 45(一小时内所有值的总和)
TIA
prometheus - 使用 PromQL 计算事件发生或指标报告的次数
我使用 Victoria Metrics 来跟踪 IOT 设备。每当设备连接/断开连接时,我都会在 Victoria Metrics 中插入一个指标。我的指标名称是 devcon_s。我可以使用这个查询数据 - devcon_s{device_id="something"}
但我想知道一天中设备断开连接的频率。我尝试这样的查询 -
sum_over_time(count_values without(kd_id) ("value", devcon_s{kd_id="something"} == 0)[1d:])
或
count_over_time((devcon_s{kd_id="something"} == 0)[1d:])
步长等于 1d 或 1h。但它并没有给我报告事件的实际计数,而是其他对我没有意义的东西。难道我做错了什么 ?还是无法计算 promQL 中的实际值数
promql - PromQL/Victoria Metrics - 将时间序列与不同分辨率相乘
我有一个关于 promql 级数乘法的问题。我有 2 个时间序列,它们有不同的采样(5 分钟和 15 分钟)。我需要以相同的分辨率将它们相乘并求和
就像是:
这不起作用,但输出将是:
- 使 metric1 和 metric2 具有相同的分辨率(15 分钟)
- 逐个样本相乘
- 1h 时的合计(总和)
这可能吗?
谢谢!
promql - PromQL - 多时间范围排除
在 query_range 中可以指定开始和结束日期。是否可以在开始/结束时间范围内指定时间范围排除?例如:
开始=2020-12-19T00:00:00.000Z 结束=2020-12-29T00:00:00.000Z
不包括期间
exclude_start=2020-12-21T00:00:00.000Z exclude_end=2020-12-21T23:00:00.000Z
?
谢谢!