Получение журналов для устранения неполадок служб данных с поддержкой Azure Arc
Необходимые компоненты
Перед продолжением работы необходимо следующее.
- Azure CLI (
az
) с расширениемarcdata
. Дополнительные сведения см. в разделе Как установить клиентские средства для развертывания служб данных с поддержкой Azure Arc и управления ими. - Учетная запись администратора для входа на контроллер данных с поддержкой Azure Arc.
Получение файлов журнала
Для устранения неполадок можно получить журналы служб для всех модулей pod или только некоторых из них. Один из способов — воспользоваться стандартными средствами Kubernetes, такими как kubectl logs
команда. В этой статье мы используем расширение CLI arcdata
для Azure (az
), которое упрощает сбор всех журналов.
Выполните следующую команду, чтобы создать дамп журналов:
az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
Например:
#az arcdata dc debug copy-logs --exclude-dumps --skip-compress --use-k8s --k8s-namespace
Контроллер данных создает файлы журнала в подкаталоге текущего рабочего каталога, которая называется logs
.
Параметры
Команда az arcdata dc debug copy-logs
поддерживает перечисленные ниже варианты управления выходными данными.
- Вывод файлов журнала в другой каталог с помощью параметра
--target-folder
. - Сжатие файлов (нужно опустить параметр
--skip-compress
). - Активация и добавление дампов памяти (нужно опустить параметр
--exclude-dumps
). Не рекомендуется использовать этот метод, если только служба поддержки Майкрософт не запросила у вас дампы памяти. Для получения дампа памяти необходимо при создании контроллера данных установить для параметраallowDumps
контроллера значениеtrue
. - Фильтрация по имени для сбора журналов только для определенного модуля pod (
--pod
) или контейнера (--container
). - Фильтрация для сбора журналов для определенного настраиваемого ресурса путем передачи параметров
--resource-kind
и--resource-name
. Значение параметраresource-kind
должно быть именем одного из настраиваемых определений ресурсов. Эти имена можно получить с помощью командыkubectl get customresourcedefinition
.
Используя эти параметры, можно заменить <parameters>
, как показано в следующем примере:
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
Например:
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
Ниже приведен пример иерархии папок. Здесь они упорядочены по имени модуля pod, затем по контейнеру, а затем — по иерархии каталогов в контейнере.
<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