# ------------------------------------------------------------------------------ # Harbor Metrics - ServiceMonitor # # Configures Prometheus Operator to scrape Harbor metrics # # Scrape interval: 30s # Components scraped: # - harbor-core: Core service HTTP metrics # - harbor-registry: Registry-specific metrics # - harbor-jobservice: Job and vulnerability scan metrics # - harbor-exporter: Harbor metrics exporter # Metrics namespace: harbor_* (harbor_core_*, harbor_project_*, etc.) # ------------------------------------------------------------------------------ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: harbor-metrics namespace: harbor labels: app: harbor app.kubernetes.io/name: harbor app.kubernetes.io/component: metrics # Label selector for kube-prometheus-stack discovery release: monitoring spec: # Select Harbor services with metrics endpoints selector: matchLabels: app: harbor # Namespace selector namespaceSelector: matchNames: - harbor # Scrape endpoint configuration endpoints: # Harbor Core - main API and web UI metrics - port: http-metrics interval: 30s scrapeTimeout: 10s path: /metrics relabelings: - sourceLabels: [__meta_kubernetes_service_label_component] targetLabel: component action: replace - sourceLabels: [__meta_kubernetes_service_name] targetLabel: service action: replace