Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Синтаксис определения пользовательской переменной следующий:

Блок кода
{{ variable }}


Примечание
Название переменной может содержать только буквы латинского алфавита, цифры и знаки подчёркивания. Название переменной обязательно должно начинаться с буквы. Также имя переменной регистрозависимое, поэтому variable и VARIable - это разные переменные.


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

...

  • eccm — содержит переменные с различной системной информацией
    • eccm.user — имя пользователя, который запустил задачу на групповое конфигурирование
    • eccm.time — время запуска задачи на групповое конфигурирование (время сервера)
    • eccm.ip_address — IP адрес сервера ECCM (management интерфейс)
  • global — содержит глобальные общесистемные параметры и настройки
    • global.snmp_communities— список SNMP communities, задаваемый глобально в системных настройках ЕССМ. (warning) Так как данная переменная содержит список значений, то доступ к ней осуществляется либо по индексу: {{ global.snmp_communities[0] }}, либо в цикле: {% for c community in global.snmp_communities %} {{ c community }} {% endfor %}
  • group - содержит переменные, специфичные для группы устройства, на которое применяется данный шаблон
    • group.id — содержит id группы
    • group.name — содержит имя группы
  • device - содержит переменные, специфичные для устройства, на которое применяется данный шаблон
    • device.id — содержит id устройства
    • device.ip — содержит management IP адрес устройства
    • device.mac — содержит MAC адрес устройства
    • device.sn — содержит серийный номер устройства
    • device.hostname — содержит hostname устройства
    • device.model — содержит название модели устройства
    • device.series — содержит серию устройства
    • device.snmp_communities — содержит список SNMP communities устройства, заданный в настройках доступа для данного устройства. (warning) Содержит список значений, по аналогии с global.snmp_communities.

Типы пользовательских переменных

Шаблонизатор ЕССМ предлагает возможность гибко настраивать значения для пользовательских переменных.

В связи с тем, что при групповом конфигурировании большого количества устройств может возникнуть потребность динамически генерировать значения для определённых переменных, шаблонизатор ЕССМ предоставляет возможность настраивать для пользовательских переменных генерируемые последовательности. Такие переменные имеют явно задаваемый тип SEQUENCE (последовательность), и значения для них задаются в определённых форматах (будет рассмотрено ниже). Обычные же переменные имеют тип по умолчанию STATIC, и их значения интерпретируются в шаблоне as-is. Задание типа переменных будет рассмотрено в разделе "Заполнение переменных".

Если для переменной указан тип SEQUENCE, то значение переменной должно быть задано в одном из следующих форматов (тип последовательности определится автоматически исходя из формата):

1. <число> - <число> – числовая последовательность, задаётся двумя целыми числами, разделёнными дефисом, генерирует последовательность целых чисел в указанном замкнутом диапазоне.

     Пример: 1 - 5 

     Создаст последовательность из чисел 1, 2, 3, 4, 5

2. <item1>, <item2>, ..., <itemN> – массив-последовательность, задаётся произвольными значениями, разделёнными запятыми, генерирует соответствующую последовательность из перечисленных элементов.

     Пример: value1, value2, 3, value4, abc

3. <ip> - <ip> – последовательность IP адресов, задаётся двумя IP адресами, разделёнными дефисом, генерирует последовательность IP адресов из указанного замкнутого диапазона адресов.

     Пример: 192.168.0.1 - 192.168.0.4

     Создаст последовательность из адресов 192.168.0.1, 192.168.0.2, 192.168.0.3, 192.168.0.4

4. <ip/prefix> или <ip/ip> – последовательность IP адресов из указанной подсети, задаётся IP адресом и префиксом подсети, либо IP адресом и полным адресом подсети, генерирует последовательность IP адресов из указанной подсети, не включая broadcast и сам адрес подсети. Исключение для подсетей /31 и /32, где в последовательность включаются все адреса.

     Пример: 192.168.1.0/24

     Создаст последовательность из адресов 192.168.1.1, 192.168.1.2, ..., 192.168.1.254 (итого 254 адреса)

     Пример: 192.168.1.10/31

     Создаст последовательность из адресов 192.168.1.10, 192.168.1.11 (итого 2 адреса)


Информация

Принцип работы и использования SEQUENCE переменных


Генерируемые последовательности распределяют значения между шаблонами, применяемыми на разные устройства в рамках одной задачи на групповое конфигурирование.



Управляющие конструкции

Шаблонизатор Jinja2 поддерживает ряд стандартных управляющих конструкций: операторы ветвлений (if ... else), циклы (for), макросы, неблочные фильтры, функции, присвоения, математические и логические операторы. 

...

Блок кода
Пример задания внутришаблонной переменной:
{% set var = 'example' %}

Пример фильтра upper
{{ var|upper }} -> EXAMPLE

Пример применения фильтра join на массиве:
{{ [1, 2, 3]|join('|') }} -> 1|2|3

Пример форматирования строки при помощи фильтра format:
{{ "%s, %s!"|format("Hello", "World") }} -> Hello, World!

Пример арифметических операций:
{{ (1 + 2) * 10 / 5 }} -> 6.0

Запуск

Раздел предназначен для создания задачи группового конфигурирования. Представляет собой последовательность из 4 шагов:

  1. Выбор устройств
  2. Выбор шаблона
  3. Установка расписания
  4. Применить

Scroll Pagebreak

...

Более подробно о возможностях и функциях шаблонизатора Jinja2 можно прочитать в официальной документации.

tinymce.emotions_dlg.warning В силу технических особенностей реализации шаблонизатора в ЕССМ, некоторые более сложные конструкции, не приведённые в данном Руководстве, но доступные в нативной реализации Jinja2, могут не поддерживаться.


Групповое конфигурирование

Запуск задачи на групповое конфигурирование устройств осуществляется из раздела "Устройства" кнопкой "Конфигурировать" на панели управления устройствами. Чтобы запустить процедуру настройки задачи, необходимо выбрать одно или несколько устройств и нажать на кнопку "Конфигурировать".

Выбор устройств

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

Image Added

Выбор шаблона

При нажатии на кнопку "Конфигурировать" откроется степпер группового конфигурирования. На первом шаге необходимо выбрать нужный шаблон конфигурации.

Раздел для выбора шаблона конфигурации. В левой части отображается таблица существующих в системе шаблонов (1), в правой части отображается содержимое выбранного шаблона (2).

Image Added

Если в выбранном шаблоне присутствуют кастомные пользовательские переменные, как в приведённом примере – syslog_max_files и syslog_file_size – то в степпере открывается второй динамический шаг по настройке переменных шаблона.

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

Заполнение переменных

йцуйцуйцу

Image Added

Image Added

Scroll Pagebreak

Установка расписания

Позволяет настроить время начала и завершения выполнения задачи.

...

Последовательно — обновление по порядку, с использованием одного обработчика.


Scroll Pagebreak

Применить

В интерфейсе резюмируются ранее настроенные параметры расписания, отображаются выбранный шаблон и список устройств.

...

  1. Настройки DHCP — для настройки DHCP-сервера.
  2. Привязки — для создания привязки инициализации – сущности, в которой хранится информация о параметрах ожидаемого устройства.
  3. Состояние инициализации — текущее состояние инициализации устройства в системе и журнал предыдущих состояний.

Scroll Pagebreak

Настройки DHCP

На данной вкладке располагаются настройки для конфигурирования DHCP-сервера. 

...

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

Scroll Pagebreak

Задачи


В разделе отображается таблица с задачами, выполняемыми в системе от имени пользователя. Периодические системные задачи, такие как синхронизация устройств, по умолчанию скрыты. Их можно отобразить, нажав "Показать" в последнем столбце таблицы.

...

  • Статус — текущий статус выполнения задачи.
  • Тип — суть задачи.
  • Описание — параметры, с которыми задача была запущена.
  • Дата создания — дата и время создания задачи.
  • Дата запуска — дата и время запуска задачи в активную работу. Может не совпадать с датой создания, т.к. задача может находиться в очереди обработчика.
  • Дата завершения — дата и время завершения работы над задачей. При этом задача может завершиться успешно или не успешно.
  • Лог — открыть журнал выполнения задачи из Ansible.
  • Подзадачи — задачи для работы над каждым отдельным устройством. При отображении таблицы задач все подзадачи скрыты, и отображается только родительская задача с интегральным статусом. Эта кнопка используется для отображения всех подзадач для групповой операции.

Scroll Pagebreak

События

Отображает список событий, произошедших в системе. Важные события, сообщающие о проблемах, выделяются красным цветом, информационные — зеленым.

...

  1. Доступ
  2. Пользователи
  3. Роли
  4. Лицензия
  5. Резервное копирование
  6. Определение статусов устройств

Scroll Pagebreak

Доступ

Интерфейс для настройки параметров по умолчанию для доступа к устройствам. 

...

  1. SSH и SFTP — используются для управления устройствами и передачи файлов на устройства.  Для настройки доступны логин и пароль.
  2. SNMP — используется для мониторинга устройств и получения инвентарных данных. Для настройки доступно read community.
  3. network — настройки определения сетевой доступности устройства. Проверка может выполняться по протоколу ICMP ("обычный пинг") и проверкой установки TCP-соединения (более быстрый способ). Во втором случае дополнительно необходимо указать, на какой порт будет устанавливаться соединение.
  4. SNMP COMMUNITY-RO — определение community для сбора метрик с устройств по SNMP. Для этого используется отдельный механизм опроса, настройки которого возможны только глобально для всей системы.

Scroll Pagebreak

Пользователи

Раздел для управления учетными записями пользователей системы.

...

  1. Кнопки для добавления и удаления ролей.
  2. Таблица ролей.

Scroll Pagebreak

Предустановленный набор ролей

...