Obter logs para solucionar problemas dos serviços de dados habilitados para Azure Arc
Pré-requisitos
Antes de continuar, você precisa:
- CLI do Azure (
az
) com extensão (arcdata
). Para mais informações, confira Instalar as ferramentas de cliente para implantar e gerenciar serviços de dados do Azure Arc. - Uma conta de administrador para entrar no controlador de dados habilitado para Azure Arc.
Obter arquivos de log
Você pode obter logs de serviço em todos os pods ou pods específicos para fins de solução de problemas. Uma forma é usar ferramentas de Kubernetes padrão, como o comando kubectl logs
. Neste artigo, você usará a extensão de CLI az
do Azure (arcdata
), que torna mais fácil obter todos os logs de uma só vez.
Execute o seguinte comando para despejar os logs:
az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
Por exemplo:
#az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
O controlador de dados cria os arquivos de log no diretório de trabalho atual em um subdiretório chamado logs
.
Opções
O comando az arcdata dc debug copy-logs
fornece as seguintes opções para gerenciar a saída:
- Gere os arquivos de log em um diretório diferente usando o parâmetro
--target-folder
. - Compacte os arquivos omitindo o parâmetro
--skip-compress
. - Dispare e inclua despejos de memória omitindo
--exclude-dumps
. Não recomendamos esse método, a menos que o Suporte da Microsoft tenha solicitado os despejos de memória. Obter um despejo de memória requer que a configuração do controlador de dadosallowDumps
seja definida comotrue
quando o controlador de dados for criado. - Filtre para coletar logs para apenas um pod (
--pod
) ou contêiner (--container
) específico por nome. - Filtre para coletar logs de um recurso personalizado específico passando os parâmetros
--resource-kind
e--resource-name
. O valor do parâmetroresource-kind
deve ser um dos nomes de definição de recurso personalizados. Você pode recuperar esses nomes usando o comandokubectl get customresourcedefinition
.
Com esses parâmetros, você pode substituir o <parameters>
no seguinte exemplo:
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
Por exemplo:
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
A hierarquia de pastas a seguir é um exemplo. Ela é organizada pelo nome do pod, pelo contêiner e então pela hierarquia de diretório dentro do contêiner.
<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