Puppet Class: collectd::plugin::dpdk_telemetry

Defined in:
manifests/plugin/dpdk_telemetry.pp

Overview

Class to manage dpdk_telemetry plugin for collectd.

The dpdk_telemetry plugin collects DPDK ethernet device metrics via dpdk_telemetry library.

Plugin retrieves metrics from a DPDK packet forwarding application by sending the JSON formatted message via a UNIX domain socket. DPDK telemetry component will respond with a JSON formatted reply delivering the requested metrics. Plugin parses the JSON data and publishes the metric values to collectd for further use.

Parameters:

  • ensure (Enum['present', 'absent']) (defaults to: 'present')

    Ensure param for collectd::plugin type.

  • client_socket_path (Stdlib::Absolutepath) (defaults to: '/var/run/.client')

    UNIX domain client socket to receive messages from DPDK telemetry library.

  • dpdk_socket_path (Stdlib::Absolutepath) (defaults to: '/var/run/dpdk/rte/telemetry')

    UNIX domain DPDK telemetry socket to be connected to send messages.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'manifests/plugin/dpdk_telemetry.pp', line 16

class collectd::plugin::dpdk_telemetry (
  Enum['present', 'absent'] $ensure             = 'present',
  Stdlib::Absolutepath      $client_socket_path = '/var/run/.client',
  Stdlib::Absolutepath      $dpdk_socket_path   = '/var/run/dpdk/rte/telemetry',
) {
  include collectd

  collectd::plugin { 'dpdk_telemetry':
    ensure  => $ensure,
    content => epp('collectd/plugin/dpdk_telemetry.conf.epp'),
  }
}