Журналы создаются автоматически различными службами. В vRealize Automation можно создавать наборы журналов. Кроме того, в среде можно настроить автоматическую пересылку журналов в vRealize Log Insight.

Узнать о том, как создать набор журналов с помощью служебной программы командной строки vracli, можно, указав аргумент --help в командной строке vracli (например vracli log-bundle --help).

Дополнительные сведения об использовании vRealize Log Insight см. в разделе Настройка пересылки журналов в vRealize Log Insight.

Команды набора журналов

В наборе журналов можно объединить все журналы, которые создаются запущенными службами. Набор журналов содержит все журналы служб и служит для устранения неполадок.

В кластерной среде (режим высокой доступности) команда vracli log-bundle выполняется только на одном узле. Журналы собираются со всех узлов в среде. Однако при наличии проблем c сетевым подключением или проблем в кластере журналы собираются только с доступных узлов. Например, если в кластере, состоящем из трех узлов, один узел недоступен, то журналы собираются только с двух работоспособных узлов. Выходные данные команды vracli log-bundle содержат сведения об обнаруженных проблемах и их устранении.

  • Чтобы создать набор журналов, необходимо подключиться по протоколу SSH к любому узлу и выполнить следующую команду vracli:

    vracli log-bundle

  • Чтобы изменить время ожидания при получении журналов с каждого узла, выполните следующую команду vracli:

    vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDS

    Например, в среде с большими файлами журналов, медленной сетью или интенсивным использованием ЦП, можно установить время ожидания, превышающее значение по умолчанию (1000 сек.).

  • Чтобы настроить другие параметры, например время ожидания сборки и расположение буфера, используйте следующую команду справки vracli:

    vracli log-bundle --help

Структура набора журналов

Набор журналов — это файл tar с отметками времени. Имя пакета формируется по шаблону log-bundle-<дата>T<время>.tar, например log-bundle-20200629T131312.tar. Типовой набор журналов содержит журналы со всех узлов среды. В случае ошибки он содержит максимально возможное количество журналов. В наихудшем случае он содержит журналы с локального узла.

Набор журналов включает в себя следующее содержимое.
  • Файл среды

    Файл среды содержит выходные данные различных команд обслуживания Kubernetes. Он предоставляет информацию о текущем использовании ресурсов по узлам и по модулям. В нем также содержатся сведения о кластере и описания всех доступных сущностей Kubernetes.

  • Журналы узлов и конфигурация

    Конфигурация каждого узла (например, его каталога /etc) и связанные с узлом журналы (например, journald), собираются в одном каталоге для каждого узла кластера. Имя каталога соответствует имени узла. Внутреннее содержимое каталога соответствует файловой системе узла. Количество таких каталогов соответствует количеству узлов кластера.

  • Журналы служб

    Журналы запущенных служб Kubernetes доступны в <hostname>/services-logs/<namespace>/<App-Name>/<Container-Name>.log. Пример имени файла — my-host-01/services-logs/prelude/vco-app/vco-server-app.log.

    • hostname — это имя узла, на котором выполняется или выполнялся контейнер приложения. Как правило, на каждом узле используется один экземпляр каждой службы. Например, 3 узла = 3 экземпляра.
    • namespace — это пространство имен Kubernetes, в котором развернуто или было развернуто приложение. Для служб, связанных с пользователями, оно имеет значение prelude.
    • app-name — это имя приложения Kubernetes, которое создало журналы, например provisioning-service-app.
    • container-name — это имя контейнера, в котором созданы журналы. Некоторые приложения состоят из нескольких контейнеров. Например, vco-app содержит контейнеры vco-server-app и vco-controlcenter-app.
  • Журналы модулей (устарело)

    До того как в vRealize Automation 8.2 были внесены изменения в архитектуру ведения журналов, журналы служб (описанные в маркированном списке выше) находились в наборе журналов в каталоге каждого модуля. Хотя наборы журналов модулей можно по-прежнему создавать с помощью командной строки vracli log-bundle --include-legacy-pod-logs, это не рекомендуется делать, поскольку все данные журналов уже находятся в журналах служб. Создание журналов модулей может привести к невынужденной потере времени и затратам памяти при создании набора журналов.