groups:
  - name: schema-manager.rules
    rules:
      - alert: SchemaManagerIsDown
        annotations:
          message: |
            {{ $labels.region }} Serverless schema-manager is down.
          summary: "Schema manager is down."
          region: '{{ $labels.region }}'
        expr: |
          up{component="schema-manager"} == 0
        for: 10m
        labels:
          tier: serverless
          severity: critical
          response_class: page
          provider_type: aws-free-tier
          component: tikv
          oncall_team: tikv_unified
      - alert: SchemaManagerFrequentlyRestart
        expr: sum(changes(process_start_time_seconds{component="schema-manager"}[30m])) by (instance, region) >=4
        for: 5m
        labels:
          tier: serverless
          provider_type: aws-free-tier
          severity: critical
          response_class: page
          expr: sum(changes(process_start_time_seconds{component="schema-manager"}[30m])) by (instance, region) >=4
          component: tikv
          oncall_team: tikv_unified
        annotations:
          message: 'region: {{ $labels.region }}, instance: {{ $labels.instance }}, values: {{ $value }}'
          value: '{{ $value }}'
          summary: "Schema manager is down for at least 4 times in half an hour"
      - alert: SchemaManagerSyncLoopStuck
        expr: |
          increase(tikv_worker_schema_manager_sync_loop_count[20m]) == 0
        labels:
          tier: serverless
          provider_type: aws-free-tier
          severity: critical
          response_class: page
          component: tikv
          oncall_team: tikv_unified
        annotations:
          message: 'region: {{ $labels.region }}, instance: {{ $labels.instance }}'
          value: '{{ $value }}'
          summary: "Schema manager sync stuck for 20 minutes"
      - alert: SchemaManagerSyncLoopError
        expr: |
          increase(tikv_worker_schema_manager_sync_loop_error_count[10m]) >= 50
        for: 20m
        labels:
          tier: serverless
          provider_type: aws-free-tier
          severity: warning
          component: tikv
          oncall_team: tikv_unified
        annotations:
          message: 'region: {{ $labels.region }}, instance: {{ $labels.instance }}, error count: {{ $value }}'
          value: '{{ $value }}'
          summary: "Schema manager too many sync loop errors in 10 minutes"
