Конфигурация агента (minion)
На машине, на которой установлен агент (minion), задайте настройки его конфигурации, следуя инструкции ниже.
|
По умолчанию агент (minion) настраивается через главный файл конфигурации — Также поддерживается создание файлов конфигураций в каталоге Подробную информацию о настройке главного файла конфигурации агента см. в официальной документации. |
-
Cоздайте файл конфигурации агента (minion)
/etc/salt/minion.d/master.conf. -
Задайте параметры для подключения к серверу управления (master).
-
Задайте интервал в минутах, через который агент будет отправлять ping-запрос на сервер управления (master). Рекомендуемое значение — 10 минут.
Выбор оптимального значения для параметра определяется количеством агентов, пропускной способностью сети и требованиями к актуальности данных.
При задании параметра следует учитывать следующие факторы:
-
чем меньше значение параметра, тем больший объем данных будет передаваться в единицу времени, увеличивая нагрузку на сеть;
-
увеличение значения приводит к увеличению интервала обновления данных, что может привести к их неактуальности.
Пример файла:
master: - <адрес сервера управления (master)> ping_interval: 10 -
-
(Опционально) для организации подключения в отказоустойчивом режиме мульти-мастер с автоматическим переключением (failover) внесите соответствующие настройки в файл
/etc/salt/minion.d/master.conf. Ниже представлены минимальные настройки для работы с типом конфигурацииfailover:master: - <адрес 1-ого сервера управления (master)> - <адрес 2-ого сервера управления (master)> - ... - <адрес N-ого сервера управления (master)> master_type: failover master_alive_interval: 60 master_failback: True master_failback_interval: 30 random_master: trueГде:
-
master_type— используемый способ подключения к серверам управления (master) (режимfailover); -
master_alive_interval— таймаут проверки серверов на предмет доступности, используемый для переключения между серверами; -
master_failback— сценарий повторного подключения к серверам при их недоступности (значениеTrueпозволяет выполнить попытку подключения к серверам, которые были ранее недоступны); -
master_failback_interval— таймаут проверки серверов при их повторной недоступности; -
random_master— сценарий выбора сервера управления (master) из списка (значениеTrueуказывает, что будет выбираться случайный сервер из списка).Подробнее о настройке режима мульти-мастер с автоматическим переключением (failover) см. в одноименном разделе.
-
-
(Опционально) создайте файл конфигурации агента (minion)
/etc/salt/minion.d/sudo_user.confи задайте в нем пользователя, от имени которого будут запускаться процессы SaltStack.Пример файла:
user: user sudo_user: rootГде:
-
user— пользователь, от имени которого будут запускаться процессы SaltStack (значение по умолчанию:root); -
sudo_user— пользователь, с правами которого будут выполняться удаленные команды SaltStack от имени активного пользователя (заданного в параметреuser)Обычно для параметра
sudo_userуказывается значениеroot. В этом случае в параметреuserне может быть указан пользовательroot.Если вы используете параметр
sudo_user, дополнительно выполните следующие настройки:-
Добавьте нового пользователя в файл
sudoersи укажите, что от имени этого пользователя может запускаться агент (minion). -
Очистите кэш агента (minion).
-
Укажите нового пользователя в качестве владельца каталога
minion pki:sudo_user: root.
-
-
Настройка журналирования
Для настройки журналирования агента (minion) cоздайте файл конфигурации
/etc/salt/minion.d/logging.conf и задайте в нем необходимые значения параметров, следуя примеру:
log_level: info
log_file: /app/inno-osmax/logs/salt-minion/minion
log_level_logfile: info
Где:
-
log_level— настройка уровня журналирования для сообщений, отправляемых на консоль; возможные значения:-
all— все сообщения будут записываться в лог-файл; -
warning— сообщения, содержащие предупреждение о потенциальной проблеме или необычном состоянии, которое не является ошибкой, но требует внимания; -
info— информационные сообщения о ходе работы модуля; -
profile— профильная информация о производительности модуля координации (SaltStack); -
debug— сообщения, содержащие отладочную информацию; -
trace— сообщения, содержащие детальную отладочную информацию; -
garbage— сообщения, содержащие более детальную (чемtrace) отладочную информацию; -
error— сообщения об ошибке, которая привела к некритическому сбою; -
critical— сообщения об ошибке, которая привела к критическому сбою; -
quiet— сообщения в лог-файл записываться не будут;
-
-
log_file— лог-файл; локальный путь к лог-файлу агента (minion); -
log_level_logfile— уровень журналирования для сообщений, отправляемых в лог-файл.Возможные значения аналогичны значениям параметра log_level.
Настройка ротации и архивирования
Для настройки ротации и архивирования используется служба logrotate, которая обеспечивает автоматическую ротацию,
сжатие, удаление и отправку лог-файлов по почте. Обычно служба logrotate запускается как ежедневное задание cron.
В зависимости от настроек каждый лог-файл может обрабатываться ежедневно, еженедельно, ежемесячно или при достижении
определенного размера.
Чтобы задать необходимые настройки, создайте файл конфигурации /etc/logrotate.d/salt-common.
Пример c минимальными настройками:
/app/inno-osmax/logs/salt-minion/minion {
daily
missingok
rotate 45
compress
notifempty
}
Где:
-
/app/inno-osmax/logs/<модуль SaltStack>/<имя лог-файла>— путь до лог-файла; -
daily— период ротации лог-файла (ежедневно); -
missingok— если лог-файл отсутствует, будет выполняться переход к следующему файлу без вывода сообщения об ошибке; -
rotate 45— лог-файл будет проходить 45 ежедневных ротаций, перед тем как будет удален; -
compress— файл будет сжат после ротации; -
notifempty— если лог-файл пустой, ротация выполняться не будет.