IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Массовые операции

Одна команда, много объектов

  1. Выберите объекты — вручную, из сохранённой группы или по результату поиска (Поиск объектов по имени, Поиск объектов по параметру).

  2. Перейдите на вкладку Терминал. Полоса над полем ввода показывает, что выделение сохранилось.

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

  4. Нажмите Выполнить над выбранными и подтвердите действие.

Выделение переходит вместе с вами в терминале.
Выделение переходит вместе с вами в терминале

Как подставляются аргументы

Программа читает сигнатуру самой команды и подставляет домен и объект в объявленные ею места. Поэтому механизм работает и для команд, для которых он не был предусмотрен отдельно.

Что видно в журнале

Каждая отправленная команда фиксируется по имени объекта, поэтому понятно, к какому ответу она относится. Результаты отображаются свёрнутыми.

Когда останавливается

При первом отказе сервера. В итоге сообщается, сколько команд из скольких выполнено успешно.

Кнопка Снять выделение на той же полосе сбрасывает объекты, выбранные во вкладке «Объекты».

Выполнить на нескольких серверах

  1. Подключите нужные серверы.

  2. Наберите команду в поле ввода терминала — с тем же автодополнением и подсказками, что и для любой другой команды.

  3. Нажмите Выполнить на… в заголовке.

  4. Отметьте серверы. Есть кнопки Отметить все и Снять все.Выбор серверов намеренно оставлен за вами, поскольку при одновременном подключении к промышленному серверу и тестовым стендам «все» — редко то, что нужно.

  5. Нажмите Выполнить.

В итоге по каждому серверу отображается его ответ, время выполнения и признак того, совпали ли ответы.

Сравнить ответы

Если ответы разошлись, в итоге предлагается кнопка Сравнить.

Сравнение выполняется по содержимому ответа, а не по строке статуса: два сервера, одинаково ответившие 200 OK, — это как раз тот случай, когда важно увидеть различие в данных.

Окно построено по параметрам. Каждый различающийся параметр указан по точечному пути (Router.Limits.Max, ciphers[1]), а под ним — каждое значение по одному разу, с перечнем серверов, которые его дали, и их количеством; первым идёт значение, с которым согласно большинство. Поэтому параметр, по которому двадцать серверов разошлись на два значения, — это две строки, а не двадцать, и вопрос, ради которого окно открывают, — кто отличается и чем, — виден прямо в структуре таблицы.

Два различающихся параметра на четырёх серверах, сгруппированные по значению.
Два различающихся параметра на четырёх серверах, сгруппированные по значению
Столбец Что в нём

Параметр

Точечный путь, повторяется в каждой строке этого параметра.

Значение

Что ответили эти серверы. Если параметра у сервера нет вовсе, написано (здесь не задано), а не оставлена пустая ячейка.

Серверы с таким значением

Их имена в том порядке, в каком они перечислены в запуске.

Сколько

Количество — чтобы длинный список имён, обрезанный по ширине, всё равно поддавался счёту.

Перечисляются только различающиеся параметры — в настройках их сотни, и включение совпадающих скрыло бы те немногие, что действительно важны, — а строка над таблицей сообщает, сколько параметров разошлось и сколько серверов было опрошено. Массивы сравниваются по позициям, поэтому изменение порядка элементов также остаётся заметным.

Выполнить сценарий

Сценарий — обычный текстовый файл: по команде на строку, пустые строки и строки, начинающиеся с #, игнорируются. Файл example-script.txt из папки релиза — безопасная отправная точка: он выполняет только команды чтения.

# По команде на строку. Пустые строки и строки с # игнорируются.

PING
MyRights
SystemInfo
DomainsList
  1. Подключите серверы.

  2. Нажмите Выполнить сценарий и выберите файл.

  3. Прочитайте окно подтверждения. В нём указаны число команд, список серверов и первые десять команд сценария — до того, как что-либо отправлено.

  4. Нажмите Выполнить сценарий.

Сценарий выполняется на всех подключённых серверах, а не только на выбранном подмножестве. Отключите заранее те серверы, которых он не должен касаться.

Каждая команда завершается на всех серверах, прежде чем начнётся следующая. Для последовательности изменяющих команд это принципиально: иначе один сервер может остаться на середине сценария, пока остальные уже выполнят его до конца.

Выполнение останавливается при первой ошибке. Сценарий обычно представляет собой последовательность связанных действий, и продолжать после того, как один из шагов не выполнился, как правило, не имеет смысла.