diff --git a/apps/base/observability/kustomization.yaml b/apps/base/observability/kustomization.yaml index f848c26..53d138e 100644 --- a/apps/base/observability/kustomization.yaml +++ b/apps/base/observability/kustomization.yaml @@ -9,3 +9,4 @@ resources: - gateway.yaml - httproute.yaml - vmpodscrape-cnpg.yaml + - vmpodscrape-traefik.yaml diff --git a/apps/base/observability/vmpodscrape-traefik.yaml b/apps/base/observability/vmpodscrape-traefik.yaml new file mode 100644 index 0000000..369966b --- /dev/null +++ b/apps/base/observability/vmpodscrape-traefik.yaml @@ -0,0 +1,23 @@ +--- +# Scrape metrics (:9100) from the traefik-internal and traefik-external gateway +# pods. Picked up by the observability VMAgent (selectAllByDefault). The +# app.kubernetes.io/instance pod label is kept as traefik_instance so series +# from the two releases stay distinguishable. +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMPodScrape +metadata: + name: traefik + namespace: observability +spec: + namespaceSelector: + matchNames: + - traefik-system + selector: + matchLabels: + app.kubernetes.io/name: traefik + podMetricsEndpoints: + - port: metrics + path: /metrics + relabelConfigs: + - sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance] + targetLabel: traefik_instance diff --git a/apps/overlays/au-syd1/traefik-system/values-external.yaml b/apps/overlays/au-syd1/traefik-system/values-external.yaml index ec830e3..42cab53 100644 --- a/apps/overlays/au-syd1/traefik-system/values-external.yaml +++ b/apps/overlays/au-syd1/traefik-system/values-external.yaml @@ -29,6 +29,11 @@ providers: nativeLBByDefault: false labelSelector: "traefik.io/instance=external" +metrics: + prometheus: + addEntryPointsLabels: true + addRoutersLabels: true + logs: access: enabled: true diff --git a/apps/overlays/au-syd1/traefik-system/values-internal.yaml b/apps/overlays/au-syd1/traefik-system/values-internal.yaml index 26ff362..8779a41 100644 --- a/apps/overlays/au-syd1/traefik-system/values-internal.yaml +++ b/apps/overlays/au-syd1/traefik-system/values-internal.yaml @@ -29,6 +29,11 @@ providers: nativeLBByDefault: false labelSelector: "traefik.io/instance=internal" +metrics: + prometheus: + addEntryPointsLabels: true + addRoutersLabels: true + logs: access: enabled: true