Skip to content

AIX OpenTelemetry

AIX OpenTelemetry receives standard OTLP HTTP/gRPC data, including traces, metrics, and logs.

Configuration

OpenTelemetry is disabled by default:

[otel]
# Whether to enable the OpenTelemetry receiver.
enabled = false
# Concurrency and per-request converted-point limits.
max_concurrent_requests = 8
max_points_per_request = 50000

[otel.tags]
# Appended only to data received by OpenTelemetry.
# app_env = "prod"

[otel.self_monitor]
# Whether to report OpenTelemetry receiver self metrics.
enabled = true
interval = "30s"

[otel.http]
# Whether to enable the OTLP HTTP receiver.
enabled = false
addr = "127.0.0.1:4318"
# Custom OTLP HTTP paths. Standard /v1/traces, /v1/metrics, and /v1/logs are also supported.
trace_path = "/otel/v1/traces"
metric_path = "/otel/v1/metrics"
log_path = "/otel/v1/logs"
# Maximum HTTP request body size in bytes.
max_body_size = 16777216
read_timeout = "10s"
write_timeout = "30s"

[otel.grpc]
# Whether to enable the OTLP gRPC receiver.
enabled = false
addr = "127.0.0.1:4317"
# Maximum gRPC payload size in bytes.
max_payload = 16777216

HTTP supports both the configured /otel/v1/* paths and the standard OTLP HTTP paths /v1/traces, /v1/metrics, and /v1/logs.

Endpoints

Type Address
HTTP traces http://<host>:4318/v1/traces
HTTP metrics http://<host>:4318/v1/metrics
HTTP logs http://<host>:4318/v1/logs
gRPC <host>:4317

HTTP listens on 127.0.0.1:4318 by default, and gRPC listens on 127.0.0.1:4317 by default. For remote access, change the listen address to 0.0.0.0 and make sure the corresponding ports are allowed by network policy.

Metrics, Objects, and Logs

After receiving OpenTelemetry data, DataKit writes each data type to the corresponding DataWay category:

OpenTelemetry Type DataWay Category Description
traces /v1/write/tracing The measurement is opentelemetry.
metrics /v1/write/metric The measurement is otel_service.
logs /v1/write/logging The measurement uses log.source, service.name, or the default log source.

Traces are written to opentelemetry. Common fields include trace_id, span_id, parent_id, resource, duration, and message; common tags include service, status, span_kind, span_type, and source_type.

metrics are written to otel_service. The metric name is used as the field name; resource, scope, and datapoint attributes are converted to tags, and . in attribute names is converted to _.

Log source precedence is log.source, service.name, then the default source otel_logs. The log body is written to the message field, and trace_id and span_id are preserved as fields.

Self Metrics

datakitaix_otel_receiver

After enabling OpenTelemetry, [otel.self_monitor] controls whether receiver self metrics are reported and the reporting interval.

Tags & Fields Description
host
(tag)
Hostname.
receiver
(tag)
Fixed to otel.
requests Number of processed requests.
Type: int | (count)
Unit: count
points Number of converted points.
Type: int | (count)
Unit: count
parse_errors Number of parse errors.
Type: int | (count)
Unit: count
upload_errors Number of upload errors.
Type: int | (count)
Unit: count
spool_success Number of successful spool writes.
Type: int | (count)
Unit: count
spool_errors Number of spool write failures.
Type: int | (count)
Unit: count
rejected_requests Number of requests rejected by rate limiting or size limits.
Type: int | (count)
Unit: count

Feedback

Is this page helpful? ×