Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak monitorować klaster Bazy danych MongoDB w usłudze Azure Kubernetes Service (AKS) przy użyciu narzędzia Percona Monitoring and Management (PMM). Monitorowanie jest niezbędne do zapewnienia kondycji i wydajności klastra MongoDB. Monitorując kluczowe metryki, można zidentyfikować problemy na wczesnym etapie i podjąć działania naprawcze, aby zapobiec przestojom i utracie danych.
Konfigurowanie monitorowania i zarządzania platformą Percona (PMM) dla bazy danych MongoDB
Program PMM działa jako aplikacja klienta/serwera składająca się z serwera PMM i wielu klientów PMM zainstalowanych w każdym węźle bazy danych, którą chcesz monitorować. Klienci PMM zbierają podstawowe metryki i przesyłają te dane na serwer PMM. Następnie możesz nawiązać połączenie z serwerem PMM, aby wyświetlić metryki bazy danych na różnych pulpitach nawigacyjnych.
Włączanie monitorowania serwera Percona dla bazy danych MongoDB za pomocą narzędzia PMM
Aby włączyć monitorowanie dla Percona Server for MongoDB, upewnij się, że pole
pmm.enabledjest ustawione natruew zasobie niestandardowym PerconaServerMongoDB. To ustawienie można sprawdzić za pomocąkubectl describepolecenia .kubectl describe PerconaServerMongoDB ${AKS_MONGODB_CLUSTER_NAME} -n ${AKS_MONGODB_NAMESPACE}Przykładowe wyjście:
Name: cluster-aks-mongodb Namespace: mongodb ... Spec: ... Pmm: Enabled: true Image: <your-acr-name>.azurecr.io/pmm-client:2.41.2 Server Host: monitoring-service ...pmm.enabledJeśli pole jest ustawione nafalse, możesz je włączyć za pomocą poleceniakubectl patch.kubectl patch PerconaServerMongoDB ${AKS_MONGODB_CLUSTER_NAME} -n ${AKS_MONGODB_NAMESPACE} --type='merge' -p '{"spec":{"pmm":{"enabled":true}}}'
Tworzenie puli węzłów dla serwera PMM
Utwórz dedykowaną pulę węzłów dla serwera PMM przy użyciu az aks nodepool add polecenia .
az aks nodepool add \
--resource-group $MY_RESOURCE_GROUP_NAME \
--cluster-name $MY_CLUSTER_NAME \
--name pmmsrvpool \
--node-vm-size Standard_DS4_v2 \
--node-count 3 \
--zones 1 2 3 \
--mode User \
--output table
Utwórz dedykowaną pulę węzłów dla serwera PMM przy użyciu narzędzia terraform.
Uruchom następujące polecenie, aby zaktualizować
mongodb.tfvarsutworzony wcześniej plik przy użyciu następującej konfiguracji:sed -i '/mongodbserver = {/,/}/s/^\( *}\)/ }, \ pmmserver = {\ name = "pmmsrvpool" \ vm_size = "Standard_D2ds_v4" \ node_count = 3 \ zones = [1, 2, 3] \ os_type = "Linux" \ }/' mongodb.tfvarsZastosuj konfigurację Terraform do docelowego zasobu.
terraform fmt terraform apply -var-file="mongodb.tfvars" -target module.default
Instalowanie serwera PMM
Dodaj i zaktualizuj repozytorium Helm Percona za pomocą poleceń
helm repo addihelm repo update.helm repo add percona https://percona.github.io/percona-helm-charts/ helm repo updateZainstaluj serwer PMM przy użyciu
helm installpolecenia .helm install pmm --namespace mongodb \ --set nodeSelector."kubernetes\.azure\.com/agentpool"="pmmsrvpool" \ --set service.type="LoadBalancer" \ --version 1.3.13 \ percona/pmmPobierz zewnętrzny adres IP serwera PMM przy użyciu
kubectl get svcpolecenia .export SERVICE_IP=$(kubectl get svc --namespace mongodb monitoring-service -o jsonpath="{.status.loadBalancer.ingress[0].ip}") echo https://$SERVICE_IP:Pobierz hasło dla użytkownika administracyjnego
kubectl get secretprzy użyciu polecenia .export ADMIN_PASS=$(kubectl get secret pmm-secret --namespace mongodb -o jsonpath='{.data.PMM_ADMIN_PASSWORD}' | base64 --decode)Teraz możesz uzyskać dostęp do serwera PMM przy użyciu zewnętrznego adresu IP i hasła użytkownika "admin". Dostęp do serwera PMM można również uzyskać na komputerze lokalnym przy użyciu
kubectl port-forwardpolecenia .kubectl port-forward svc/monitoring-service -n mongodb 8080:80Po włączeniu przekierowania portów możesz uzyskać dostęp do serwera PMM, przechodząc do
http://localhost:8080adresu .
Konfigurowanie serwera PMM
Uzyskaj dostęp do serwera PMM przy użyciu użytkownika administratora i uzyskanego wcześniej hasła.
Z menu bocznego wybierz Konfiguracja>Klucze API.
Na stronie Konfiguracja wybierz pozycję Dodaj klucz interfejsu API.
Wprowadź następujące informacje:
- Nazwa klucza (możesz podać dowolną żądaną nazwę)
- Wybierz rolę administratora z listy rozwijanej
- Wprowadź wartość w polu tekstowym Czas życia (umieść kursor na podpowiedzi, aby uzyskać więcej informacji)
Wybierz Dodaj.
Skopiuj klucz z okna Utworzono klucz interfejsu API i wyeksportuj go do zmiennej środowiskowej, jak pokazano poniżej.
export API_KEY="Paste your API Key here"
Ustaw klucz API jako tajny i odśwież zasób ExternalSecret przy użyciu nowego klucza tajnego.
Ustaw klucz API jako tajny w Azure Key Vault, używając następującego polecenia.
az keyvault secret set --vault-name $MY_KEYVAULT_NAME --name PMM-SERVER-API-KEY --value $API_KEY --output none
- Uruchom następujące polecenie, aby zaktualizować
mongodb.tfvarsutworzony wcześniej plik i zastosować konfigurację narzędzia terraform do zasobu docelowego za pomocą następujących poleceń:sed -i "/mongodb_kv_secrets = {/,/^ *}/s/\(PMM-SERVER-API-KEY *= *\"\)[^\"]*\"/\1$API_KEY\"/" mongodb.tfvars terraform fmt terraform apply -var-file="mongodb.tfvars" -target module.mongodb[0].azurerm_key_vault_secret.this
Odśwież sekret w zasobie ExternalSecret przy użyciu polecenia
kubectl annotatei nowego klucza tajnego.kubectl annotate es ${AKS_MONGODB_SECRETS_NAME} force-sync=$(date +%s) --overwrite -n ${AKS_MONGODB_NAMESPACE}
Testowanie serwera PMM
Po skonfigurowaniu serwera PMM można wygenerować dane testowe przy użyciu locust, zgodnie z opisem w temacie Validate resiliency of MongoDB cluster on Azure Kubernetes Service (AKS) (Weryfikowanie odporności klastra MongoDB w usłudze Azure Kubernetes Service (AKS). Po wygenerowaniu danych testowych można monitorować wydajność klastra MongoDB na serwerze PMM.
Następne kroki
W tym artykule przedstawiono sposób monitorowania klastra Bazy danych MongoDB w usłudze Azure Kubernetes Service (AKS) przy użyciu narzędzia Percona Monitoring and Management (PMM). Aby uzyskać więcej informacji o wdrażaniu obciążeń stanowych w usłudze AKS, zobacz następujące artykuły: