【问题标题】:Downscaling data while keeping host tag separate在保持主机标签分离的同时缩减数据
【发布时间】:2018-12-03 12:05:00
【问题描述】:

我正在尝试缩减 influxdb 中的一些旧数据。基本上,我的测量值包含来自几个不同主机的值,我需要将它们分开。因此,我尝试将数据聚合到 5m 间隔,但将主机值分开。

我尝试如下,但失败并出现语法错误“不支持将多个选择器函数与标签或字段混合”:

CREATE CONTINUOUS QUERY cq_5m_net ON telegraf 
 BEGIN SELECT 
 max(bytes_recv) AS bytes_recv, max(bytes_sent) AS bytes_sent, 
 max(drop_in) AS drop_in, max(drop_out) AS drop_out, 
 max(err_in) AS err_in, max(err_out) AS err_out, 
 host INTO telegraf.rp_5m.net 
FROM telegraf.autogen.net GROUP BY time(5m), * 
END

这可以通过其他方式完成吗?

此外,原始数据集看起来像这样(有点简化):

time           host       bytes_recv   bytes_sent    drop_in drop_out
----           ----       ----------   ----------    ------- --------
14805418900000 web2.x.net 6358608058 5036008977 148414  0
14805419000000 web3.x.net 6358600106 5036501326 148414  0
14805419100000 web2.x.net 6358604711 5036770259 148414  0
14805419200000 web3.x.net 6358602310 5038123405 148414  0
14805419300000 web2.x.net 6358600274 5039360985 148414  0
14805419400000 web2.x.net 6358618730 5039651324 148414  0
14805419500000 web2.x.net 6358616379 5030898027 148414  0
14805419600000 web3.x.net 6358612454 5031543210 148414  0
14805419700000 web3.x.net 6358611562 5032444497 148414  0
14805419800000 web3.x.net 6358610357 5032699567 148414  0

【问题讨论】:

    标签: influxdb influxql


    【解决方案1】:

    That 解释您遇到的问题。

    您的问题(“这可以通过其他方式完成吗?”)的完全通用答案是 - 是的,其他方式的名称是 Kapacitor

    有关查询的更详细答案,请先提供更多详细信息 - 您的测量结果如何?

    但这里的主要问题是:您为什么需要永久下采样?

    数据存储很便宜(因为数据记录似乎非常精简),基于时间间隔的动态聚合对于适当形状的数据来说既便宜又快速 - 您可以在任何需要的时候在眨眼间完成.

    你能证明你为什么这样滚动吗?

    【讨论】:

    • 我添加了数据集样本。在这种情况下,我只想为我的服务器保留互联网流量的长期历史记录。所以我可以通过时间检查进化。是的,我的磁盘空间有点有限。
    • 然后,如果您坚持,最好的方法是保持主要测量的保留期相对较短(正是您当前监控/警报需求所需要的),然后旋转一个 Kapacitor 工作来完成定期对回溯数据进行批量汇总,并将汇总后的数据写入存档测量。简单而精益的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 2021-12-09
    相关资源
    最近更新 更多