Odesílání dat Prometheus do služby Azure Monitor pomocí ověřování spravované identity
Tento článek popisuje, jak nastavit vzdálené zápisy pro odesílání dat ze serveru Prometheus spravovaného v clusteru Azure Kubernetes Service (AKS) nebo clusteru Kubernetes s podporou Azure Arc pomocí ověřování spravované identity a kontejneru bočního vozu, který poskytuje Azure Monitor. Můžete použít existující identitu vytvořenou službou AKS nebo vytvořit vlastní. Obě možnosti jsou zde popsány.
Poznámka:
Pokud používáte spravovanou identitu přiřazenou uživatelem, doporučujeme přímo nakonfigurovat Prometheus spuštěný v clusteru Kubernetes na vzdálené zápisy do pracovního prostoru služby Azure Monitor. Další informace najdete v tématu Odesílání dat Prometheus do služby Azure Monitor pomocí spravované identity přiřazené uživatelem. Následující postup používá kontejner bočního auta služby Azure Monitor.
Konfigurace clusterů
Tento článek se týká následujících konfigurací clusteru:
- Cluster Azure Kubernetes Service
- Cluster Kubernetes s podporou Azure Arc
Poznámka:
Informace o nastavení vzdáleného zápisu pro cluster Kubernetes běžící v jiném cloudu nebo místním prostředí najdete v tématu Odesílání dat Prometheus do služby Azure Monitor pomocí ověřování Microsoft Entra.
Požadavky
Podporované verze
Pro ověřování spravovaných identit se vyžadují verze Prometheus větší než verze 2.45.
Pracovní prostor služby Azure Monitor
Tento článek se zabývá odesíláním metrik Prometheus do pracovního prostoru služby Azure Monitor. Pokud chcete vytvořit pracovní prostor Služby Azure Monitor, přečtěte si téma Správa pracovního prostoru služby Azure Monitor.
Oprávnění
K dokončení kroků v tomto článku se vyžadují oprávnění správce clusteru nebo prostředku.
Nastavení aplikace pro spravovanou identitu
Proces nastavení vzdáleného zápisu Prometheus pro aplikaci pomocí ověřování spravované identity zahrnuje dokončení následujících úloh:
- Získejte název skupiny prostředků uzlu AKS.
- Získejte ID klienta spravované identity přiřazené uživatelem.
- Přiřaďte ke spravované identitě roli Vydavatele metrik monitorování v pravidle shromažďování dat pracovního prostoru.
- Udělte clusteru AKS přístup ke spravované identitě.
- Nasaďte kontejner sajdkáru pro nastavení vzdáleného zápisu.
Úkoly jsou popsány v následujících částech.
Získání názvu skupiny prostředků uzlu AKS
Skupina prostředků uzlu clusteru AKS obsahuje prostředky, které použijete v dalších krocích tohoto procesu. Tato skupina prostředků má název MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. Název skupiny prostředků najdete pomocí nabídky Skupiny prostředků na webu Azure Portal.
Získání ID klienta spravované identity přiřazené uživatelem
Musíte získat ID klienta identity, kterou budete používat. Zkopírujte ID klienta, které se použije později v procesu.
Místo vytváření vlastního ID klienta můžete použít jednu z identit, které vytváří AKS. Další informace o identitách najdete v tématu Použití spravované identity ve službě Azure Kubernetes Service.
Tento článek používá identitu kubeletu. Název této identity je <AKS-CLUSTER-NAME>-agentpool
a je ve skupině prostředků uzlu clusteru AKS.
Vyberte spravovanou <AKS-CLUSTER-NAME>-agentpool
identitu. Na stránce Přehled zkopírujte hodnotu ID klienta. Další informace najdete v tématu Správa spravovaných identit přiřazených uživatelem.
Přiřazení role Vydavatele metrik monitorování v pravidle shromažďování dat pracovního prostoru ke spravované identitě
Spravovaná identita musí mít přiřazenou roli Vydavatele metrik monitorování v pravidle shromažďování dat, které je přidružené k vašemu pracovnímu prostoru služby Azure Monitor.
V nabídce prostředků pro váš pracovní prostor Azure Monitoru vyberte Přehled. V případě pravidla shromažďování dat vyberte odkaz.
V nabídce prostředků pravidla shromažďování dat vyberte Řízení přístupu (IAM).
Vyberte Přidat a pak vyberte Přidat přiřazení role.
Vyberte roli Vydavatel metrik monitorování a pak vyberte Další.
Vyberte Spravovanou identitu a pak zvolte Vybrat členy. Vyberte předplatné, které obsahuje identitu přiřazenou uživatelem, a pak vyberte spravovanou identitu přiřazenou uživatelem. Vyberte identitu přiřazenou uživatelem, kterou chcete použít, a pak zvolte Vybrat.
Pokud chcete přiřazení role dokončit, vyberte Zkontrolovat a přiřadit.
Udělení přístupu ke spravované identitě clusteru AKS
Tento krok se nevyžaduje, pokud používáte identitu AKS. Identita AKS už má přístup ke clusteru.
Důležité
Abyste mohli dokončit kroky v této části, musíte mít oprávnění vlastníka nebo správce uživatelských přístupů ke clusteru.
Identifikujte škálovací sady virtuálních počítačů ve skupině prostředků uzlu pro váš cluster AKS.
Pro každou škálovací sadu virtuálních počítačů spusťte v Azure CLI následující příkaz:
az vmss identity assign -g <AKS-NODE-RESOURCE-GROUP> -n <AKS-VMSS-NAME> --identities <USER-ASSIGNED-IDENTITY-RESOURCE-ID>
Nasazení kontejneru sajdkáru pro nastavení vzdáleného zápisu
Zkopírujte následující YAML a uložte ho do souboru. YAML používá jako naslouchající port port 8081. Pokud používáte jiný port, upravte port v YAML.
prometheus: prometheusSpec: externalLabels: cluster: <AKS-CLUSTER-NAME> ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write remoteWrite: - url: 'http://localhost:8081/api/v1/write' ## Azure Managed Prometheus currently exports some default mixins in Grafana. ## These mixins are compatible with Azure Monitor agent on your Azure Kubernetes Service cluster. ## However, these mixins aren't compatible with Prometheus metrics scraped by the Kube Prometheus stack. ## In order to make these mixins compatible, uncomment remote write relabel configuration below: ## writeRelabelConfigs: ## - sourceLabels: [metrics_path] ## regex: /metrics/cadvisor ## targetLabel: job ## replacement: cadvisor ## action: replace ## - sourceLabels: [job] ## regex: 'node-exporter' ## targetLabel: job ## replacement: node ## action: replace containers: - name: prom-remotewrite image: <CONTAINER-IMAGE-VERSION> imagePullPolicy: Always ports: - name: rw-port containerPort: 8081 livenessProbe: httpGet: path: /health port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 readinessProbe: httpGet: path: /ready port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 env: - name: INGESTION_URL value: <INGESTION_URL> - name: LISTENING_PORT value: '8081' - name: IDENTITY_TYPE value: userAssigned - name: AZURE_CLIENT_ID value: <MANAGED-IDENTITY-CLIENT-ID> # Optional parameter - name: CLUSTER value: <CLUSTER-NAME>
Nahraďte v YAML následující hodnoty:
Hodnota Popis <AKS-CLUSTER-NAME>
Název clusteru AKS <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20240617.1
Verze image vzdáleného zápisu kontejneru pro zápis<INGESTION-URL>
Hodnota koncového bodu příjmu metrik ze stránky Přehled pracovního prostoru služby Azure Monitor. <MANAGED-IDENTITY-CLIENT-ID>
Hodnota ID klienta ze stránky Přehled spravované identity. <CLUSTER-NAME>
Název clusteru, na kterém běží Systém Prometheus. Důležité
V případě cloudu Azure Government přidejte do části souboru YAML následující proměnné
env
prostředí:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Otevřete Azure Cloud Shell a nahrajte soubor YAML.
Použijte Helm k instalaci souboru YAML a aktualizaci konfigurace Prometheus:
# set context to your cluster az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> # use Helm to update your remote write config helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus pod resides>
Ověření a řešení potíží
Informace o ověřování a řešení potíží najdete v tématu Řešení potíží se vzdáleným zápisem a spravovanou službou Azure Monitor pro vzdálený zápis pro Prometheus.
Další kroky
- Shromažďování metrik Promethea z clusteru AKS
- Další informace o spravované službě Azure Monitor pro Prometheus
- Vzdálený zápis ve spravované službě Azure Monitor pro Prometheus
- Odeslání dat Prometheus do služby Azure Monitor pomocí ověřování Microsoft Entra
- Odesílání dat Prometheus do služby Azure Monitor pomocí ověřování ID úloh Microsoft Entra (Preview)
- Odeslání dat Prometheus do služby Azure Monitor pomocí ověřování spravované podem Microsoft Entra (Preview)