This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch feature/swip-10-envoy-ai-gateway in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 562808ed9d9ec054a49cec1f664ead468fa52757 Author: Wu Sheng <[email protected]> AuthorDate: Tue Mar 31 15:27:16 2026 +0800 Update docs: OTel receiver label conversion, LAL OTLP mapping, marketplace GenAI - OTel receiver doc: update label conversion rules (dots to underscores now applies to both resource and data point attributes), document fallback label mappings - LAL doc: add OTLP log attribute mapping section (service.name, service.instance.id, service.layer) - Marketplace: add GenAI category with Virtual GenAI and Envoy AI Gateway --- docs/en/concepts-and-designs/lal.md | 13 +++++++++++++ docs/en/setup/backend/marketplace.md | 1 + docs/en/setup/backend/opentelemetry-receiver.md | 14 +++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/docs/en/concepts-and-designs/lal.md b/docs/en/concepts-and-designs/lal.md index 974f29dee4..db86bd8365 100644 --- a/docs/en/concepts-and-designs/lal.md +++ b/docs/en/concepts-and-designs/lal.md @@ -8,6 +8,19 @@ The LAL config files are in YAML format, and are located under directory `lal`. set `log-analyzer/default/lalFiles` in the `application.yml` file or set environment variable `SW_LOG_LAL_FILES` to activate specific LAL config files. +## OTLP log attribute mapping + +When logs arrive via the OTLP receiver, resource attributes are mapped to `LogData` fields: + +| Resource attribute | LogData field | Notes | +|---|---|---| +| `service.name` | `service` | SkyWalking service name | +| `service.instance.id` | `serviceInstance` | OTel standard ([spec](https://opentelemetry.io/docs/specs/semconv/resource/#service)). Falls back to `service.instance` for backward compatibility. | +| `service.layer` | `layer` | Routes to the LAL rule with matching `layer` declaration | + +Log record attributes are available via `tag("attribute_name")` in LAL rules. Attribute keys +retain their original names (dots are NOT converted to underscores in log attributes). + ## Layer Layer should be declared in the LAL script to represent the analysis scope of the logs. diff --git a/docs/en/setup/backend/marketplace.md b/docs/en/setup/backend/marketplace.md index 874ff29b81..a1d0b1ab65 100644 --- a/docs/en/setup/backend/marketplace.md +++ b/docs/en/setup/backend/marketplace.md @@ -12,6 +12,7 @@ SkyWalking provides ready-to-use monitoring capabilities for a wide range of tec - **Infrastructure** - Linux and Windows server monitoring - **Cloud Services** - AWS EKS, S3, DynamoDB, API Gateway, and more - **Gateways** - Nginx, APISIX, Kong monitoring +- **GenAI** - [Virtual GenAI](../service-agent/virtual-genai.md) for agent-based LLM call monitoring, [Envoy AI Gateway](backend-envoy-ai-gateway-monitoring.md) for infrastructure-side AI traffic observability - **Databases** - MySQL, PostgreSQL, Redis, Elasticsearch, MongoDB, ClickHouse, and more - **Message Queues** - Kafka, RabbitMQ, Pulsar, RocketMQ, ActiveMQ - **Browser** - Real user monitoring for web applications diff --git a/docs/en/setup/backend/opentelemetry-receiver.md b/docs/en/setup/backend/opentelemetry-receiver.md index e17e309b87..d39e89b119 100644 --- a/docs/en/setup/backend/opentelemetry-receiver.md +++ b/docs/en/setup/backend/opentelemetry-receiver.md @@ -26,7 +26,19 @@ The receiver adds label with key `node_identifier_host_name` to the collected da and its value is from `net.host.name` (or `host.name` for some OTLP versions) resource attributes defined in OpenTelemetry proto, for identification of the metric data. -**Notice:** In the resource scope, dots (.) in the attributes' key names are converted to underscores (_), whereas in the metrics scope, they are not converted. +**Label name conversion:** Dots (`.`) in attribute key names are converted to underscores (`_`) for both +resource attributes and data point (metric-level) attributes. For example, `gen_ai.token.type` becomes +`gen_ai_token_type` in MAL rules. Metric names also undergo the same conversion (e.g., +`gen_ai.client.token.usage` becomes `gen_ai_client_token_usage`). + +**Fallback label mappings:** The following resource attributes are copied to alternative label names +if the target does not already exist: + +| Source | Target | Notes | +|---|---|---| +| `job` | `job_name` | Prometheus scrape job name | +| `net.host.name` | `node_identifier_host_name` | Host identification | +| `host.name` | `node_identifier_host_name` | Host identification | | Description | Configuration File | Data Source | |-----------------------------------------|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
