DOCA Telemetry Service
This documentation explains configuration and deployment of DOCA Telemetry service (DTS) as DPU service in DPF.
Main DTS concepts are explained in the official DTS documentation.
While the official documentation provides a more comprehensive overview, DPUService users should consult it for its detailed list of telemetry counters and explanation of user options.
Official DTS documentation explains configuration options.
General note: In the official documentation, all options should be specified in the dts_config.ini
file using the key=value
format. In DPF the same options should be set via DPUService.yaml
as key: value
in yaml format.
Default configuration
The default configuration is set to collect sysfs
and ethtool
counters and expose them via Prometheus endpoint.
DPF configuration
User configuration is organized into the following groups:
providers
aggregator_providers
general
fluent
All user options should be set in DPUService under:
spec:
helmChart:
values:
configMapData:
The following subsections explain each user option groups
Providers:
Available data providers are listed here: DTS providers.
Note: some of the providers are supported only on host and not on DPU.
To enable data providers in DTS service:
1) Set data providers csv-line under spec.helmChart.values.configMapData.providers
. E.g.:
spec:
helmChart:
values:
configMapData:
providers: "sysfs,ethtool"
2) Optionally, set aggregator providers csv-line under spec.helmChart.values.configMapData.aggregator_providers
.
General options
Except provider names, official documentation explains various options of dts_config.ini
file in format of key=value
pairs.
To set the these options in DPUService.yaml specify them in key: value
pairs under spec.helmChart.configMapData.general
.
For instance, DPU service exposes essential general options:
-
update: 1000
to set the sample interval in milliseconds.sync-time-limit: 10000
buffer rotation time limit in seconds.
Configure Fluent exporter
Additionally Fluent Bit export files can be set via spec.helmChart.configMapData.fluent.DESTINATION
. Available fluent export destinations are:
forward
kafka
influxdb
elasticsearch
Default values are exposed for each case in DPUService.yaml. See more details regarding each destination in official documentation.
Start service with:
kubectl apply -f DPUService.yaml
Check the status of DPU service:
$ kubectl -n dpf-operator-system exec deploy/dpf-operator-controller-manager -- /dpfctl describe all --show-resources=dpuservice/doca-telemetry-service --show-conditions=all
NAME NAMESPACE READY REASON SINCE MESSAGE
DPFOperatorConfig/dpfoperatorconfig dpf-operator-system True Success 15h
│ ├─ImagePullSecretsReconciled True Success 25d
│ ├─SystemComponentsReady True Success 15h
│ └─SystemComponentsReconciled True Success 25d
└─DPUServices
└─DPUService/doca-telemetry-service dpf-operator-system True Success 21d
├─ApplicationPrereqsReconciled True Success 25d
├─ApplicationsReady True Success 21d
├─ApplicationsReconciled True Success 25d
└─DPUServiceInterfaceReconciled True Success 25d