AIX OpenTelemetry
AIX OpenTelemetry 接收标准 OTLP HTTP/gRPC 数据,可接收 traces、metrics 和 logs。
配置¶
默认关闭 OpenTelemetry:
[otel]
# 是否启用 OpenTelemetry 接收端。
enabled = false
# 并发和单请求转换点数保护。
max_concurrent_requests = 8
max_points_per_request = 50000
[otel.tags]
# 仅追加到 OpenTelemetry 接收数据。
# app_env = "prod"
[otel.self_monitor]
# 是否上报 OpenTelemetry 接收端自身指标。
enabled = true
interval = "30s"
[otel.http]
# 是否启用 OTLP HTTP 接收端。
enabled = false
addr = "127.0.0.1:4318"
# 自定义 OTLP HTTP 路径,同时也支持标准 /v1/traces、/v1/metrics、/v1/logs。
trace_path = "/otel/v1/traces"
metric_path = "/otel/v1/metrics"
log_path = "/otel/v1/logs"
# HTTP 请求体最大字节数。
max_body_size = 16777216
read_timeout = "10s"
write_timeout = "30s"
[otel.grpc]
# 是否启用 OTLP gRPC 接收端。
enabled = false
addr = "127.0.0.1:4317"
# gRPC payload 最大字节数。
max_payload = 16777216
HTTP 同时支持配置的 /otel/v1/* 路径和标准 OTLP HTTP 路径 /v1/traces、/v1/metrics、/v1/logs。
接入地址¶
| 类型 | 地址 |
|---|---|
| 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 默认监听 127.0.0.1:4318,gRPC 默认监听 127.0.0.1:4317。如果需要远程接入,可将监听地址改为 0.0.0.0,并确认网络策略已放行对应端口。
指标、对象和日志¶
OpenTelemetry 接收后会按数据类型写入对应 DataWay 分类:
| OpenTelemetry 类型 | DataWay 分类 | 说明 |
|---|---|---|
| traces | /v1/write/tracing |
measurement 为 opentelemetry。 |
| metrics | /v1/write/metric |
measurement 为 otel_service。 |
| logs | /v1/write/logging |
measurement 使用 log.source、service.name 或默认日志来源。 |
trace 会写入 opentelemetry,常见字段包括 trace_id、span_id、parent_id、resource、duration 和 message,常见标签包括 service、status、span_kind、span_type 和 source_type。
metrics 会写入 otel_service,metric name 会作为字段名,resource、scope 和 datapoint attributes 会转换为标签,属性名中的 . 会转换为 _。
logs 的来源优先级为 log.source、service.name、默认来源 otel_logs。日志正文写入 message 字段,trace_id 和 span_id 会作为字段保留。
自身指标¶
datakitaix_otel_receiver¶
启用 OpenTelemetry 后,可通过 [otel.self_monitor] 控制是否上报接收端自身指标及上报间隔。
| Tags & Fields | Description |
|---|---|
| host ( tag) |
主机名。 |
| receiver ( tag) |
固定为 otel。 |
| requests | 已处理请求数。 Type: int | (count) Unit: count |
| points | 已转换点数。 Type: int | (count) Unit: count |
| parse_errors | 解析错误数。 Type: int | (count) Unit: count |
| upload_errors | 上传错误数。 Type: int | (count) Unit: count |
| spool_success | 写入 spool 成功次数。 Type: int | (count) Unit: count |
| spool_errors | 写入 spool 失败次数。 Type: int | (count) Unit: count |
| rejected_requests | 被限流或因大小限制拒绝的请求数。 Type: int | (count) Unit: count |