Export CurrentBandwidth as bytes

From https://prometheus.io/docs/practices/naming/:
To avoid confusion combining different metrics, always use bytes, even
where bits appear more common.

Fixes #800

Signed-off-by: Max Lendrich <maximilian.lendrich@sap.com>
This commit is contained in:
Max Lendrich
2021-06-14 17:33:27 +02:00
parent 2bc3c1859a
commit bbab591570
3 changed files with 7 additions and 7 deletions

View File

@@ -118,7 +118,7 @@ func NewNetworkCollector() (Collector, error) {
nil, nil,
), ),
CurrentBandwidth: prometheus.NewDesc( CurrentBandwidth: prometheus.NewDesc(
prometheus.BuildFQName(Namespace, subsystem, "current_bandwidth"), prometheus.BuildFQName(Namespace, subsystem, "current_bandwidth_bytes"),
"(Network.CurrentBandwidth)", "(Network.CurrentBandwidth)",
[]string{"nic"}, []string{"nic"},
nil, nil,
@@ -251,7 +251,7 @@ func (c *NetworkCollector) collect(ctx *ScrapeContext, ch chan<- prometheus.Metr
ch <- prometheus.MustNewConstMetric( ch <- prometheus.MustNewConstMetric(
c.CurrentBandwidth, c.CurrentBandwidth,
prometheus.GaugeValue, prometheus.GaugeValue,
nic.CurrentBandwidth, nic.CurrentBandwidth/8,
name, name,
) )
} }

View File

@@ -34,7 +34,7 @@ Name | Description | Type | Labels
`windows_net_packets_received_unknown_total` | Total packets received by interface that were discarded because of an unknown or unsupported protocol | counter | `nic` `windows_net_packets_received_unknown_total` | Total packets received by interface that were discarded because of an unknown or unsupported protocol | counter | `nic`
`windows_net_packets_total` | Total packets received and transmitted by interface | counter | `nic` `windows_net_packets_total` | Total packets received and transmitted by interface | counter | `nic`
`windows_net_packets_sent_total` | Total packets transmitted by interface | counter | `nic` `windows_net_packets_sent_total` | Total packets transmitted by interface | counter | `nic`
`windows_net_current_bandwidth` | Estimate of the interface's current bandwidth in bits per second (bps) | gauge | `nic` `windows_net_current_bandwidth_bytes` | Estimate of the interface's current bandwidth in bytes per second | gauge | `nic`
### Example metric ### Example metric
Query the rate of transmitted network traffic Query the rate of transmitted network traffic
@@ -45,14 +45,14 @@ rate(windows_net_bytes_sent_total{instance="localhost"}[2m])
## Useful queries ## Useful queries
Get total utilisation of network interface as a percentage Get total utilisation of network interface as a percentage
``` ```
rate(windows_net_bytes_total{instance="localhost", nic="Microsoft_Hyper_V_Network_Adapter__1"}[2m]) * 8 / windows_net_current_bandwidth{instance="locahost", nic="Microsoft_Hyper_V_Network_Adapter__1"} * 100 rate(windows_net_bytes_total{instance="localhost", nic="Microsoft_Hyper_V_Network_Adapter__1"}[2m]) / windows_net_current_bandwidth_bytes{instance="localhost", nic="Microsoft_Hyper_V_Network_Adapter__1"} * 100
``` ```
## Alerting examples ## Alerting examples
**prometheus.rules** **prometheus.rules**
```yaml ```yaml
- alert: NetInterfaceUsage - alert: NetInterfaceUsage
expr: rate(windows_net_bytes_total[2m]) * 8 / windows_net_current_bandwidth * 100 > 95 expr: rate(windows_net_bytes_total[2m]) / windows_net_current_bandwidth_bytes * 100 > 95
for: 10m for: 10m
labels: labels:
severity: high severity: high

View File

@@ -153,8 +153,8 @@ windows_exporter_collector_timeout{collector="textfile"} 0
# TYPE windows_net_bytes_sent_total counter # TYPE windows_net_bytes_sent_total counter
# HELP windows_net_bytes_total (Network.BytesTotalPerSec) # HELP windows_net_bytes_total (Network.BytesTotalPerSec)
# TYPE windows_net_bytes_total counter # TYPE windows_net_bytes_total counter
# HELP windows_net_current_bandwidth (Network.CurrentBandwidth) # HELP windows_net_current_bandwidth_bytes (Network.CurrentBandwidth)
# TYPE windows_net_current_bandwidth gauge # TYPE windows_net_current_bandwidth_bytes gauge
# HELP windows_net_packets_outbound_discarded_total (Network.PacketsOutboundDiscarded) # HELP windows_net_packets_outbound_discarded_total (Network.PacketsOutboundDiscarded)
# TYPE windows_net_packets_outbound_discarded_total counter # TYPE windows_net_packets_outbound_discarded_total counter
# HELP windows_net_packets_outbound_errors_total (Network.PacketsOutboundErrors) # HELP windows_net_packets_outbound_errors_total (Network.PacketsOutboundErrors)