Bewaking voor MongoDB-cluster in Azure Kubernetes Service (AKS)
In dit artikel leert u hoe u een MongoDB-cluster bewaakt in Azure Kubernetes Service (AKS) met behulp van PMM (Percona Monitoring and Management). Bewaking is essentieel voor het waarborgen van de status en prestaties van uw MongoDB-cluster. Door belangrijke metrische gegevens te bewaken, kunt u problemen vroegtijdig identificeren en corrigerende maatregelen nemen om downtime en gegevensverlies te voorkomen.
Percona Monitoring and Management (PMM) instellen voor MongoDB
PMM werkt als een client-/servertoepassing, bestaande uit een PMM-server en meerdere PMM-clients die zijn geïnstalleerd op elk knooppunt van de database die u wilt bewaken. De PMM-clients verzamelen essentiële metrische gegevens en verzenden deze gegevens naar de PMM-server. Vervolgens kunt u verbinding maken met de PMM-server om metrische databasegegevens over verschillende dashboards weer te geven.
Bewaking percona-server inschakelen voor MongoDB met PMM
Als u bewaking voor Percona Server voor MongoDB wilt inschakelen, moet u ervoor zorgen dat het
pmm.enabled
veld is ingesteldtrue
op in de aangepaste Resource PerconaServerMongoDB. U kunt deze instelling controleren met behulp van dekubectl describe
opdracht.kubectl describe PerconaServerMongoDB ${AKS_MONGODB_CLUSTER_NAME} -n ${AKS_MONGODB_NAMESPACE}
Voorbeelduitvoer:
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 ...
Als het
pmm.enabled
veld is ingesteld opfalse
, kunt u dit inschakelen met behulp van dekubectl patch
opdracht.kubectl patch PerconaServerMongoDB ${AKS_MONGODB_CLUSTER_NAME} -n ${AKS_MONGODB_NAMESPACE} --type='merge' -p '{"spec":{"pmm":{"enabled":true}}}'
Een knooppuntgroep maken voor PMM-server
Maak een toegewezen knooppuntgroep voor de PMM-server met behulp van de
az aks nodepool add
opdracht.az aks nodepool add \ --resource-group $MY_RESOURCE_GROUP_NAME \ --cluster-name $MY_CLUSTER_NAME \ --name pmmserver \ --node-vm-size Standard_DS4_v2 \ --node-count 3 \ --zones 1 2 3 \ --mode User \ --output table
PMM-server installeren
Voeg de Percona Helm-opslagplaats toe en werk deze bij met behulp van de
helm repo add
enhelm repo update
opdrachten.helm repo add percona https://percona.github.io/percona-helm-charts/ helm repo update
Installeer de PMM-server met behulp van de
helm install
opdracht.helm install pmm --namespace mongodb \ --set nodeSelector."kubernetes\.azure\.com/agentpool"="pmmserver" \ --set service.type="LoadBalancer" \ percona/pmm
Haal het externe IP-adres van de PMM-server op met behulp van de
kubectl get svc
opdracht.export SERVICE_IP=$(kubectl get svc --namespace mongodb monitoring-service -o jsonpath="{.status.loadBalancer.ingress[0].ip}") echo https://$SERVICE_IP:
Haal het wachtwoord voor de gebruiker met beheerdersrechten op met behulp van de
kubectl get secret
opdracht.export ADMIN_PASS=$(kubectl get secret pmm-secret --namespace mongodb -o jsonpath='{.data.PMM_ADMIN_PASSWORD}' | base64 --decode) echo $ADMIN_PASS
U kunt nu toegang krijgen tot de PMM-server met behulp van het externe IP-adres en het gebruikerswachtwoord van de beheerder. U hebt ook toegang tot de PMM-server op uw lokale computer met behulp van de
kubectl port-forward
opdracht.kubectl port-forward svc/monitoring-service -n mongodb 8080:80
Zodra port forwarding is ingeschakeld, hebt u toegang tot de PMM-server door naar
http://localhost:8080
te navigeren.
PMM-server configureren
Open de PMM-server met behulp van de gebruiker met beheerdersrechten en het wachtwoord dat u eerder hebt verkregen.
Selecteer configuratie-API-sleutels> in het zijmenu.
Selecteer API-sleutel toevoegen op de pagina Configuratie.
Voer de volgende informatie in:
- Sleutelnaam (u kunt elke gewenste naam geven)
- Selecteer de rol in de vervolgkeuzelijst
- Voer een waarde in het tekstvak Time to live in (beweeg de muisaanwijzer over de knopinfo voor meer informatie)
Selecteer Toevoegen.
Kopieer uw sleutel uit het venster API-sleutel gemaakt en houd deze veilig.
API-sleutel instellen als geheim en vernieuwen
Stel de API-sleutel in als een geheim in Azure Key Vault met behulp van de
az keyvault secret set
opdracht. Zorg ervoor dat u de waarden vervangt$MY_KEYVAULT_NAME
en$API_KEY
vervangt.az keyvault secret set --vault-name $MY_KEYVAULT_NAME --name PMM-SERVER-API-KEY --value $API_KEY --output table
Vernieuw het geheim in de ExternalSecret-resource met de nieuwe geheime sleutel met behulp van de
kubectl annotate
opdracht.kubectl annotate es ${AKS_MONGODB_SECRETS_NAME} force-sync=$(date +%s) --overwrite -n ${AKS_MONGODB_NAMESPACE}
PMM-server testen
Zodra u de PMM-server hebt geconfigureerd, kunt u testgegevens genereren met Behulp van Locust, zoals beschreven in Validatietolerantie van MongoDB-cluster in Azure Kubernetes Service (AKS). Nadat u testgegevens hebt gegenereerd, kunt u de prestaties van uw MongoDB-cluster op de PMM-server bewaken.
Volgende stappen
In dit artikel hebt u geleerd hoe u een MongoDB-cluster in Azure Kubernetes Service (AKS) bewaakt met behulp van PMM (Percona Monitoring and Management). Zie de volgende artikelen voor meer informatie over het implementeren van stateful workloads op AKS:
Azure Kubernetes Service