使用 SNMP 在 Grafana 中的每日下载计数器

Daily download counter in Grafana using SNMP

我想使用带有 InfluxDB 和 telegraf (snmp) 的 Grafana 监控我的 Cisco ASA 上特定接口上的每日传入流量。

我正在使用以下查询从 ASA 获取图表的当前数据:

SELECT derivative(mean("ifHCInOctets"), 1s) *8 AS "In", derivative(mean("ifHCOutOctets"), 1s) *8 AS "Out" FROM "snmp" WHERE ("hostname" = 'asa-01' AND "ifName" = 'WAN') AND $timeFilter GROUP BY time($__interval), "ifName" fill(null)

如何重建此查询以在 singlestat 模块中获取每日(重置为 0:00h)下载率?类似于 "Today we downloaded: X Gb".

我试过了:

SELECT DIFFERENCE(LAST("ifHCInOctets")) FROM "snmp" WHERE ("hostname" = 'asa-01' AND "ifName" = 'WAN') AND $timeFilter GROUP BY time($interval)

但我不知道如何获得正确的时间段,我不确定 是否是呈现此数据的良好单位,或者我应该将结果乘以 8 ?

或者有更好的方法或不同的 OID 来衡量这种数据?

尝试SPREAD function并在 InfluxDB 级别计算:

SELECT 
  SPREAD("ifHCInOctets")*8 AS "In", 
  SPREAD("ifHCOutOctets")*8 AS "Out" 
FROM "snmp" 
WHERE 
  "hostname" = 'asa-01' AND "ifName" = 'WAN' AND $timeFilter

在单个统计面板中覆盖相对时间 (now/d) 并显示当前值。