apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
    release: self-monitoring
  name: self-monitoring-data-collector
  namespace: self-monitoring
spec:
  groups:
    - name: self-monitoring-data-collector
      rules:
        - alert: DataCollectorAgentFailedToScrapeData
          annotations:
            description: The data collector agent failed to scrape data for datasource {{ $labels.data_source }}, version {{ $labels.version }}.
            summary: data collector agent failed to scrape data.
          expr: |-
            increase(data_collector_agent_failed_to_scrape_data_metric[5m]) > 5
          for: 5m
          labels:
            severity: major
        - alert: DataCollectorAgentFailedToUploadData
          annotations:
            description: The data collector agent failed to upload data for datasource {{ $labels.data_source }}, version {{ $labels.version }}.
            summary: data collector agent failed to upload data.
          expr: |-
            increase(data_collector_agent_failed_to_upload_data_metric[5m]) > 5
          for: 5m
          labels:
            severity: major
        - alert: DataProcessorFailedToCleanData
          annotations:
            description: The data processor failed to clean data for datasource {{ $labels.data_source }}, version {{ $labels.version }}.
            summary: data processor failed to clean data.
          expr: |-
            increase(data_collector_processor_failed_to_clean_data_metric[5m]) > 5
          for: 5m
          labels:
            severity: major
        - alert: DataProcessorFailedToProcessData
          annotations:
            description: The data processor failed to process data for datasource {{ $labels.data_source }}, version {{ $labels.version }}.
            summary: data processor failed to process data.
          expr: |-
            increase(data_collector_processor_failed_to_process_data_metric[5m]) > 5
          for: 5m
          labels:
            severity: major
        - alert: DataProcessorFailedToUploadData
          annotations:
            description: The data processor failed to upload data for datasource {{ $labels.data_source }}, version {{ $labels.version }}.
            summary: data processor failed to upload data.
          expr: |-
            increase(data_collector_processor_failed_to_upload_data_metric[5m]) > 5
          for: 5m
          labels:
            severity: major
