> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skywalking Alert Events

> Sync Skywalking alert events to Flashduty via webhook for automated alert noise reduction

Sync Skywalking alert events to Flashduty via webhook for automated alert noise reduction.

<div class="hide">
  ## In Flashduty

  ***

  You can obtain an integration push URL through either of these two methods:

  ### Using Private Integration

  Choose this method when you don't need to route alert events to different channels. It's simpler and recommended.

  <details>
    <summary>Expand</summary>

    1. Go to the Flashduty console, select **Channel**, and enter a specific channel's details page
    2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
    3. Choose **Skywalking** integration and click **Save** to generate a card
    4. Click the generated card to view the **push URL**, copy it for later use, and you're done
  </details>

  ### Using Shared Integration

  Choose this method when you need to route alerts to different channels based on the alert event's payload information.

  <details>
    <summary>Expand</summary>

    1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
    2. Select **Skywalking** integration:
       * **Integration Name**: Define a name for this integration
    3. Configure the default route and select the corresponding channel (after the integration is created, you can go to `Route` to configure more routing rules)
    4. Click **Save** and copy the newly generated **push URL** for later use
    5. Done
  </details>
</div>

## In Skywalking

***

<div class="md-block">
  ## I. Modify Skywalking Service Configuration File

  1. Log in to the Skywalking server
  2. Locate the Skywalking configuration file ./config/alarm-settings.yml
  3. Add level tags to the alert rules

  ```
  # Tags are supported in v8.6.0+ versions only, can be omitted for other versions
  # level values: Critical, Warning, Info
  # Case sensitive
  rules:
      endpoint_relation_resp_time_rule:
          expression: sum(endpoint_relation_resp_time > 1000) >= 2
          period: 10
          message: Response time of endpoint relation {name} is more than 1000ms in 2 minutes of last 10 minutes
          tags:
              level: Warning
  ```

  4. Add the Flashduty webhook URL

  ```
  # Add at the bottom of the configuration file
  # For v8.8.0 ~ v9.5.0
  webhooks:
      - url: https://api.flashcat.cloud/event/push/alert/skywalking?integration_key=18c7f1551df55fa28a1a87f0846d9d1e131

  # For v10.0.0
  hooks:
    webhook:
      default:
        is-default: true
        urls:
          - https://api.flashcat.cloud/event/push/alert/skywalking?integration_key=18c7f1551df55fa28a1a87f0846d9d1e131
  ```

  5. After editing, save and restart the Skywalking service to apply the configuration
</div>

## II. Status Mapping

<div class="md-block">
  | Skywalking      | Flashduty | Status   |
  | --------------- | --------- | -------- |
  | Critical        | Critical  | Critical |
  | Warning         | Warning   | Warning  |
  | Info            | Info      | Info     |
  | Others or Empty | Info      | Info     |
</div>
