Ottenere i log per risolvere i problemi dei servizi dati abilitati per Azure Arc
Prerequisiti
Prima di procedere, è necessario disporre di quanto segue:
- Interfaccia della riga di comando di Azure (
az
) con l'estensionearcdata
. Per altre informazioni, consultare Installare strumenti client per distribuire e gestire servizi dati abilitati per Azure Arc. - Un account Administrator per accedere al controller dei dati abilitato per Azure Arc.
Ottenere i file di log
È possibile ottenere i log del servizio in tutti i pod o in pod specifici per la risoluzione dei problemi. Un modo prevede l'uso degli strumenti Kubernetes standard, ad esempio il comando kubectl logs
. In questo articolo si userà l'estensione arcdata
dell'interfaccia della riga di comando di Azure (az
) che semplifica il recupero contemporaneo di tutti i log.
Eseguire il comando seguente per eseguire il dump dei log:
az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
Ad esempio:
#az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
Il controller dei dati crea i file di log nella directory di lavoro corrente in una sottodirectory denominata logs
.
Opzioni
Il comando az arcdata dc debug copy-logs
offre le opzioni seguenti per gestire l'output:
- Creare l'output dei file di log in una directory diversa usando il parametro
--target-folder
. - Comprimere i file omettendo il parametro
--skip-compress
. - Attivare e includere i dump della memoria omettendo
--exclude-dumps
. Questo metodo non è consigliato a meno che il supporto tecnico Microsoft non abbia richiesto i dump della memoria. Per ottenere un dump della memoria, è necessario che l'impostazioneallowDumps
del controller dei dati sia impostata sutrue
quando viene creato il controller dei dati. - Filtrare i dati in base al nome per raccogliere solo i log di un pod (
--pod
) o contenitore (--container
) specifico. - Filtrare i dati per raccogliere i log per una risorsa personalizzata specifica passando i parametri
--resource-kind
e--resource-name
. Il valore del parametroresource-kind
deve essere uno dei nomi delle definizioni delle risorse personalizzate. È possibile recuperare tali nomi usando il comandokubectl get customresourcedefinition
.
Con questi parametri, è possibile sostituire <parameters>
nell'esempio seguente:
az arcdata dc debug copy-logs --target-folder <desired folder> --exclude-dumps --skip-compress -resource-kind <custom resource definition name> --resource-name <resource name> --use-k8s --k8s-namespace
Ad esempio:
az arcdata dc debug copy-logs --target-folder C:\temp\logs --exclude-dumps --skip-compress --resource-kind postgresql-12 --resource-name pg1 --use-k8s --k8s-namespace
La gerarchia di cartelle seguente è un esempio. È organizzata in base al nome del pod, al contenitore e quindi alla gerarchia di directory all'interno del contenitore.
<export directory>
├───debuglogs-arc-20200827-180403
│ ├───bootstrapper-vl8j2
│ │ └───bootstrapper
│ │ ├───apt
│ │ └───fsck
│ ├───control-j2dm5
│ │ ├───controller
│ │ │ └───controller
│ │ │ ├───2020-08-27
│ │ │ └───2020-08-28
│ │ └───fluentbit
│ │ ├───agent
│ │ ├───fluentbit
│ │ └───supervisor
│ │ └───log
│ ├───controldb-0
│ │ ├───fluentbit
│ │ │ ├───agent
│ │ │ ├───fluentbit
│ │ │ └───supervisor
│ │ │ └───log
│ │ └───mssql-server
│ │ ├───agent
│ │ ├───mssql
│ │ ├───mssql-server
│ │ └───supervisor
│ │ └───log
│ ├───controlwd-ln6j8
│ │ └───controlwatchdog
│ │ └───controlwatchdog
│ ├───logsdb-0
│ │ └───opensearch
│ │ ├───agent
│ │ ├───opensearch
│ │ ├───provisioner
│ │ └───supervisor
│ │ └───log
│ ├───logsui-7gg2d
│ │ └───kibana
│ │ ├───agent
│ │ ├───apt
│ │ ├───fsck
│ │ ├───kibana
│ │ └───supervisor
│ │ └───log
│ ├───metricsdb-0
│ │ └───influxdb
│ │ ├───agent
│ │ ├───influxdb
│ │ └───supervisor
│ │ └───log
│ ├───metricsdc-2f62t
│ │ └───telegraf
│ │ ├───agent
│ │ ├───apt
│ │ ├───fsck
│ │ ├───supervisor
│ │ │ └───log
│ │ └───telegraf
│ ├───metricsdc-jznd2
│ │ └───telegraf
│ │ ├───agent
│ │ ├───apt
│ │ ├───fsck
│ │ ├───supervisor
│ │ │ └───log
│ │ └───telegraf
│ ├───metricsdc-n5vnx
│ │ └───telegraf
│ │ ├───agent
│ │ ├───apt
│ │ ├───fsck
│ │ ├───supervisor
│ │ │ └───log
│ │ └───telegraf
│ ├───metricsui-h748h
│ │ └───grafana
│ │ ├───agent
│ │ ├───grafana
│ │ └───supervisor
│ │ └───log
│ └───mgmtproxy-r5zxs
│ ├───fluentbit
│ │ ├───agent
│ │ ├───fluentbit
│ │ └───supervisor
│ │ └───log
│ └───service-proxy
│ ├───agent
│ ├───nginx
│ └───supervisor
│ └───log
└───debuglogs-kube-system-20200827-180431
├───coredns-8bbb65c89-kklt7
│ └───coredns
├───coredns-8bbb65c89-z2vvr
│ └───coredns
├───coredns-autoscaler-5585bf8c9f-g52nt
│ └───autoscaler
├───kube-proxy-5c9s2
│ └───kube-proxy
├───kube-proxy-h6x56
│ └───kube-proxy
├───kube-proxy-nd2b7
│ └───kube-proxy
├───metrics-server-5f54b8994-vpm5r
│ └───metrics-server
└───tunnelfront-db87f4cd8-5xwxv
├───tunnel-front
│ ├───apt
│ └───journal
└───tunnel-probe
├───apt
├───journal
└───openvpn