Bug 1544767 - [RFE] ovs-stats metrics list to add to collectd
Summary: [RFE] ovs-stats metrics list to add to collectd
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: collectd
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: z11
: 10.0 (Newton)
Assignee: Ryan McCabe
QA Contact: Leonid Natapov
URL:
Whiteboard:
Depends On: 1546198
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-13 13:30 UTC by Aviv Guetta
Modified: 2020-11-26 14:44 UTC (History)
16 users (show)

Fixed In Version: collectd-5.8.1-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1546198 (view as bug list)
Environment:
Last Closed: 2019-03-20 10:36:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
RDO 17694 0 None None None 2018-12-13 11:15:24 UTC

Description Aviv Guetta 2018-02-13 13:30:18 UTC
Description of problem:
Hi,
Per customer request (in order to monitor OVS-DPDK metrics), they would like to add the following metrics:

* rx_mbuf_allocation_errors- Number of Rx packets dropped due to lack of descriptors.

* rx_undersize_errors- Receive Undersize Error. This register counts the number of received frames that are shorter than the minimum size (64 bytes from <Destination Address> through <CRC>, inclusively), and had a valid CRC.

* rx_error_bytes - Counts the number of receive packets with error bytes (such as there is an error symbol in the packet). This register counts all packets received, regardless of L2 filtering and receive enablement.

* rx_good_bytes - Good octets/bytes received count. This register includes bytes received in a packet from the <Destination Address> field through the <CRC> field, inclusively.

* rx_total_bytes - Total received octets. This register includes bytes received in a packet from the <Destination Address> field through the <CRC> field, inclusively.

* rx_good_packets- Number of good (non-erred) Rx packets (from the network).

* rx_management_packets - Number of management packets received. This register counts the total number of packets received that pass the management filters. Management packets include RMCP and ARP packets. Any packets with errors are not counted, except for the packets that are dropped because the management receives FIFO is full are counted.
Note: No Equivalent in i40e.

* rx_multicast_packets - Number of good (non-erred) multicast packets received (excluding broadcast packets). This register does not count received flow control packets. 

* rx_total_missed_packets - the total number of rx missed packets, that is is a packet that was correctly received by the NIC but because it was out of descriptors and internal memory, the packet had to be dropped by the NIC itself

* rx_total_packets - Number of all packets received. This register counts the total number of all packets received. All packets received are counted in this register, regardless of their length, whether they are erred, but excluding flow control packets.

* rx_l3_l4_xsum_error - Number of receive IPv4, TCP, UDP or SCTP XSUM errors. 
Note: NOK in i40e, available in ixgbe rx_l3_l4_xsum_error.

* rx_management_dropped - Number of management packets dropped. This register counts the total number of packets received that pass the management filters and then are dropped because the management receives FIFO is full. Management packets include any packet directed to the manageability console (such as RMCP and ARP packets).
Note: rx_management_dropped in ixgbe, not in i40e

* tx_good_bytes - counter of successfully transmitted octets. This register includes transmitted bytes in a packet from the <Destination Address> field through the <CRC> field, inclusively.

* tx_q0_bytes -	Number of bytes transmitted by the queue.

* tx_broadcast_packets - Number of broadcast packets transmitted count. This register counts all packets, including standard packets, secure packets, FC packets and manageability packets

* tx_good_packets - Number of good packets transmitted 
Note: tx_packets

* tx_management_packets - Number of management packets transmitted.
Note: tx_management_packets in ixgbe, NOK in i40e

* tx_total_packets - Number of all packets transmitted. This register counts the total number of all packets transmitted. This register counts all packets, including standard packets, secure packets, FC packets, and manageability packets.


Version-Release number of selected component (if applicable):
RH-OSP 10
Collectd 5.9 (?)

Comment 16 Leonid Natapov 2018-06-27 14:02:00 UTC
After further investigation with Matthias,we see in OSP10 the following metrics:

if_collisions, if_rx_errors-frame, if_rx_octets, if_rx_errors-crc. if_rx_errors-over, if_tx_octets

These are too few metrics from the list in the bug description.

Comment 21 sunku ranganath 2018-07-23 16:23:58 UTC
Its currently being tracked in Barometer: https://jira.opnfv.org/browse/BAROMETER-96

Comment 22 sunku ranganath 2018-07-23 16:44:23 UTC
Waiting on status review from RedHat team.

Comment 27 Matthias Runge 2018-08-21 17:02:24 UTC
A test build is available here
https://cbs.centos.org/koji/taskinfo?taskID=522687

Comment 28 Matthias Runge 2018-09-03 11:41:58 UTC
An update here: not all of the requested metrics are available in the test build. I've asked for help in the depending bug and also sending email to the assignees.

Comment 37 Matteo Croce 2018-10-18 17:27:13 UTC
Hi Ryan,

did you submit the patch upstream already?

Comment 43 Leonid Natapov 2019-03-14 08:09:05 UTC
Tested with OSP10 with collectd-5.8.1-2.el7ost that was manually installed on top of latest OSP10.

Here is the collectdctl output that I've got:
---------------------------------------------
    [root@compute-0 heat-admin]# collectdctl listval |grep -o 'ovs_stats-.*' |sort
    ovs_stats-br-int.br-int/if_collisions
    ovs_stats-br-int.br-int/if_dropped
    ovs_stats-br-int.br-int/if_errors
    ovs_stats-br-int.br-int/if_packets
    ovs_stats-br-int.br-int/if_rx_errors-crc
    ovs_stats-br-int.br-int/if_rx_errors-frame
    ovs_stats-br-int.br-int/if_rx_errors-over
    ovs_stats-br-int.br-int/if_rx_octets
    ovs_stats-br-int.br-int/if_tx_octets
    ovs_stats-br-int.int-br-link0/if_packets
    ovs_stats-br-int.int-br-link0/if_rx_octets
    ovs_stats-br-int.int-br-link0/if_tx_octets
    ovs_stats-br-int.patch-tun/if_packets
    ovs_stats-br-int.patch-tun/if_rx_octets
    ovs_stats-br-int.patch-tun/if_tx_octets
    ovs_stats-br-link0.br-link0/if_collisions
    ovs_stats-br-link0.br-link0/if_dropped
    ovs_stats-br-link0.br-link0/if_errors
    ovs_stats-br-link0.br-link0/if_packets
    ovs_stats-br-link0.br-link0/if_rx_errors-crc
    ovs_stats-br-link0.br-link0/if_rx_errors-frame
    ovs_stats-br-link0.br-link0/if_rx_errors-over
    ovs_stats-br-link0.br-link0/if_rx_octets
    ovs_stats-br-link0.br-link0/if_tx_octets
    ovs_stats-br-link0.dpdkbond0/if_dropped
    ovs_stats-br-link0.dpdkbond0/if_errors
    ovs_stats-br-link0.dpdkbond0/if_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-1024_to_1522_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-128_to_255_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-1523_to_max_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-1_to_64_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-256_to_511_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-512_to_1023_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-65_to_127_packets
    ovs_stats-br-link0.dpdkbond0/if_packets-broadcast_packets
    ovs_stats-br-link0.dpdkbond0/if_rx_errors-crc
    ovs_stats-br-link0.dpdkbond0/if_rx_errors-rx_fragmented_errors
    ovs_stats-br-link0.dpdkbond0/if_rx_errors-rx_jabber_errors
    ovs_stats-br-link0.dpdkbond0/if_rx_errors-rx_oversize_errors
    ovs_stats-br-link0.dpdkbond0/if_rx_errors-rx_undersized_errors
    ovs_stats-br-link0.dpdkbond0/if_rx_octets
    ovs_stats-br-link0.dpdkbond0/if_tx_octets
    ovs_stats-br-link0.phy-br-link0/if_packets
    ovs_stats-br-link0.phy-br-link0/if_rx_octets
    ovs_stats-br-link0.phy-br-link0/if_tx_octets
    ovs_stats-br-tun.br-tun/if_collisions
    ovs_stats-br-tun.br-tun/if_dropped
    ovs_stats-br-tun.br-tun/if_errors
    ovs_stats-br-tun.br-tun/if_packets
    ovs_stats-br-tun.br-tun/if_rx_errors-crc
    ovs_stats-br-tun.br-tun/if_rx_errors-frame
    ovs_stats-br-tun.br-tun/if_rx_errors-over
    ovs_stats-br-tun.br-tun/if_rx_octets
    ovs_stats-br-tun.br-tun/if_tx_octets
    ovs_stats-br-tun.patch-int/if_packets
    ovs_stats-br-tun.patch-int/if_rx_octets
    ovs_stats-br-tun.patch-int/if_tx_octets
    ovs_stats-br-tun.vxlan-0a0a8467/if_packets
    ovs_stats-br-tun.vxlan-0a0a8467/if_rx_octets
    ovs_stats-br-tun.vxlan-0a0a8467/if_tx_octets
    ovs_stats-br-tun.vxlan-0a0a8469/if_packets
    ovs_stats-br-tun.vxlan-0a0a8469/if_rx_octets
    ovs_stats-br-tun.vxlan-0a0a8469/if_tx_octets
    ovs_stats-br-tun.vxlan-0a0a846a/if_packets
    ovs_stats-br-tun.vxlan-0a0a846a/if_rx_octets
    ovs_stats-br-tun.vxlan-0a0a846a/if_tx_octets
    ovs_stats-br-tun.vxlan-0a0a846b/if_packets
    ovs_stats-br-tun.vxlan-0a0a846b/if_rx_octets
    ovs_stats-br-tun.vxlan-0a0a846b/if_tx_octets
    [root@compute-0 heat-admin]#

A few counters don't appear in the list because no related packets were generated but according to the other counters that appear we can say that patch is inside and requested counters were added to ovs-stats metric list.

Comment 44 Lon Hohberger 2019-03-20 10:36:29 UTC
According to our records, this should be resolved by collectd-5.8.1-2.el7ost.  This build is available now.


Note You need to log in before you can comment on or make changes to this bug.