OAP self observability dashboard

SkyWalking itself collects and exports metrics in Prometheus format for consuming, it also provides a dashboard to visualize the self-observability metrics.

Data flow

  1. SkyWalking OAP collects metrics data internally and exposes a Prometheus http endpoint to retrieve the metrics.
  2. SkyWalking OAP itself (or OpenTelemetry Collector, prefered in Kubernetes scenarios) fetches metrics from the Prometheus endpoint in step (1).
  3. OAP (or OpenTelemetry Collector) pushes metrics to SkyWalking OAP Server via the OpenCensus gRPC Exporter or OpenTelemetry gRPC exporter.
  4. The SkyWalking OAP Server parses the expression with MAL to filter/calculate/aggregate and store the results.

Set up

Follow OAP Self Observability Telemetry doc to set up OAP and OpenTelemetry Collector.

Self observability monitoring

Self observability monitoring provides monitoring of the status and resources of the OAP server itself. oap-server is a Service in OAP, and land on the Layer: SO11Y_OAP.

Self observability metrics

UnitMetric NameDescriptionData Source
Count Per Minutemeter_oap_instance_jvm_gc_countGC Countoap self observability
MBmeter_oap_instance_jvm_memory_bytes_usedMemoryoap self observability
ms / minmeter_oap_instance_jvm_young_gc_timeGC Time (ms / min)oap self observability
ms / minmeter_oap_instance_jvm_old_gc_timeGC Time (ms / min)oap self observability
Count Per Minutemeter_oap_instance_mesh_countMesh Analysis Count (Per Minute)oap self observability
Count Per Minutemeter_oap_instance_mesh_analysis_error_countMesh Analysis Count (Per Minute)oap self observability
msmeter_oap_instance_trace_latency_percentileTrace Analysis Latency (ms)oap self observability
Countmeter_oap_jvm_class_loaded_countClass Countoap self observability
Countmeter_oap_jvm_class_total_unloaded_countClass Countoap self observability
Countmeter_oap_jvm_class_total_loaded_countClass Countoap self observability
Countmeter_oap_instance_persistence_prepare_countPersistence Count (Per 5 Minutes)oap self observability
Countmeter_oap_instance_persistence_execute_countPersistence Count (Per 5 Minutes)oap self observability
Countmeter_oap_jvm_thread_live_countThread Countoap self observability
Countmeter_oap_jvm_thread_peak_countThread Countoap self observability
Countmeter_oap_jvm_thread_daemon_countThread Countoap self observability
msmeter_oap_instance_persistence_execute_percentilePersistence Execution Latency Per Metric Type (ms)oap self observability
msmeter_oap_instance_persistence_prepare_percentilePersistence Preparing Latency Per Metric Type (ms)oap self observability
Countmeter_oap_jvm_thread_runnable_countThread State Countoap self observability
Countmeter_oap_jvm_thread_timed_waiting_countThread State Countoap self observability
Countmeter_oap_jvm_thread_blocked_countThread State Countoap self observability
Countmeter_oap_jvm_thread_waiting_countThread State Countoap self observability
Count per minutemeter_oap_instance_metrics_aggregationAggregation (Per Minute)oap self observability
msmeter_oap_instance_mesh_latency_percentileMesh Analysis Latency (ms)oap self observability
Count per minutemeter_oap_instance_trace_countTrace Analysis Count (Per Minute)oap self observability
Count per minutemeter_oap_instance_trace_analysis_error_countTrace Analysis Count (Per Minute)oap self observability
Percentagemeter_oap_instance_cpu_percentageCPU (%)oap self observability
Countmeter_oap_instance_metrics_persistent_cachecount of metrics cache hit and no-hitoap self observability

Customizations

You can customize your own metrics/expression/dashboard panel. The metrics definition and expression rules are found in /config/fetcher-prom-rules/self.yaml and config/otel-rules/oap.yaml. The self observability dashboard panel configurations are found in /config/ui-initialized-templates/so11y_oap.