Dela via


Felsöka resurser

Den här artikeln identifierar felsökningsresurser för Azure Arc-aktiverade datatjänster.

Uppladdningar

Om du har distribuerat Azure Arc-datakontrollanten direct i anslutningsläget med och kubectlinte har skapat någon hemlighet för Log Analytics-arbetsytans autentiseringsuppgifter kan följande felmeddelanden visas i datakontrollantens CR (anpassad resurs):

status": {
    "azure": {
        "uploadStatus": {
            "logs": {
                "lastUploadTime": "YYYY-MM-HHTMM:SS:MS.SSSSSSZ",
                    "message": "spec.settings.azure.autoUploadLogs is true, but failed to get log-workspace-secret secret."
                    },

Lös ovanstående fel genom att skapa en hemlighet med autentiseringsuppgifterna för Log Analytics-arbetsytan som innehåller WorkspaceID och enligt SharedAccessKey följande:

apiVersion: v1
data:
  primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
  workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
  name: log-workspace-secret
  namespace: <your datacontroller namespace>
type: Opaque

Om du har konfigurerat automatisk uppladdning av mått i direktanslutet läge och de behörigheter som krävs för MSI inte har beviljats korrekt (enligt beskrivningen i Ladda upp mått) kan du se ett fel i loggarna på följande sätt:

'Metric upload response: {"error":{"code":"AuthorizationFailed","message":"Check Access Denied Authorization for AD object XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX over scope /subscriptions/XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/my-resource-group/providers/microsoft.azurearcdata/sqlmanagedinstances/arc-dc, User Tenant Id: XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX. Microsoft.Insights/Metrics/write was not allowed, Microsoft.Insights/Telemetry/write was notallowed. Warning: Principal will be blocklisted if the service principal is not granted proper access while it hits the GIG endpoint continuously."}}

Lös ovanstående fel genom att hämta MSI för Azure Arc-datakontrollanttillägget och bevilja de roller som krävs enligt beskrivningen i Ladda upp mått.

Om du har distribuerat din Azure Arc-datakontrollant i direktanslutet läge beviljas de behörigheter som krävs för att ladda upp din användningsinformation automatiskt för MSI för Azure Arc-datakontrollanttillägget. Om den automatiska uppladdningsprocessen stöter på behörighetsrelaterade problem kan du se ett fel i loggarna på följande sätt:

identified that your data controller stopped uploading usage data to Azure. The error was:

{"lastUploadTime":"2022-05-05T20:10:47.6746860Z","message":"Data controller upload response: {\"error\":{\"code\":\"AuthorizationFailed\",\"message\":\"The client 'XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX' with object id 'XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX' does not have authorization to perform action 'microsoft.azurearcdata/datacontrollers/write' over scope '/subscriptions/XXXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXX/resourcegroups/my-resource-group/providers/microsoft.azurearcdata/datacontrollers/arc-dc' or the scope is invalid. If access was recently granted, please refresh your credentials.\"}}"}

Lös behörighetsproblemet genom att hämta MSI och bevilja de roller som krävs enligt beskrivningen i Ladda upp mått).

Uppgraderingar

Felaktig bildtagg

Om du använder az CLI för att uppgradera och skickar in en felaktig bildtagg visas ett fel inom två minuter.

Job Still Active : Failed to await bootstrap job complete after retrying for 2 minute(s).
Failed to await bootstrap job complete after retrying for 2 minute(s).

När du visar poddarna visas statusen för bootstrap-jobbet som ErrImagePull.

STATUS
ErrImagePull

När du beskriver podden visas

Failed to pull image "<registry>/<repository>/arc-bootstrapper:<incorrect image tag>": [rpc error: code = NotFound desc = failed to pull and unpack image 

Lös problemet genom att referera till versionsloggen för rätt avbildningstagg. Kör uppgraderingskommandot igen med rätt avbildningstagg.

Det går inte att ansluta till registret eller lagringsplatsen

Om du försöker uppgradera och uppgraderingsjobbet inte har genererat något fel men körs längre än femton minuter kan du visa uppgraderingens förlopp genom att titta på poddarna. Kör

kubectl get pods -n <namespace>

När du visar poddarna visas statusen för bootstrap-jobbet som ErrImagePull.

STATUS
ErrImagePull

Beskriv bootstrap-jobbpodden för att visa händelserna.

kubectl describe pod <pod name> -n <namespace>

När du beskriver podden visas ett fel som säger

failed to resolve reference "<registry>/<repository>/arc-bootstrapper:<image tag>"

Det här är vanligt om avbildningen distribuerades från ett privat register, du använder Kubernetes för att uppgradera via en yaml-fil och yaml-filreferenserna mcr.microsoft.com i stället för det privata registret. Lös problemet genom att avbryta uppgraderingsjobbet. Om du vill hitta registret som du har distribuerat från kör du

kubectl describe pod <controller in format control-XXXXX> -n <namespace>

Leta efter Containers.controller.Image, där du ser registret och lagringsplatsen. Samla in dessa värden, ange i yaml-filen och kör uppgraderingen igen.

Det finns inte tillräckligt med resurser

Om du försöker uppgradera och uppgraderingsjobbet inte har genererat något fel men körs längre än femton minuter kan du visa uppgraderingens förlopp genom att titta på poddarna. Kör

kubectl get pods -n <namespace>

Leta efter en podd som visar att vissa containrar är klara, men inte – till exempel har den här metricsdb-0-podden bara en av två containrar:

NAME                                    READY   STATUS             RESTARTS        AGE
bootstrapper-848f8f44b5-7qxbx           1/1     Running            0               16m
control-7qxw8                           2/2     Running            0               16m
controldb-0                             2/2     Running            0               16m
logsdb-0                                3/3     Running            0               18d
logsui-hvsrm                            3/3     Running            0               18d
metricsdb-0                             1/2     Running            0               18d

Beskriv podden för att se händelser.

kubectl describe pod <pod name> -n <namespace>

Om det inte finns några händelser hämtar du containernamnen och visar loggarna för containrarna.

kubectl get pods <pod name> -n <namespace> -o jsonpath='{.spec.containers[*].name}*'

kubectl logs <pod name> <container name> -n <namespace>

Om du ser ett meddelande om otillräcklig cpu eller minne bör du lägga till fler noder i Kubernetes-klustret eller lägga till fler resurser i dina befintliga noder.

Resurser efter typ

Scenario: Felsöka PostgreSQL-servrar

Visa loggar och mått med Kibana och Grafana

Scenario: Visa inventering av dina instanser i Azure-portalen