Dela via


Anpassa samlingen med hjälp av CRD:er (tjänst- och poddövervakare)

Aktiveringen av Managed Prometheus distribuerar automatiskt anpassade resursdefinitioner (CRD) för poddövervakare och tjänstövervakare. Dessa anpassade resursdefinitioner är samma anpassade resursdefinitioner (CRD) som OSS Pod-övervakare och OSS-tjänstövervakare för Prometheus, förutom en ändring i gruppnamnet. Om du har befintliga Prometheus CRD:er och anpassade resurser i klustret kommer dessa CRD:er inte att vara i konflikt med de CRD:er som skapats av tillägget. Samtidigt hämtar det hanterade Prometheus-tillägget inte de CRD:er som skapats för OSS Prometheus. Denna separation är avsiktlig för isolering av skrapjobb.

Kommentar

Stöd för anpassade resursdefinitioner (CRD) i Azure ARC-aktiverade Kubernetes är för närvarande inte tillgängligt.

Skapa en podd eller tjänstövervakare

Använd mallarna Pod och Service Monitor och följ API-specifikationen för att skapa dina anpassade resurser (PodMonitor och Service Monitor). Observera att den enda ändring som krävs för befintliga OSS CR(anpassade resurser) för att hämtas av Managed Prometheus är API-gruppen – azmonitoring.coreos.com/v1.

Obs! Se till att använda etikettenLimit, labelNameLengthLimit och labelValueLengthLimit som anges i mallarna så att de inte tas bort under bearbetningen.

Dina podd- och tjänstövervakare bör se ut som följande exempel:

Exempel på poddövervakare

# Note the API version is azmonitoring.coreos.com/v1 instead of monitoring.coreos.com/v1
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor

# Can be deployed in any namespace
metadata:
  name: reference-app
  namespace: app-namespace
spec:
  labelLimit: 63
  labelNameLengthLimit: 511
  labelValueLengthLimit: 1023

  # The selector specifies which pods to filter for
  selector:

    # Filter by pod labels
    matchLabels:
      environment: test
    matchExpressions:
      - key: app
        operator: In
        values: [app-frontend, app-backend]

    # [Optional] Filter by pod namespace
    namespaceSelector:
      matchNames: [app-frontend, app-backend]

  # [Optional] Labels on the pod with these keys will be added as labels to each metric scraped
  podTargetLabels: [app, region, environment]

  # Multiple pod endpoints can be specified. Port requires a named port.
  podMetricsEndpoints:
    - port: metrics

Exempel på tjänstövervakare

# Note the API version is azmonitoring.coreos.com/v1 instead of monitoring.coreos.com/v1
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor

# Can be deployed in any namespace
metadata:
  name: reference-app
  namespace: app-namespace
spec:
  labelLimit: 63
  labelNameLengthLimit: 511
  labelValueLengthLimit: 1023

  # The selector filters endpoints by service labels.
  selector:
    matchLabels:
      app: reference-app

  # Multiple endpoints can be specified. Port requires a named port.
  endpoints:
  - port: metrics

Distribuera en podd eller tjänstövervakare

Du kan sedan distribuera podden eller tjänstövervakaren med kubectl apply.

När de tillämpas bör eventuella fel i de anpassade resurserna visas och podd- eller tjänstövervakarna bör inte tillämpas.
En lyckad skapande av poddar ser ut så här :

podmonitor.azmonitoring.coreos.com/my-pod-monitor created

Exempel

Skapa ett exempelprogram

Distribuera ett exempelprogram som exponerar prometheus-mått som ska konfigureras av podd-/tjänstövervakaren.

kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/internal/referenceapp/prometheus-reference-app.yaml

Skapa en poddövervakare och/eller tjänstövervakare för att skrapa mått

Distribuera en poddövervakare som är konfigurerad för att skrapa mått från exempelprogrammet från föregående steg.

Poddövervakare
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/pod-monitor/pod-monitor-reference-app.yaml
Tjänstövervakare
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/service-monitor/service-monitor-reference-app.yaml

Felsökning

När podd- eller tjänstövervakarna har tillämpats ska tillägget automatiskt börja samla in mått från målen. Bekräfta detta genom att följa anvisningarna här för allmän felsökning av anpassade resurser och se till att målen visas i 127.0.0.1/mål.

Skärmbild som visar mål för podd-/tjänstövervakare

Nästa steg