Add baseline doc and point to SkyPredictor project (#13040)

This commit is contained in:
吴晟 Wu Sheng 2025-02-18 21:31:47 +08:00 committed by GitHub
parent 7785c4164b
commit 530a00f2ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 40 additions and 8 deletions

View File

@ -511,7 +511,7 @@ baseline(service_resp_time, upper)
```
**Notice**:
- This feature is required to enable the `baseline module` and deploy a baseline service. And the baseline service should implement the protocol of the [baseline.proto](../../../oap-server/ai-pipeline/src/main/proto/baseline.proto).
- This feature is required to enable the [Metrics Baseline Calculation](../setup/ai-pipeline/metrics-baseline-integration.md) and deploy a remote service.
Otherwise, the result will be empty.
- The baseline operation requires the relative metrics declared through baseline service.
Otherwise, the result will be empty, which means there is no baseline or predicated value.

View File

@ -2,23 +2,28 @@
**Warning, this module is still in the ALPHA stage. This is not stable.**
Pattern Recognition, Machine Learning(ML) and Artificial Intelligence(AI) are common technology to identify patterns in data.
This module provides a way to integrate these technologies in a standardized way about shipping the data from OAP kernel
to 3rd party.
From the industry practice, Pattern Recognition, Machine Learning(ML) and Artificial Intelligence(AI) are always overestimated,
Pattern Recognition, Machine Learning(ML) and Artificial Intelligence(AI) are common technology to identify patterns in data.
From the industry practice, these three are always overestimated for the marketing interests,
they are good at many things but have to run in a clear context.
Hence, SkyWalking OAP AI pipeline features are designed for very specific solutions and scenarios with at
least one recommended (remote) implementations for the integration。
The ai-pipeline module is activated by default.
The ai-pipeline module is activated by default for the latest release. Make sure you have these configurations when upgrade
from a previous version.
```yaml
ai-pipeline:
selector: ${SW_AI_PIPELINE:default}
default:
# HTTP Restful URI recognition service address configurations
uriRecognitionServerAddr: ${SW_AI_PIPELINE_URI_RECOGNITION_SERVER_ADDR:}
uriRecognitionServerPort: ${SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT:17128}
# Metrics Baseline Calculation service address configurations
baselineServerAddr: ${SW_API_PIPELINE_BASELINE_SERVICE_HOST:}
baselineServerPort: ${SW_API_PIPELINE_BASELINE_SERVICE_PORT:18080}
```
## Supported Scenarios
We supported the following AI features:
* [**HTTP Restful URI recognition**](./http-restful-uri-pattern.md).
* [**Metrics Baseline Calculation and Alerting**](./metrics-baseline-integration.md).

View File

@ -0,0 +1,22 @@
# Metrics Baseline Calculation and Alerting
Metrics baseline calculation and alerting is a feature that calculates the baseline of metrics data and feed for the
alarm engine as additional metrics to setup rules for alerting.
[Alarm docs](../backend/backend-alarm.md#use-the-baseline-predicted-value-to-trigger-the-alarm) has more details about
how to use the baseline, and further about MQE usages of the baseline values.
SkyAPM community provides a default implementation [SkyAPM/SkyPredictor](https://github.com/SkyAPM/SkyPredictor).
It has complete support for the baseline calculation by following SkyWalking's metrics data model through GraphQL, and
feed baseline data back to the OAP server through the following gRPC service per SkyWalking requirement..
```protobuf
service AlarmBaselineService {
// Query the supported metrics names.
rpc querySupportedMetricsNames(google.protobuf.Empty) returns (AlarmBaselineMetricsNames);
// Query the predicted metrics of the given service.
rpc queryPredictedMetrics(AlarmBaselineRequest) returns (AlarmBaselineResponse);
}
```
You could find the protocol definition
in [AlarmBaseline.proto](../../../../oap-server/ai-pipeline/src/main/proto/baseline.proto).

View File

@ -140,6 +140,9 @@ rules:
message: Service {name} response time is higher than the baseline predicted value in 3 minutes of last 10 minutes.
```
Note, the baseline predicted value is calculated based on the historical data of the same time window in the past, which
is through [AI powered baseline calculation](../ai-pipeline/metrics-baseline-integration.md).
## Hooks
Hooks are a way to send alarm messages to the outside world. SkyWalking supports multiple hooks of the same type, each hook can support different configurations.
For example, you can configure two Slack hooks, one named `default` and set `is-default: true` means this hook will apply on all `Alarm Rules` **without config** `hooks`.

View File

@ -276,6 +276,8 @@ catalog:
path: "/en/setup/ai-pipeline/introduction"
- name: "HTTP Restful URI recognition"
path: "/en/setup/ai-pipeline/http-restful-uri-pattern"
- name: "Metrics Baseline Calculation and Alerting"
path: "/en/setup/ai-pipeline/metrics-baseline-integration"
- name: "UI Setup"
catalog:
- name: "Native UI"