OpenTelemetry receiver
The OpenTelemetry receiver supports ingesting agent metrics by meter-system. The OAP can load the configuration at bootstrap.
If the new configuration is not well-formed, the OAP may fail to start up. The files are located at $CLASSPATH/otel-rules.
Supported handlers:
oc: OpenCensus gRPC service handler.otlp: OpenTelemetry gRPC service handler.
Notice: Set SW_OTEL_RECEIVER=default through system environment or change receiver-otel/selector=${SW_OTEL_RECEIVER:default} to activate the OpenTelemetry receiver.
The rule file should be in YAML format, defined by the scheme described in MAL.
Note: receiver-otel only supports the group, defaultMetricLevel, and metricsRules nodes of the scheme due to its push mode.
To activate the oc handler and relevant rules of istio:
receiver-otel:
// Change selector value to default, for activating the otel receiver.
selector: ${SW_OTEL_RECEIVER:default}
default:
enabledHandlers: ${SW_OTEL_RECEIVER_ENABLED_HANDLERS:"oc,otlp"}
enabledOtelRules: ${SW_OTEL_RECEIVER_ENABLED_OTEL_RULES:"istio-controlplane"}
The receiver adds label with key node_identifier_host_name to the collected data samples,
and its value is from Node.identifier.host_name defined in OpenCensus Agent Proto,
or net.host.name (or host.name for some OTLP versions) resource attributes defined in OpenTelemetry proto,
for identification of the metric data.
| Description | Configuration File | Data Source |
|---|---|---|
| Metrics of Istio Control Plane | otel-rules/istio-controlplane.yaml | Istio Control Plane -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of SkyWalking OAP server itself | otel-rules/oap.yaml | SkyWalking OAP Server(SelfObservability) -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of VMs | otel-rules/vm.yaml | Prometheus node-exporter(VMs) -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of K8s cluster | otel-rules/k8s-cluster.yaml | K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of K8s cluster | otel-rules/k8s-node.yaml | cAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of K8s cluster | otel-rules/k8s-service.yaml | cAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of MYSQL | otel-rules/mysql.yaml | prometheus/mysqld_exporter -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of PostgreSQL | otel-rules/postgresql.yaml | postgres_exporter -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
| Metrics of Apache APISIX | otel-rules/apisix.yaml | apisix prometheus plugin -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
Note: You can also use OpenTelemetry exporter to transport the metrics to SkyWalking OAP directly. See OpenTelemetry Exporter.