Bug 1546198 - [RFE] ovs-stats metrics list to add to collectd
Summary: [RFE] ovs-stats metrics list to add to collectd
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openvswitch
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 10.0 (Newton)
Assignee: Matteo Croce
QA Contact: Leonid Natapov
URL:
Whiteboard:
Depends On:
Blocks: 1544767
TreeView+ depends on / blocked
 
Reported: 2018-02-16 14:57 UTC by Matthias Runge
Modified: 2022-07-09 13:24 UTC (History)
20 users (show)

Fixed In Version: collectd-5.8.1-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1544767
Environment:
Last Closed: 2019-03-15 11:19:25 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-17435 0 None None None 2022-07-09 13:24:55 UTC
Red Hat Product Errata RHSA-2018:2102 0 None None None 2018-06-27 23:35:37 UTC

Comment 6 errata-xmlrpc 2018-06-27 23:33:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2102

Comment 8 Matthias Runge 2018-07-18 10:36:16 UTC
ovs upstream commit https://github.com/openvswitch/ovs/commit/971f4b394c6e8480300494787fe919869ff3886c

Comment 9 Matthias Runge 2018-08-27 07:08:52 UTC
After being able to test this with the collectd change, I still can not see some of the requested metrics:

For example, I'm getting (and the same via ovs-ofctl -O OpenFlow14 dump-ports br-admin)

Either, we are missing something here, or it has not been implemented?

overcloud-compute-0/ovs_stats-br-admin.br-admin/if_collisions
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_dropped
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_errors
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_packets
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_rx_errors-crc
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_rx_errors-frame
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_rx_errors-over
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_rx_octets
overcloud-compute-0/ovs_stats-br-admin.br-admin/if_tx_octets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_dropped
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_errors
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-128_to_255_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-1523_to_max_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-1_to_64_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-256_to_511_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-512_to_1023_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-65_to_127_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_packets-broadcast_packets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_errors-crc
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_errors-rx_fragmented_errors
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_errors-rx_jabber_errors
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_errors-rx_oversize_errors
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_errors-rx_undersized_errors
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_rx_octets
overcloud-compute-0/ovs_stats-br-admin.dpdk0/if_tx_octets
overcloud-compute-0/ovs_stats-br-admin.phy-br-admin/if_packets
overcloud-compute-0/ovs_stats-br-admin.phy-br-admin/if_rx_octets
overcloud-compute-0/ovs_stats-br-admin.phy-br-admin/if_tx_octets

Comment 10 Matteo Croce 2018-10-12 22:05:36 UTC
Hi Matthias,

I made a setup with OVS 2.10 and collectd 5.8.0 with the ovs_stats plugin.
I understand that there is request to collect some statistics, but I've found that many are already present.

These are the requested members

- rx_mbuf_allocation_errors
- rx_undersize_errors
- rx_error_bytes
- rx_good_bytes
- rx_total_bytes
- rx_good_packets
- rx_management_packets
- rx_multicast_packets
- rx_total_missed_packets
- rx_total_packets
- rx_l3_l4_xsum_error
- rx_management_dropped
- tx_good_bytes
- tx_q0_bytes
- tx_broadcast_packets
- tx_good_packets
- tx_management_packets
- tx_total_packets

and these are the already present elements.

# collectdctl listval |grep -o '/.*ovs.*$'
/interface-ovs-netdev/if_dropped
/interface-ovs-netdev/if_errors
/interface-ovs-netdev/if_octets
/interface-ovs-netdev/if_packets
/interface-ovsbr0/if_dropped
/interface-ovsbr0/if_errors
/interface-ovsbr0/if_octets
/interface-ovsbr0/if_packets
/ovs_stats-ovsbr0.guest1/if_dropped
/ovs_stats-ovsbr0.guest1/if_packets
/ovs_stats-ovsbr0.guest1/if_rx_octets
/ovs_stats-ovsbr0.guest1/if_tx_octets
/ovs_stats-ovsbr0.guest2/if_dropped
/ovs_stats-ovsbr0.guest2/if_packets
/ovs_stats-ovsbr0.guest2/if_rx_octets
/ovs_stats-ovsbr0.guest2/if_tx_octets
/ovs_stats-ovsbr0.ovsbr0/if_collisions
/ovs_stats-ovsbr0.ovsbr0/if_dropped
/ovs_stats-ovsbr0.ovsbr0/if_errors
/ovs_stats-ovsbr0.ovsbr0/if_packets
/ovs_stats-ovsbr0.ovsbr0/if_rx_errors-crc
/ovs_stats-ovsbr0.ovsbr0/if_rx_errors-frame
/ovs_stats-ovsbr0.ovsbr0/if_rx_errors-over
/ovs_stats-ovsbr0.ovsbr0/if_rx_octets
/ovs_stats-ovsbr0.ovsbr0/if_tx_octets

some info can be gathered by the generic interface plugin, others are missing and I will try to add them.

Comment 14 Matteo Croce 2018-11-22 21:26:30 UTC
Hi Matthias,

I made a patch based on previous Ryan work, here is the changeset:

https://github.com/teknoraver/collectd/commit/f03bb0453efcad57b80ac415da2d96dc263a96ba

and here there is what now we find in collectd:

# collectdctl listval |grep -o 'ovs_stats-.*' |sort
ovs_stats-ovsbr0.dpdk0/if_dropped
ovs_stats-ovsbr0.dpdk0/if_errors
ovs_stats-ovsbr0.dpdk0/if_packets
ovs_stats-ovsbr0.dpdk0/if_packets-128_to_255_packets
ovs_stats-ovsbr0.dpdk0/if_packets-1_to_64_packets
ovs_stats-ovsbr0.dpdk0/if_packets-256_to_511_packets
ovs_stats-ovsbr0.dpdk0/if_packets-512_to_1023_packets
ovs_stats-ovsbr0.dpdk0/if_packets-65_to_127_packets
ovs_stats-ovsbr0.dpdk0/if_packets-broadcast_packets
ovs_stats-ovsbr0.dpdk0/if_packets-management_packets
ovs_stats-ovsbr0.dpdk0/if_rx_errors-crc
ovs_stats-ovsbr0.dpdk0/if_rx_errors-rx_jabber_errors
ovs_stats-ovsbr0.dpdk0/if_rx_errors-rx_oversize_errors
ovs_stats-ovsbr0.dpdk0/if_rx_errors-rx_undersize_errors
ovs_stats-ovsbr0.dpdk0/if_rx_octets
ovs_stats-ovsbr0.dpdk0/if_tx_octets
ovs_stats-ovsbr0.guest0/if_dropped
ovs_stats-ovsbr0.guest0/if_packets
ovs_stats-ovsbr0.guest0/if_rx_octets
ovs_stats-ovsbr0.guest0/if_tx_octets
ovs_stats-ovsbr0.guest1/if_dropped
ovs_stats-ovsbr0.guest1/if_packets
ovs_stats-ovsbr0.guest1/if_rx_octets
ovs_stats-ovsbr0.guest1/if_tx_octets
ovs_stats-ovsbr0.ovsbr0/if_collisions
ovs_stats-ovsbr0.ovsbr0/if_dropped
ovs_stats-ovsbr0.ovsbr0/if_errors
ovs_stats-ovsbr0.ovsbr0/if_packets
ovs_stats-ovsbr0.ovsbr0/if_rx_errors-crc
ovs_stats-ovsbr0.ovsbr0/if_rx_errors-frame
ovs_stats-ovsbr0.ovsbr0/if_rx_errors-over
ovs_stats-ovsbr0.ovsbr0/if_rx_octets
ovs_stats-ovsbr0.ovsbr0/if_tx_octets


As you can see, the management_packets and rx_undersize_errors were not present before, and they were added in OpenFlow 1.4:

# ovs-ofctl -O OpenFlow13 dump-ports ovsbr0 |grep -e management_packets -e rx_undersize_errors
# ovs-ofctl -O OpenFlow14 dump-ports ovsbr0 |grep -e management_packets -e rx_undersize_errors
                      rx_fragment_errors=0, rx_undersize_errors=0, rx_oversize_errors=0,
                      rx_jabber_errors=0, rx_management_packets=0, rx_management_dropped=0,
                      tx_management_packets=0, rx_mac_short_packet_dropped=0, flow_director_filter_add_errors=0,

If you're ok, I'll send the patch upstream.

Regards,
Matteo

Comment 15 Matthias Runge 2018-11-23 13:27:15 UTC
Matteo,

this is totally awesome. Please go ahead and send the patch upstream.

Best,
Matthias

Comment 17 Matthias Runge 2018-12-04 07:01:26 UTC
Wow, congrats. This was very quick.


I'll look into backporting this. Thanks a lot.

Comment 25 Matteo Croce 2019-03-15 11:19:25 UTC
Closing it, as the corresponding bug 1544767 has been verified


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