Sdílet prostřednictvím


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

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í.

Poznámka:

Podpora vlastních definic prostředků (CRD) v Kubernetes s podporou Azure ARC v současné době není dostupná.

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