Mapping OpenTelemetry Semantic Conventions to Infrastructure List Host Information
This feature is in beta. If you have any feedback, contact
Datadog support.
Overview
The Datadog exporter supports sending system information about your hosts to Datadog, which you can see in the Infrastructure List. You can send this information in OTLP through the ‘Resource’ field as part of any of the existing signals. This is supported under any deployment pattern including gateway deploys.
Datadog uses OpenTelemetry semantic conventions to recognize system information about your hosts. Follow the instructions for setting up for host metrics to send the necessary metrics and resource attributes to Datadog. Alternatively, you can manually send this information in the way that best fits your infrastructure.
Opting in to the feature
To opt into the public beta, set the datadog.host.use_as_metadata
resource attribute to true
in all OTLP payloads that contain information about hosts.
Resources populate the infrastructure list information if they have a host-identifying attribute and the datadog.host.use_as_metadata
attribute set to true
.
To explicitly declare what resources to use for metadata, add the Boolean resource attribute datadog.host.use_as_metadata
to all resources that have relevant host information.
For example, to set this for all resources in metrics, traces, and logs, use the transform processor with the following configuration:
processors:
transform:
metric_statements:
- context: resource
statements:
- set(attributes["datadog.host.use_as_metadata"], true)
trace_statements:
- context: resource
statements:
- set(attributes["datadog.host.use_as_metadata"], true)
log_statements:
- context: resource
statements:
- set(attributes["datadog.host.use_as_metadata"], true)
Add this processor to the processors
list of all your pipelines.
You must explicitly tag all your resources with a host-identifying attribute. This is done by default by the recommended setup for host metrics.
Supported conventions
The Datadog exporter supports both resource attribute-level semantic conventions and system metrics-level semantic conventions. Supported resource attribute semantic conventions are mainly under the host.
namespace and the os.
namespace. All supported system metrics-level semantic conventions are under the system.
namespace.
General system conventions
CPU conventions
Semantic convention | Type | In-app field |
---|
host.cpu.vendor.id | Resource attribute | Vendor ID |
host.cpu.model.name | Resource attribute | Model Name |
host.cpu.cache.l2.size | Resource attribute | Cache Size |
host.cpu.family | Resource attribute | Family |
host.cpu.model.id | Resource attribute | Model |
host.cpu.stepping | Resource attribute | Stepping |
system.cpu.logical.count | System metric | Logical Processors |
system.cpu.physical.count | System metric | Cores |
system.cpu.frequency | System metric | MHz |
Network conventions
Semantic convention | Type | In-app field |
---|
host.ip | Resource attribute | IP Address & IPv6 Address |
host.mac | Resource attribute | Mac Address |
Collecting these conventions with the OpenTelemetry Collector
To collect these conventions with the OpenTelemetry Collector, set up the recommended setup for host metrics. The host metrics receiver collects all the relevant metrics, while the resource detection processor collects all relevant resource attributes.
Note: You need to add these processors and receivers in the Collector running on the host that you want to monitor. A gateway host does not collect this information from remote hosts.
Further reading
Additional helpful documentation, links, and articles: