Untitled Paste

lua
Wrap Lines
Raw
prometheus.scrape "demo" {
  targets    = prometheus.operator.servicemonitors.k8s.targets
  forward_to = [
    prometheus.remote_write.mimir_cryptobykovo.receiver,
    prometheus.remote_write.mimir_default.receiver
  ]

  // Inject label based on job, namespace, etc.
  relabel_config {
    source_labels = ["job"]
    separator     = ";"
    regex         = "pushgateway"
    target_label  = "team"
    replacement   = "cryptobykovo"
    action        = "replace"
  }
}


// Remote write: only accept metrics where team == "cryptobykovo"
prometheus.remote_write "mimir_cryptobykovo" {
  endpoint {
    url = "http://mimir-distributor.monitoring.svc.cluster.local:8080/api/v1/push"
    headers = {
      "X-Scope-OrgID" = "cryptobykovo"
    }

    // Keep ONLY metrics with team="cryptobykovo"
    write_relabel_config {
      source_labels = ["team"]
      separator     = ";"
      regex         = "^cryptobykovo$"
      action        = "keep"
    }
  }
}

// Remote write: default tenant (catch-all for non-cryptobykovo)
prometheus.remote_write "mimir_default" {
  endpoint {
    url = "http://mimir-distributor.monitoring.svc.cluster.local:8080/api/v1/push"
    headers = {
      "X-Scope-OrgID" = "default"
    }

    // Drop metrics with team="cryptobykovo" (avoid duplication)
    write_relabel_config {
      source_labels = ["team"]
      separator     = ";"
      regex         = "^cryptobykovo$"
      action        = "drop"
    }
  }
}