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 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 Name | Description | Configuration File | Data Source |
---|---|---|---|
istio-controlplane | Metrics of Istio Control Plane | otel-rules/istio-controlplane.yaml | Istio Control Plane -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
oap | Metrics of SkyWalking OAP server itself | otel-rules/oap.yaml | SkyWalking OAP Server(SelfObservability) -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
vm | Metrics of VMs | otel-rules/vm.yaml | Prometheus node-exporter(VMs) -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
k8s-cluster | Metrics of K8s cluster | otel-rules/k8s-cluster.yaml | K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
k8s-node | Metrics of K8s cluster | otel-rules/k8s-node.yaml | cAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
k8s-service | Metrics of K8s cluster | otel-rules/k8s-service.yaml | cAdvisor & K8s kube-state-metrics -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
mysql | Metrics of MYSQL | otel-rules/mysql.yaml | prometheus/mysqld_exporter -> OpenTelemetry Collector – OC/OTLP exporter –> SkyWalking OAP Server |
postgresql | Metrics of PostgreSQL | otel-rules/postgresql.yaml | postgres_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.