openrca/orca

Add CRD-based alert mapping

Opened this issue · 0 comments

Alert mappings could be organized into CRDs (Custom Resource Definition) manifests, e.g.::

api: ingestion.openrca.io/v1alpha1
kind: AlertMapping
metadata:
  name: zabbix-hosts
spec:
  source: zabbix
  mappings:
    - name: "XXX"
      source_mapping:
        origin: kubernetes
        kind: node
        properties:
           name: host
    - name: "YYY"
      source_mapping:
        origin: kubernetes
        kind: node
        properties:
           name: host          

Mappings could be organized into categories (nodes, kube-state, etc.):

api: ingestion.openrca.io/v1alpha1
kind: AlertMapping
metadata:
  name: prometheus-nodes
spec:
  source: proemtheus
  mappings:
    - name: "XXX"
      source_mapping:
        origin: kubernetes
        kind: node
        properties:
           name: node
    - name: "YYY"
      source_mapping:
        origin: kubernetes
        kind: node
        properties:
           name: node          
api: ingestion.openrca.io/v1alpha1
kind: AlertMapping
metadata:
  name: prometheus-kube-state
spec:
  source: proemtheus
  mappings:
    - name: "XXX"
      source_mapping:
        origin: kubernetes
        kind: pod
        properties:
           name: pod
    - name: "YYY"
      source_mapping:
        origin: kubernetes
        kind: deployment
        properties:
           name: deployment