DOCA CollectX telemetry deployment
Where to start: This skill is the bundle's home for
operating a CollectX (clx) based telemetry collector — the
collection framework that gathers provider counters into a
schema and ships them out through one or more exporters. It is a
deployment / operation skill, parallel to
doca-bare-metal-deployment
and doca-container-deployment:
it owns the runtime shape of a telemetry collector on the
operator's host or BlueField, not the library APIs the operator's
own program calls. If the user wants to stand up, wire, or debug
a collector and its exporters, open TASKS.md and
start at ## configure. If the question is
what surfaces does the collector even have and where is the
scope boundary, start at CAPABILITIES.md.
If the user has not installed DOCA yet, route to
doca-setup first.
The scope boundary (read this before anything else)
CollectX (clx) is NVIDIA's telemetry collection framework. It
underpins the DOCA Telemetry Service (DTS) — and DTS
as-deployed (the productized, NGC-shipped / kubelet-started
service container) is out of scope for this bundle per
AGENTS.md Non-goal #7.
This skill therefore draws a hard line and the agent MUST state
it up front:
- In scope here: the CollectX collection mechanism as a
class (providers / counters → schema → collector daemon →
exporters), and the operator deploying / running / debugging a
collector that they own, plus the operator's own usage of the
two in-bundle telemetry libraries when those feed or
consume the collector.
- Routed to the DOCA telemetry libraries: the
hardware-counter reader API is owned by
doca-telemetry; the
application-side publisher API (emit counters / events from
a DOCA program) is owned by
doca-telemetry-exporter.
This skill does not re-document either API surface.
- Routed to public docs (Non-goal #7): the productized
DTS container — its packaged config schema, its built-in
provider set, its kubelet manifest, its NGC image — is
externally productized. Route every "operate the DTS service"
question to the
doca-public-knowledge-map externally-productized routing row
and the public DTS guide it points at. The agent must NOT
synthesize DTS config file names, provider knob names, or
paths from memory.
The load-bearing first-touch failure this skill exists to
prevent is collapsing these four surfaces into "DOCA
telemetry": the clx collection mechanism, the doca-telemetry
reader library, the doca-telemetry-exporter publisher library,
and the productized DTS container are four different things with
four different owners. The agent surfaces the decomposition
BEFORE any config-level guidance.
Audience
This skill serves external operators standing up or running a
CollectX-based telemetry collector on a host or BlueField they
administer — people who already have:
- a DOCA install on the side they are collecting from (host x86
or BlueField Arm), verified per
doca-setup ## test,
- a goal of getting counters off the box through a collector +
exporter, not of writing the reader / publisher library code
(that is the two
libs/ skills above), and
- access to the public DOCA Telemetry and DTS guides on
docs.nvidia.com as the authoritative source for any concrete
provider name, schema field, flag, or config path.
It is not for:
- developers writing the hardware-counter reader API (route to
doca-telemetry) or the
publisher API (route to
doca-telemetry-exporter),
- operators deploying / configuring the productized DTS
container as a turnkey service — that is externally
productized (Non-goal #7); route to the public DTS guide,
- fresh-no-install users — those belong on
doca-setup ## no-install.
The skill teaches the agent the procedure and the scope
boundary; it does not invent clx symbol names, provider names,
schema field names, exporter flag names, or config paths from
memory — those come from the live install and the public docs via
doca-public-knowledge-map.
When to load this skill
Load this skill when the user is doing hands-on deployment or
operation of a CollectX-based telemetry collector and the
question is about the collector runtime shape, not a library API.
Concretely:
- Standing up a collector that gathers provider counters into a
schema and ships them out — and deciding which export backend
(Prometheus pull, Fluent Bit push, NetFlow, file / IPC) fits
the downstream consumer.
- Wiring a provider / counter family into the collector and
confirming the device actually exposes it before the config
commits (the gate-before-commit rule, shared with
doca-telemetry-utils).
- Turning on / shaping an exporter so the metrics actually leave
the box, and confirming the downstream consumer receives them
end-to-end (not just "the daemon is running").
- Diagnosing a collector that starts but produces no schema rows,
or ships nothing downstream, or whose exporter endpoint is
silent — walking the layered ladder rather than guessing.
- Recognising when the user is actually asking about the
productized DTS container (route to public docs, Non-goal #7),
the reader library (route to
doca-telemetry), or the
publisher library (route to doca-telemetry-exporter) instead
of the collection mechanism this skill owns.
Do not load this skill for: the hardware-counter reader API
(use doca-telemetry); the
publisher API (use
doca-telemetry-exporter);
operating the productized DTS container (route via
doca-public-knowledge-map
Non-goal #7); installing DOCA or preparing the env (use
doca-setup); or any hardware-state
change (use
doca-hardware-safety).
What this skill provides
This is a thin loader. The substantive material lives in two
companion files:
CAPABILITIES.md — the collector deployment contract as a
class: the four-surface decomposition (clx collection
mechanism vs reader library vs publisher library vs productized
DTS), the collection pipeline shape (providers / counters →
schema → collector daemon → exporters), the export-backend
surface (Prometheus pull, Fluent Bit push, NetFlow, file /
IPC) at class level, the version overlay on
doca-version, the error taxonomy
(collector won't start → no provider rows → schema mismatch →
exporter silent → downstream skew → transport), the
observability surface, and the safety policy (gate provider
support before commit; collector is read-only against the
device; route any mutating step to
doca-hardware-safety; do
not invent clx names / paths).
TASKS.md — step-by-step workflows for the deployment verbs:
configure, build (routing stub), modify, run, test,
debug, plus a Deferred task verbs block that routes
out-of-scope questions (the two libraries, the productized DTS
container, env prep, hardware-state change) to their owners.
The skill assumes a host or BlueField where DOCA is already
installed and healthy (per
doca-setup ## test) and the
operator can run the collector and reach its exporter sinks. It
does not cover installing DOCA — that path goes through
doca-setup — and it does not cover
the reader / publisher library APIs or the productized DTS
container.
Loading order
- Read this
SKILL.md first to confirm the user's question is
in scope (operating a CollectX-based collector and its
exporters — NOT the reader / publisher library APIs, NOT the
productized DTS container).
- For the four-surface decomposition, the collection pipeline
shape, the export-backend class surface, the version overlay,
the error taxonomy, the observability surface, and the safety
policy, see CAPABILITIES.md.
- For step-by-step workflows —
configure, build (routing
stub), modify, run, test, debug, and the
Deferred task verbs block — see TASKS.md.
Both companion files cross-link to each other,
doca-version for the canonical
version-handling rules, and
doca-public-knowledge-map
whenever the right answer is "read the live config / public docs"
rather than collector-specific guidance.
Example questions this skill answers well
See references/details.md.
What this skill deliberately does not ship
See references/details.md.
Related skills
See references/details.md.
1---2name: doca-collectx-deployment3description: Use this skill to deploy and operate a CollectX (clx) based DOCA telemetry collector on a host or BlueField — wiring providers / counters into the collector, running the collection daemon, and shaping its exporters (Prometheus pull, Fluent Bit push, NetFlow, file / IPC) so the metrics actually leave the box. Trigger even when the user never says CollectX or clx — implicit phrasings: {collector emits nothing downstream}, {add a provider to the clx collector}, {turn on the Prometheus endpoint}, {ship counters to Fluent Bit from the DPU}, {daemon starts but no schema rows appear}. This skill owns the CollectX collection mechanism plus the operator's own doca-telemetry / doca-telemetry-exporter usage; it ROUTES the productized DOCA Telemetry Service (DTS) to public docs (AGENTS.md Non-goal #7), the reader API to doca-telemetry, and the publisher API to doca-telemetry-exporter. Refuse to invent clx symbols, provider names, schema fields, flags, or config paths — describe the class and route to the live source.4license: Apache-2.05---67# DOCA CollectX telemetry deployment89**Where to start:** This skill is the bundle's home for10*operating a CollectX (clx) based telemetry collector* — the11collection framework that gathers provider counters into a12schema and ships them out through one or more exporters. It is a13deployment / operation skill, parallel to14[`doca-bare-metal-deployment`](../doca-bare-metal-deployment/SKILL.md)15and [`doca-container-deployment`](../doca-container-deployment/SKILL.md):16it owns the *runtime shape* of a telemetry collector on the17operator's host or BlueField, not the library APIs the operator's18own program calls. If the user wants to stand up, wire, or debug19a collector and its exporters, open [`TASKS.md`](TASKS.md) and20start at [`## configure`](TASKS.md#configure). If the question is21*what surfaces does the collector even have and where is the22scope boundary*, start at [`CAPABILITIES.md`](CAPABILITIES.md).23If the user has not installed DOCA yet, route to24[`doca-setup`](../doca-setup/SKILL.md) first.2526## The scope boundary (read this before anything else)2728CollectX (clx) is NVIDIA's telemetry **collection** framework. It29underpins the **DOCA Telemetry Service (DTS)** — and DTS30*as-deployed* (the productized, NGC-shipped / kubelet-started31service container) is **out of scope** for this bundle per32[`AGENTS.md` Non-goal #7](../../AGENTS.md#non-goals-questions-the-agent-should-recognize-and-refuse-politely).33This skill therefore draws a hard line and the agent MUST state34it up front:3536- **In scope here:** the CollectX *collection mechanism* as a37 class (providers / counters → schema → collector daemon →38 exporters), and the operator deploying / running / debugging a39 collector that they own, plus the operator's own usage of the40 two in-bundle telemetry **libraries** when those feed or41 consume the collector.42- **Routed to the DOCA telemetry libraries:** the43 hardware-counter **reader** API is owned by44 [`doca-telemetry`](../libs/doca-telemetry/SKILL.md); the45 application-side **publisher** API (emit counters / events from46 a DOCA program) is owned by47 [`doca-telemetry-exporter`](../libs/doca-telemetry-exporter/SKILL.md).48 This skill does not re-document either API surface.49- **Routed to public docs (Non-goal #7):** the productized50 **DTS container** — its packaged config schema, its built-in51 provider set, its kubelet manifest, its NGC image — is52 externally productized. Route every "operate the DTS service"53 question to the54 [`doca-public-knowledge-map` externally-productized routing row](../doca-public-knowledge-map/SKILL.md#externally-productized-doca-software--not-in-this-bundle-but-here-is-where-to-route)55 and the public DTS guide it points at. The agent must NOT56 synthesize DTS config file names, provider knob names, or57 paths from memory.5859The load-bearing first-touch failure this skill exists to60prevent is **collapsing these four surfaces into "DOCA61telemetry"**: the clx collection mechanism, the `doca-telemetry`62reader library, the `doca-telemetry-exporter` publisher library,63and the productized DTS container are four different things with64four different owners. The agent surfaces the decomposition65BEFORE any config-level guidance.6667## Audience6869This skill serves **external operators standing up or running a70CollectX-based telemetry collector** on a host or BlueField they71administer — people who already have:7273- a DOCA install on the side they are collecting from (host x8674 or BlueField Arm), verified per75 [`doca-setup ## test`](../doca-setup/TASKS.md#test),76- a goal of *getting counters off the box* through a collector +77 exporter, not of writing the reader / publisher library code78 (that is the two `libs/` skills above), and79- access to the public DOCA Telemetry and DTS guides on80 `docs.nvidia.com` as the authoritative source for any concrete81 provider name, schema field, flag, or config path.8283It is **not** for:8485- developers writing the hardware-counter reader API (route to86 [`doca-telemetry`](../libs/doca-telemetry/SKILL.md)) or the87 publisher API (route to88 [`doca-telemetry-exporter`](../libs/doca-telemetry-exporter/SKILL.md)),89- operators deploying / configuring the **productized DTS90 container** as a turnkey service — that is externally91 productized (Non-goal #7); route to the public DTS guide,92- fresh-no-install users — those belong on93 [`doca-setup ## no-install`](../doca-setup/TASKS.md#no-install).9495The skill teaches the agent the *procedure and the scope96boundary*; it does not invent clx symbol names, provider names,97schema field names, exporter flag names, or config paths from98memory — those come from the live install and the public docs via99[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md).100101## When to load this skill102103Load this skill when the user is doing hands-on **deployment or104operation of a CollectX-based telemetry collector** and the105question is about the collector runtime shape, not a library API.106Concretely:107108- Standing up a collector that gathers provider counters into a109 schema and ships them out — and deciding which export backend110 (Prometheus pull, Fluent Bit push, NetFlow, file / IPC) fits111 the downstream consumer.112- Wiring a provider / counter family into the collector and113 confirming the device actually exposes it before the config114 commits (the gate-before-commit rule, shared with115 [`doca-telemetry-utils`](../tools/doca-telemetry-utils/SKILL.md)).116- Turning on / shaping an exporter so the metrics actually leave117 the box, and confirming the downstream consumer receives them118 end-to-end (not just "the daemon is running").119- Diagnosing a collector that starts but produces no schema rows,120 or ships nothing downstream, or whose exporter endpoint is121 silent — walking the layered ladder rather than guessing.122- Recognising when the user is actually asking about the123 productized DTS container (route to public docs, Non-goal #7),124 the reader library (route to `doca-telemetry`), or the125 publisher library (route to `doca-telemetry-exporter`) instead126 of the collection mechanism this skill owns.127128Do **not** load this skill for: the hardware-counter reader API129(use [`doca-telemetry`](../libs/doca-telemetry/SKILL.md)); the130publisher API (use131[`doca-telemetry-exporter`](../libs/doca-telemetry-exporter/SKILL.md));132operating the productized DTS container (route via133[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md)134Non-goal #7); installing DOCA or preparing the env (use135[`doca-setup`](../doca-setup/SKILL.md)); or any hardware-state136change (use137[`doca-hardware-safety`](../doca-hardware-safety/SKILL.md)).138139## What this skill provides140141This is a **thin loader**. The substantive material lives in two142companion files:143144- `CAPABILITIES.md` — the collector deployment contract as a145 class: the four-surface decomposition (clx collection146 mechanism vs reader library vs publisher library vs productized147 DTS), the collection pipeline shape (providers / counters →148 schema → collector daemon → exporters), the export-backend149 surface (Prometheus pull, Fluent Bit push, NetFlow, file /150 IPC) at class level, the version overlay on151 [`doca-version`](../doca-version/SKILL.md), the error taxonomy152 (collector won't start → no provider rows → schema mismatch →153 exporter silent → downstream skew → transport), the154 observability surface, and the safety policy (gate provider155 support before commit; collector is read-only against the156 device; route any mutating step to157 [`doca-hardware-safety`](../doca-hardware-safety/SKILL.md); do158 not invent clx names / paths).159- `TASKS.md` — step-by-step workflows for the deployment verbs:160 `configure`, `build` (routing stub), `modify`, `run`, `test`,161 `debug`, plus a `Deferred task verbs` block that routes162 out-of-scope questions (the two libraries, the productized DTS163 container, env prep, hardware-state change) to their owners.164165The skill assumes a host or BlueField where DOCA is already166installed and healthy (per167[`doca-setup ## test`](../doca-setup/TASKS.md#test)) and the168operator can run the collector and reach its exporter sinks. It169does not cover installing DOCA — that path goes through170[`doca-setup`](../doca-setup/SKILL.md) — and it does not cover171the reader / publisher library APIs or the productized DTS172container.173174## Loading order1751761. Read this `SKILL.md` first to confirm the user's question is177 in scope (operating a CollectX-based collector and its178 exporters — NOT the reader / publisher library APIs, NOT the179 productized DTS container).1802. **For the four-surface decomposition, the collection pipeline181 shape, the export-backend class surface, the version overlay,182 the error taxonomy, the observability surface, and the safety183 policy, see [CAPABILITIES.md](CAPABILITIES.md).**1843. **For step-by-step workflows — `configure`, `build` (routing185 stub), `modify`, `run`, `test`, `debug`, and the186 `Deferred task verbs` block — see [TASKS.md](TASKS.md).**187188Both companion files cross-link to each other,189[`doca-version`](../doca-version/SKILL.md) for the canonical190version-handling rules, and191[`doca-public-knowledge-map`](../doca-public-knowledge-map/SKILL.md)192whenever the right answer is "read the live config / public docs"193rather than collector-specific guidance.194195## Example questions this skill answers well196197See [`references/details.md`](references/details.md#example-questions-this-skill-answers-well).198## What this skill deliberately does not ship199200See [`references/details.md`](references/details.md#what-this-skill-deliberately-does-not-ship).201## Related skills202203See [`references/details.md`](references/details.md#related-skills).