groups:
  - name: serverless-service-migration
    rules:
      - alert: MigrationTaskStuckMoreThan30Minutes
        expr: |
          serverless_migration_transitional_duration_seconds > 600 # 10 minutes
        labels:
          tier: TiDB Serverless
          severity: warning
          component: dm
          oncall_team: tidb_x_tools
          provider_type: aws-free-tier
        annotations:
          message: Migration Task {{ $labels.task_id }} for cluster {{ $labels.cluster_id }} has remained in stage {{ $labels.stage }} for more than 10 minutes.

      - alert: MigrationTaskFailed
        expr: serverless_migration_failed_number > 0
        for: 5m
        labels:
          tier: TiDB Serverless
          severity: warning
          component: dm
          oncall_team: tidb_x_tools
          provider_type: aws-free-tier
        annotations:
          message: Serverless cluster {{ $labels.cluster_id }} migration {{ $labels.task_id }} failed with message {{ $labels.err_msg }}.

      - alert: MigrationTaskIncreaseLag
        expr: |
          dm_syncer_replication_lag_gauge{} > 600 and on(task, source_id) delta(dm_syncer_replication_lag_gauge[1m]) > 0
        labels:
          tier: TiDB Serverless
          severity: warning
          component: dm
          oncall_team: tidb_x_tools
          provider_type: aws-free-tier
        annotations:
          message: Migration Task {{ $labels.task_id }} has replication lag {{ $value }} seconds and is increasing.
