首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sflow在ClickHouse中计算每个源/dst ip的bps

sflow在ClickHouse中计算每个源/dst ip的bps
EN

Stack Overflow用户
提问于 2021-08-25 11:27:05
回答 1查看 55关注 0票数 0

我使用goflow2收集sflow,并使用ClickHouse存储这些数据。现在,我试着做一些基本的图表。例如,我想绘制每个SrcIp的位数/秒图。我尝试使用此查询,但实际流量为200 Mbps时,我得到了显示~2 Gbps的图形。

代码语言:javascript
运行
复制
SELECT
    toUInt64(toStartOfMinute($dateTimeCol))*1000 as t,
    sum(Bytes*SamplingRate) as sumbytes
FROM $table
WHERE $timeFilter and IPv4NumToString(reinterpretAsUInt32(substring(reverse(SrcAddr), 13,4))) like '195.78.38.190'
GROUP BY t
ORDER BY t

我需要像普罗米修斯那样的东西,但在普罗米修斯中我们有计数器,很容易计算出我需要什么。

EN

回答 1

Stack Overflow用户

发布于 2021-08-26 11:08:02

您的查询是正确的,但返回的是字节而不是bps。

由于每分钟的聚合,你需要除以60秒,所以你有每秒字节数。字节是8比特,所以乘以它得到比特。

/ 60 * 8

代码语言:javascript
运行
复制
SELECT
    toUInt64(toStartOfMinute($dateTimeCol))*1000 as t,
    sum(Bytes*SamplingRate) * 8 / 60 as sumbytes
FROM $table
WHERE $timeFilter and IPv4NumToString(reinterpretAsUInt32(substring(reverse(SrcAddr), 13,4))) like '195.78.38.190'
GROUP BY t
ORDER BY t
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68922037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档