Add network interface status metrics

Change-Id: I41ec3a88d7ece088b160f00122498b3ed936015a
This commit is contained in:
Vaishali Pavashe 2017-03-24 20:25:56 -04:00
parent 4fdaf0ef72
commit 2eaf48c028
2 changed files with 12 additions and 0 deletions

View File

@ -431,6 +431,7 @@ instances:
| net.out_errors_sec | device | Number of network errors on outgoing network traffic per second
| net.in_packets_dropped_sec | device | Number of inbound network packets dropped per second
| net.out_packets_dropped_sec | device | Number of outbound network packets dropped per second
| net.int_status | device | Network interface status
### Monasca Agent
The Monasca Agent itself generates a small number of metrics.

View File

@ -53,6 +53,17 @@ class Network(checks.AgentCheck):
log.debug('Collected 8 network metrics for device {0}'.format(nic_name))
nic_stats = psutil.net_if_stats()
for nic_name in nic_stats.keys():
if self._is_nic_monitored(nic_name, excluded_ifaces, exclude_iface_re):
nic = nic_stats[nic_name]
if nic.isup:
self.gauge('net.int_status', 0, device_name=nic_name, dimensions=dimensions)
else:
self.gauge('net.int_status', 1, device_name=nic_name, dimensions=dimensions)
log.debug('Collected network interface status for device {0}'.format(nic_name))
def _is_nic_monitored(self, nic_name, excluded_ifaces, exclude_iface_re):
if nic_name in excluded_ifaces:
return False