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:

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 prometheus-fetcher. 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.

Rule NameDescriptionConfiguration FileData Source
istio-controlplaneMetrics of Istio Control Planeotel-rules/istio-controlplane.yamlIstio Control Plane -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
oapMetrics of SkyWalking OAP server itselfotel-rules/oap.yamlSkyWalking OAP Server(SelfObservability) -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
vmMetrics of VMsotel-rules/vm.yamlPrometheus node-exporter(VMs) -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
k8s-clusterMetrics of K8s clusterotel-rules/k8s-cluster.yamlK8s kube-state-metrics -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
k8s-nodeMetrics of K8s clusterotel-rules/k8s-node.yamlcAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
k8s-serviceMetrics of K8s clusterotel-rules/k8s-service.yamlcAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
mysqlMetrics of MYSQLotel-rules/mysql.yamlprometheus/mysqld_exporter -> OpenTelemetry Collector -- OC/OTLP exporter --> SkyWalking OAP Server
postgresqlMetrics of PostgreSQLotel-rules/postgresql.yamlpostgres_exporter -> 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.