Sdílet prostřednictvím


Přizpůsobení kolekce pomocí CRD (monitorování služeb a podů)

Poznámka:

Podpora CRD pro Managed Prometheus je aktuálně ve verzi Preview.

Povolení spravovaného systému Prometheus automaticky nasadí vlastní definice prostředků (CRD) pro monitorování podů a monitorování služeb. Tyto vlastní definice prostředků jsou stejné vlastní definice prostředků (CRD) jako monitorování podů operačního systému a monitorování služby OSS pro Prometheus s výjimkou změny v názvu skupiny. Pokud máte v clusteru existující disky CRD a vlastní prostředky Prometheus, nebudou tyto identifikátory CRD v konfliktu s identifikátory CRD vytvořenými doplňkem. Spravovaný doplněk Prometheus současně neobsadí identifikátory CRD vytvořené pro operační systém Prometheus. Toto oddělení je záměrné pro účely izolace úloh škrábání.

Vytvoření podu nebo monitorování služeb

Použijte šablony Pod a Service Monitor a postupujte podle specifikace rozhraní API k vytvoření vlastních prostředků (PodMonitor a Service Monitor). Všimněte si , že jedinou změnou vyžadovanou pro stávající žádosti OSS (vlastní prostředky) pro vyzvednutí spravovaným nástrojem Prometheus je skupina rozhraní API – azmonitoring.coreos.com/v1.

Poznámka: Nezapomeňte použít popisekLimit, labelNameLengthLimit a labelValueLengthLimit zadané v šablonách, aby se během zpracování nezahodily.

Monitory podů a služeb by měly vypadat jako v následujících příkladech:

Příklad monitorování podů

# 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

Příklad monitorování služby

# 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

Nasazení podu nebo monitorování služeb

Pak můžete nasadit monitorování podu nebo služby pomocí kubectl apply.

Při použití by se měly zobrazit všechny chyby ve vlastních prostředcích a monitorování podů nebo služeb by se nemělo použít.
Úspěšné vytvoření monitorování podů vypadá takto:

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

Příklady

Vytvoření ukázkové aplikace

Nasaďte ukázkovou aplikaci, která navrhuje metriky prometheus nakonfigurované monitorováním podů nebo služeb.

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

Vytvoření monitorování podů nebo monitorování služby pro výstřižky metrik

Nasaďte monitorování podů, které je nakonfigurované tak, aby se z ukázkové aplikace z předchozího kroku odebraly metriky.

Monitor podů
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/pod-monitor/pod-monitor-reference-app.yaml
Monitorování služeb
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/service-monitor/service-monitor-reference-app.yaml

Řešení problému

Po úspěšném použití monitorování podů nebo služeb by měl doplněk automaticky začít shromažďovat metriky z cílů. Pokud to chcete potvrdit, postupujte podle zde uvedených pokynů pro obecné řešení potíží s vlastními prostředky a také zajistěte, aby se cíle zobrazovaly ve verzi 127.0.0.1/targets.

Snímek obrazovky zobrazující cíle pro monitorování podů nebo služeb

Další kroky