Polish so11y doc and add dashboard doc for so11y (#9549)

This commit is contained in:
kezhenxu94 2022-09-01 16:55:43 +08:00 committed by GitHub
parent fefe90be37
commit 097a9e8706
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 93 additions and 4 deletions

View File

@ -0,0 +1,31 @@
# Satellite self observability dashboard
SkyWalking Satellite collects and exports metrics in Prometheus format and SkyWalking metrics service protobuffer format for consuming,
it also provides a dashboard to visualize the Satellite metrics.
## Data flow
1. SkyWalking Satellite collects metrics data internally and pushes the metrics to SkyWalking OAP.
2. The SkyWalking OAP Server parses the expression with [MAL](../../concepts-and-designs/mal.md) to filter/calculate/aggregate and store the results.
## Set up
1. Set up [SkyWalking Satellite Telemetry Exporter](https://github.com/apache/skywalking-satellite/blob/1987e1d566ac90f6b58a45fd9bfa27bf8faad635/docs/en/setup/examples/feature/telemetry-exporter/README.md).
2. Config SkyWalking [OpenTelemetry receiver](opentelemetry-receiver.md).
## 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
| Monitoring Panel | Unit | Metric Name | Description | Data Source |
|-----|------|-----|-----|-----|
| | Count | satellite_service_grpc_connect_count | Connection Count | SkyWalking Satellite |
| | Percentage | satellite_service_server_cpu_utilization | CPU (%) | SkyWalking Satellite |
| | Count | satellite_service_queue_used_count | The used count of queue of pipeline | SkyWalking Satellite |
| | Count | satellite_service_receive_event_count | Receive count of event from downstream | SkyWalking Satellite |
| | Count | satellite_service_fetch_event_count | Fetch count of event from downstream | SkyWalking Satellite |
| | Count | satellite_service_queue_input_count | The event count of push to the queue | SkyWalking Satellite |
| | Count | satellite_service_send_event_count | The event count of push data to the upstream | SkyWalking Satellite |
## Customizations
You can customize your own metrics/expression/dashboard panel.
The self observability dashboard panel configurations are found in `/config/ui-initialized-templates/so11y_satellite/so11y-root.json`.

View File

@ -0,0 +1,54 @@
# 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](../../concepts-and-designs/mal.md) to filter/calculate/aggregate and store the results.
## Set up
1. Set up [SkyWalking Self Observability](../backend/backend-telemetry.md).
2. (Optional) Set up [OpenTelemetry Collector ](https://opentelemetry.io/docs/collector/getting-started/#docker)..
3. Config SkyWalking [OpenTelemetry receiver](opentelemetry-receiver.md).
## 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
| Monitoring Panel | Unit | Metric Name | Description | Data Source |
|-----|------|-----|-----|-----|
| | Count Per Minute | meter_oap_instance_jvm_gc_count | GC Count | oap self observability |
| | MB | meter_oap_instance_jvm_memory_bytes_used | Memory | oap self observability |
| | ms / min | meter_oap_instance_jvm_young_gc_time | GC Time (ms / min) | oap self observability |
| | ms / min | meter_oap_instance_jvm_old_gc_time | GC Time (ms / min) | oap self observability |
| | Count Per Minute | meter_oap_instance_mesh_count | Mesh Analysis Count (Per Minute) | oap self observability |
| | Count Per Minute | meter_oap_instance_mesh_analysis_error_count | Mesh Analysis Count (Per Minute) | oap self observability |
| | ms | meter_oap_instance_trace_latency_percentile | Trace Analysis Latency (ms) | oap self observability |
| | Count | meter_oap_jvm_class_loaded_count | Class Count | oap self observability |
| | Count | meter_oap_jvm_class_total_unloaded_count | Class Count | oap self observability |
| | Count | meter_oap_jvm_class_total_loaded_count | Class Count | oap self observability |
| | Count | meter_oap_instance_persistence_prepare_count | Persistence Count (Per 5 Minutes) | oap self observability |
| | Count | meter_oap_instance_persistence_execute_count | Persistence Count (Per 5 Minutes) | oap self observability |
| | Count | meter_oap_jvm_thread_live_count | Thread Count | oap self observability |
| | Count | meter_oap_jvm_thread_peak_count | Thread Count | oap self observability |
| | Count | meter_oap_jvm_thread_daemon_count | Thread Count | oap self observability |
| | ms | meter_oap_instance_persistence_execute_percentile | Persistence Execution Latency Per Metric Type (ms) | oap self observability |
| | ms | meter_oap_instance_persistence_prepare_percentile | Persistence Preparing Latency Per Metric Type (ms) | oap self observability |
| | Count | meter_oap_jvm_thread_runnable_count | Thread State Count | oap self observability |
| | Count | meter_oap_jvm_thread_timed_waiting_count | Thread State Count | oap self observability |
| | Count | meter_oap_jvm_thread_blocked_count | Thread State Count | oap self observability |
| | Count | meter_oap_jvm_thread_waiting_count | Thread State Count | oap self observability |
| | Count per minute | meter_oap_instance_metrics_aggregation | Aggregation (Per Minute) | oap self observability |
| | ms | meter_oap_instance_mesh_latency_percentile | Mesh Analysis Latency (ms) | oap self observability |
| | Count per minute | meter_oap_instance_trace_count | Trace Analysis Count (Per Minute) | oap self observability |
| | Count per minute | meter_oap_instance_trace_analysis_error_count | Trace Analysis Count (Per Minute) | oap self observability |
| | Percentage | meter_oap_instance_cpu_percentage | CPU (%) | oap 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`.

View File

@ -101,6 +101,10 @@ catalog:
path: "/en/setup/backend/grpc-security"
- name: "Setup Native Load Balancer"
path: "/en/setup/backend/backend-load-balancer"
- name: "OAP Self Observability Telemetry"
path: "/en/setup/backend/backend-telemetry"
- name: "OAP Health Check"
path: "/en/setup/backend/backend-health-check"
- name: "Tracing"
catalog:
- name: "Trace Sampling"
@ -185,10 +189,10 @@ catalog:
path: "/en/setup/backend/backend-postgresql-monitoring"
- name: "Self Observability"
catalog:
- name: "OAP Telemetry"
path: "/en/setup/backend/backend-telemetry"
- name: "Health Check"
path: "/en/setup/backend/backend-health-check"
- name: "OAP self telemetry"
path: "/en/setup/backend/dashboards-so11y"
- name: "Satellite self telemetry"
path: "/en/setup/backend/dashboards-so11y-satellite"
- name: "CLI Setup"
path: "https://github.com/apache/skywalking-cli"
- name: "Mock Data Generator Setup"