add proc_net_dev charts info (#11543)
* add net.net info
Ilya Mashchenko committed
Sep 21, 2021 at 20:56 UTC
3ab85b94be68cf41184e5c3916feda34e544ddd4
1 file changed
+75
-21
web/gui/dashboard_info.js
+75
-21
@@ -47,7 +47,8 @@ netdataDashboard.menu = {
47
'net': {
48
title: 'Network Interfaces',
49
icon: '<i class="fas fa-sitemap"></i>',
50
- info: 'Performance metrics for network interfaces.'
50
+ info: '<p>Performance <a href="https://www.kernel.org/doc/html/latest/networking/statistics.html" target="_blank">metrics for network interfaces</a>.</p>'+
51
+ '<p>Netdata retrieves this data reading the <code>/proc/net/dev</code> file and <code>/sys/class/net/</code> directory.</p>'
52
},
53
54
'wireless': {
@@ -1285,25 +1286,6 @@ netdataDashboard.context = {
1286
'For details, see <a href="https://man7.org/linux/man-pages/man4/md.4.html" target="_blank">md(4)</a>.'
1287
},
1288
1288
- // ------------------------------------------------------------------------
1289
- // network interfaces
1290
-
1291
- 'net.drops': {
1292
- info: 'Packets that have been dropped at the network interface level. These are the same counters reported by <code>ifconfig</code> as <code>RX dropped</code> (inbound) and <code>TX dropped</code> (outbound). <b>inbound</b> packets can be dropped at the network interface level due to <a href="#menu_system_submenu_softnet_stat">softnet backlog</a> overflow, bad / unintended VLAN tags, unknown or unregistered protocols, IPv6 frames when the server is not configured for IPv6. Check <a href="https://www.novell.com/support/kb/doc.php?id=7007165" target="_blank">this document</a> for more information.'
1293
- },
1294
-
1295
- 'net.duplex': {
1296
- info: 'State map: 0 - unknown, 1 - half duplex, 2 - full duplex'
1297
- },
1298
-
1299
- 'net.operstate': {
1300
- info: 'State map: 0 - unknown, 1 - notpresent, 2 - down, 3 - lowerlayerdown, 4 - testing, 5 - dormant, 6 - up'
1301
- },
1302
-
1303
- 'net.carrier': {
1304
- info: 'State map: 0 - down, 1 - up'
1305
- },
1306
-
1289
// ------------------------------------------------------------------------
1290
// IP
1291
@@ -1651,7 +1633,79 @@ netdataDashboard.context = {
1633
else
1634
return '';
1635
}
1654
- ]
1636
+ ],
1637
+ info: 'Amount of traffic that the interface has received and sent.'
1638
+ },
1639
+ 'net.packets': {
1640
+ info: 'Number of packets that the interface has received and sent. '+
1641
+ 'Received <a href="https://en.wikipedia.org/wiki/Multicast" target="_blank">multicast</a> counter is '+
1642
+ 'commonly calculated at the device level (unlike <b>received</b>) and therefore may include packets which did not reach the host.'
1643
+ },
1644
+ 'net.errors': {
1645
+ info: '<b>Inbound</b> is the number of bad packets received on this interface. '+
1646
+ 'It includes dropped packets due to invalid length, CRC, frame alignment, and other errors. '+
1647
+ '<b>Outbound</b> is the number of transmit problems. '+
1648
+ 'It includes frames transmission errors due to loss of carrier, FIFO underrun/underflow, heartbeat, late collisions, and other problems.'
1649
+ },
1650
+ 'net.fifo': {
1651
+ info: '<b>Inbound</b> is the number of packets dropped because they did not fit into buffers provided by the host, '+
1652
+ 'e.g. packets larger than MTU or next buffer in the ring was not available for a scatter transfer. '+
1653
+ '<b>Outbound</b> is the number of frame transmission errors due to device FIFO underrun/underflow. '+
1654
+ 'This condition occurs when the device begins transmission of a frame '+
1655
+ 'but is unable to deliver the entire frame to the transmitter in time for transmission.'
1656
+ },
1657
+ 'net.drops': {
1658
+ info: 'Packets that have been dropped at the network interface level. '+
1659
+ '<b>Inbound</b> is the number of packets received but not processed, e.g. due to '+
1660
+ '<a href="#menu_system_submenu_softnet_stat">softnet backlog</a> overflow, bad / unintended VLAN tags, '+
1661
+ 'unknown or unregistered protocols, IPv6 frames when the server is not configured for IPv6. '+
1662
+ '<b>Outbound</b> is the number of packets dropped on their way to transmission, e.g. due to lack of resources.'
1663
+ },
1664
+ 'net.compressed': {
1665
+ info: 'Number of correctly received and transmitted compressed packets. '+
1666
+ 'These counters are only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP).'
1667
+ },
1668
+ 'net.events': {
1669
+ info: '<b>Frames</b> is an aggregated counter for dropped packets due to '+
1670
+ 'invalid length, FIFO overflow, CRC, and frame alignment errors. '+
1671
+ '<b>Collisions</b> is the number of '+
1672
+ '<a href="https://en.wikipedia.org/wiki/Collision_(telecommunications)" target="blank">collisions</a> during packet transmissions. '+
1673
+ '<b>Carrier</b> is an aggregated counter for frame transmission errors due to '+
1674
+ 'excessive collisions, loss of carrier, device FIFO underrun/underflow, Heartbeat/SQE Test errors, and late collisions.'
1675
+ },
1676
+ 'net.duplex': {
1677
+ info: '<p>The interface\'s latest or current '+
1678
+ '<a href="https://en.wikipedia.org/wiki/Duplex_(telecommunications)" target="_blank">duplex</a> that the network adapter '+
1679
+ '<a href="https://en.wikipedia.org/wiki/Autonegotiation" target="_blank">negotiated</a> with the device it is connected to. '+
1680
+ '<b>Unknown</b> - the duplex mode can not be determined. '+
1681
+ '<b>Half duplex</b> - the communication is one direction at a time. '+
1682
+ '<b>Full duplex</b> - the interface is able to send and receive data simultaneously.</p>'+
1683
+ '<p><b>State map</b>: 0 - unknown, 1 - half, 2 - full.</p>'
1684
+ },
1685
+ 'net.operstate': {
1686
+ info: '</p>The current <a href="https://datatracker.ietf.org/doc/html/rfc2863" target="_blank">operational state</a> of the interface. '+
1687
+ '<b>Unknown</b> - the state can not be determined. '+
1688
+ '<b>NotPresent</b> - the interface has missing (typically, hardware) components. '+
1689
+ '<b>Down</b> - the interface is unable to transfer data on L1, e.g. ethernet is not plugged or interface is administratively down. '+
1690
+ '<b>LowerLayerDown</b> - the interface is down due to state of lower-layer interface(s). '+
1691
+ '<b>Testing</b> - the interface is in testing mode, e.g. cable test. It can’t be used for normal traffic until tests complete. '+
1692
+ '<b>Dormant</b> - the interface is L1 up, but waiting for an external event, e.g. for a protocol to establish. '+
1693
+ '<b>Up</b> - the interface is ready to pass packets and can be used.</p>'+
1694
+ '<p><b>State map</b>: 0 - unknown, 1 - notpresent, 2 - down, 3 - lowerlayerdown, 4 - testing, 5 - dormant, 6 - up.</p>'
1695
+ },
1696
+ 'net.carrier': {
1697
+ info: '<p>The current physical link state of the interface.</p>'+
1698
+ '<p><b>State map</b>: 0 - down, 1 - up.</p>'
1699
+ },
1700
+ 'net.speed': {
1701
+ info: 'The interface\'s latest or current speed that the network adapter '+
1702
+ '<a href="https://en.wikipedia.org/wiki/Autonegotiation" target="_blank">negotiated</a> with the device it is connected to. '+
1703
+ 'This does not give the max supported speed of the NIC.'
1704
+ },
1705
+ 'net.mtu': {
1706
+ info: 'The interface\'s currently configured '+
1707
+ '<a href="https://en.wikipedia.org/wiki/Maximum_transmission_unit" target="_blank">Maximum transmission unit</a> (MTU) value. '+
1708
+ 'MTU is the size of the largest protocol data unit that can be communicated in a single network layer transaction.'
1709
},
1710
1711
// ------------------------------------------------------------------------