Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/en/api/metrics-query-expression.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
19 changes: 12 additions & 7 deletions docs/en/setup/ai-pipeline/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
22 changes: 22 additions & 0 deletions docs/en/setup/ai-pipeline/metrics-baseline-integration.md
Original file line number Diff line number Diff line change
@@ -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).
3 changes: 3 additions & 0 deletions docs/en/setup/backend/backend-alarm.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down
2 changes: 2 additions & 0 deletions docs/menu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Loading