Поделиться через


Получение журналов для устранения неполадок служб данных с поддержкой 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