Рабочая область Highstate используется для управления конфигурацией системы и ее мониторинга. Чтобы получить аналитические данные и узнать тенденции, связанные с дрейфом конфигураций, по всем служебным серверам, можно просмотреть журнал о запусках Highstate в инфраструктуре.
Вы как системный администратор знаете, насколько важно поддерживать соответствие конфигурации системы нормативным требованиям, выявлять системы, в которых возникли ошибки или в которые были внесены изменения, и как можно быстрее снова приводить эти системы в соответствие. Рабочая область Highstate предоставляет ценные аналитические данные о конфигурации системы и инструменты для управления дрейфом конфигураций.
Что такое Highstate?
Вместо того чтобы вручную по одному настраивать каждый служебный сервер или каждое приложение, можно использовать систему управления состоянием SaltStack Config, позволяющую создавать файлы состояния, которые можно применять одновременно ко множеству служебных серверов. Эти файлы состояния могут включать набор инструкций для SaltStack Config, в которых указывается, какие операции и в каком порядке должны выполняться на служебном сервере. Система управления состоянием обеспечивает надлежащую и максимально эффективную настройку каждого служебного сервера.
Если у вас несколько сотен файлов состояния и тысяч служебных серверов, запуск каждого файла состояния займет много времени. Более быстрый и интуитивно понятный способ применения файлов состояния к служебным серверам — выполнить задание Highstate. При выполнении задания Highstate вызывается функция state.highstate
. Функция state.highstate
применяет все состояния Salt, представленные в файле top.sls
, который создается на главном сервере Salt.
- Инфраструктура настраивается впервые, и для этого необходимо стандартизировать конфигурации во всей среде.
- Имеются критически важные системы, которые должны всегда соответствовать нормативным требованиям. Рабочая область Расписание в SaltStack Config позволяет запланировать задание Highstate, которое выполняется один раз в неделю для обеспечения надлежащей настройки компьютеров.
Файл top.sls
сопоставляет состояния Salt с группой целевых объектов и формируется из среды Salt, целевых критериев и файлов состояния для запуска. Служебные серверы загружают файл top.sls
и пытаются сопоставить содержащиеся в нем выражения. Если находится соответствующее выражение, служебный сервер запускает указанные файлы состояния. Например, можно сформировать файл top.sls
так, чтобы применить одни файлы состояния ко всем служебным серверам, другие — к служебным серверам CentOS, а третьи — к служебным серверам, идентификаторы которых содержат строку web
.
base: '*': - vim - scripts 'os:CentOS': - match: grain - centos-config '*web*': - apache - django
Если при выполнении задания Highstate происходит дрейф конфигурации, SaltStack Config переводит служебные серверы и приложения в состояние конфигурации, соответствующее нормативным требованиям. Если конфигурацию необходимо изменить, SaltStack Config обеспечивает быстрое развертывание изменений на затронутых служебных серверах. Затем в рабочей области Highstate можно посмотреть, какие изменения были внесены во время последнего выполнения задания Highstate. Изменения в инфраструктуре наглядно представлены в диаграммах и отчетах рабочей области.
Рекомендуется проверять изменения в среде разработки или производственного тестирования. В случае успешного выполнения состояний их можно применить в производственной среде.
Вы также можете запустить Highstate в режиме пробного выполнения. Если запустить Highstate в режиме пробного выполнения, SaltStack Config создаст возвращаемый результат задания, демонстрирующий, какие изменения были бы внесены на каждом служебном сервере при применении состояний. Дополнительные сведения о режиме пробного выполнения см. в разделе Создание заданий.
Перед первым выполнением задания Highstate необходимо создать и настроить файл top.sls
на главном сервере Salt. См. раздел Организация состояний в руководстве пользователя Salt для получения дополнительных сведений о состояниях Salt и файле top.sls
.
Выполнение задания Highstate
После настройки файла top.sls
можно выполнить первое задание Highstate.
Для этого выполните указанные ниже действия.
- Перейдите на вкладку Состояния в рабочей области Highstate.
- Нажмите Запустить Highstate.
- В диалоговом окне выберите целевой объект, для которого необходимо выполнить задание Highstate.
- Нажмите Запустить Highstate.
После завершения процесса результаты первого запуска Highstate можно просмотреть на нескольких уровнях.
- Глобальный уровень: просмотр возвращаемых результатов Highstate для всей среды.
- Целевой уровень: просмотр возвращаемых результатов Highstate по целевой группе.
- Уровень служебных серверов: просмотр возвращаемых результатов Highstate по служебному серверу.
Глобальный уровень
Соответствие Highstate нормативным требованиям для всей среды можно посмотреть на вкладках Состояния и Служебные серверы. Глобальный уровень позволяет оценить общее состояние конфигурации системы с момента последнего выполнения задания Highstate.
На всех уровнях последние данные Highstate извлекаются из каждого служебного сервера независимо от того, получены ли они во время последнего выполнения задания Highstate или из нескольких запусков Highstate. Используйте раскрывающееся меню Ограничить на вкладке Состояния, чтобы отобразить в рабочей области Highstate только последние данные.
Глобальный уровень включает следующую информацию для всех состояний.
Термин | Описание |
---|---|
Состояние | Определение идентификатора для состояния, например common-centos-packages . |
Файл SLS | Файл, содержащий определение состояния, например centos-config.sls . |
Служебные серверы | Количество служебных серверов, на которых задано состояние. |
Ошибки | Указание того, произошел ли сбой состояния. Сбой может произойти по разным причинам. Например:
Дополнительные сведения о причине сбоя состояния приведены в столбце Комментарии. |
Успешно | Указание общего процента успешно примененных состояний. |
Изменено | Указание общего процента служебных серверов, которые сообщили об изменениях для каждого состояния. |
Изменения | Указание того, привело ли последнее выполнение задания Highstate в изменениям. Дополнительные сведения о внесенных изменениях приведены в столбце Комментарии. |
Средняя продолжительность | Средняя продолжительность выполнения состояния в миллисекундах (мс). |
Среды | Среда Salt, содержащая файл состояния, например base или dev . |
JID | Идентификационный номер задания для выполнения state.highstate . |
Щелкните состояние на вкладке Состояния, чтобы посмотреть задания Highstate, выполненные в последний раз на каждом служебном сервере Salt.
Для каждого состояния предоставляются указанные ниже сведения.
Термин | Описание |
---|---|
Идентификатор служебного сервера | Идентификатор служебного сервера, на котором задано состояние. |
Статус | Указание того, успешно ли выполнен запуск состояния. |
Изменения | Указание того, привело ли последнее выполнение задания Highstate в изменениям. Дополнительные сведения о внесенных изменениях приведены в столбце Комментарии. |
Среда | Среда Salt, содержащая файл состояния, например base или dev . |
Кластер / главный сервер | Главный сервер Salt, связанный со служебным сервером. |
Продолжительность | Продолжительность запуска состояния в миллисекундах (мс). |
Комментарий | Сообщение с дополнительными сведениями об успешном или неудачном выполнении состояния. |
JID | Идентификационный номер задания для выполнения state.highstate . |
На глобальном уровне также можно выполнить незапланированное задание Highstate.
- В SaltStack Config откройте рабочую область Highstate.
- Нажмите Запустить Highstate.
- В диалоговом окне выберите целевой объект, для которого необходимо выполнить задание Highstate.
- Нажмите Запустить Highstate.
Ход выполнения задания можно отслеживать на вкладке Действия рабочей области Highstate. После завершения процесса можно посмотреть обновленные отчеты и сведения о выполнении задания Highstate на глобальном, целевом уровнях или уровне служебного сервера.
Целевой уровень
Для просмотра возвращаемых результатов Highstate на целевом уровне откройте рабочую область Целевые объекты. Щелкните целевой объект, чтобы посмотреть все предыдущие запуски состояния для всех служебных серверов в целевой группе.
Целевой уровень содержит указанную ниже информацию о каждом служебном сервере в целевой группе.
Термин | Описание |
---|---|
Идентификатор служебного сервера | Идентификатор служебного сервера. |
Запуски состояния | Количество запусков состояния для служебного сервера. |
Ошибки | Указание того, произошел ли сбой состояния. Состояние может завершиться сбоем по разным причинам. Например:
Дополнительные сведения о причине сбоя состояния приведены в столбце Комментарии. |
Успешно | Указание общего процента успешно примененных состояний. |
Изменено | Указание общего процента состояний, которые привели к изменениям. |
Изменения | Указание того, привело ли последнее выполнение задания Highstate в изменениям. Дополнительные сведения о внесенных изменениях приведены в столбце Комментарии. |
Продолжительность | Продолжительность запуска состояния в миллисекундах (мс). |
Среды | Среда Salt, содержащая файл состояния, например base или dev . |
JID | Идентификационный номер задания для выполнения state.highstate . |
Чтобы запустить на целевом уровне незапланированное задание Highstate, выполните указанные ниже действия.
- В SaltStack Config откройте рабочую область Целевые объекты.
- Выберите целевую группу, в которой необходимо выполнить задание Highstate.
- Перейдите на вкладку Highstate.
- Нажмите Запустить Highstate.
- В диалоговом окне подтвердите целевую группу, в которой необходимо выполнить задание Highstate.
- Нажмите Запустить Highstate.
Уровень служебного сервера
Чтобы просмотреть возвращаемые результаты Highstate на уровне служебного сервера, откройте вкладку Служебные серверы в рабочей области Highstate.
Уровень служебного сервера включает следующую информацию для всех служебных серверов.
Термин | Описание |
---|---|
Идентификатор служебного сервера | Идентификатор служебного сервера. |
Запуски состояния | Количество запусков состояния для служебного сервера. |
Ошибки | Указание того, произошел ли сбой состояния. Состояние может завершиться сбоем по нескольким причинам.
Дополнительные сведения о причине сбоя состояния приведены в столбце Комментарии. |
Успешно | Указание общего процента успешно примененных состояний. |
Изменено | Указание общего процента состояний, которые привели к изменениям на служебном сервере. |
Изменения | Указание того, привело ли последнее выполнение задания Highstate в изменениям. |
Щелкните идентификатор служебного сервера, чтобы посмотреть все предыдущие запуски состояния для служебного сервера.
Предоставляются указанные ниже сведения.
Термин | Описание |
---|---|
Успешно | Указание того, успешно ли выполнен запуск состояния. |
Изменения | Указание того, привело ли последнее выполнение задания Highstate в изменениям. |
Среда | Среда Salt, содержащая файл состояния, например base или dev . |
Файл SLS | Файл, содержащий определение состояния, например centos-config.sls . |
Состояние | Определение идентификатора для состояния, например common-centos-packages . |
Продолжительность | Продолжительность запуска состояния в миллисекундах (мс). |
Комментарий | Сообщение с дополнительными сведениями об успешном или неудачном выполнении состояния. |
JID | Идентификационный номер задания для выполнения state.highstate . |
Чтобы запустить на уровне служебного сервера незапланированное задание Highstate, выполните указанные ниже действия.
- В SaltStack Config откройте рабочую область Highstate.
- Выберите один или несколько служебных серверов, для которых необходимо выполнить задание Highstate.
- Нажмите Запустить Highstate.
- В диалоговом окне щелкните Запустить Highstate.
Просмотр действий Highstate
Вкладка Действия в рабочей области Highstate позволяет отслеживать статус запусков Highstate. На вкладке Действия отображаются различные события и операции, например запланированные или незапланированные задания.
Интерактивная диаграмма на вкладке Действия содержит несколько отчетов, которые дают представление о предыдущих запусках Highstate в среде SaltStack Config. Каждый отчет можно сформировать на основе результатов от последних 24 часов и до 30 дней.
Отчет | Описание |
---|---|
Служебный сервер: средняя продолжительность | Отображение средней продолжительности запусков состояния по всем служебным серверам (в динамике). |
Служебные серверы: с изменениями и без них | Отображение количества служебных серверов, которые сообщили об изменениях, и служебных серверов, которые не сообщили об этом (в динамике). |
Служебные серверы: успех или сбой | Отображение количества служебных серверов, которые сообщили об успешно выполненных запусках состояния, и служебных серверов, сообщивших о сбое (в динамике). |
Состояния: с изменениями и без изменений | Отображение количества состояний, которые привели к изменениям, и состояний, которые не вызвали изменений (в динамике). |
Состояния: успех или сбой | Отображение количества успешных, а также завершившихся сбоем состояний. |
Вкладка Действия разбита на три раздела, в которых задания сортируются по статусу.
- Завершено: используется для мониторинга статуса завершенных заданий Highstate.
- Выполняется: используется для мониторинга статуса заданий Highstate, выполняемых в данный момент.
- Запланировано: используется для мониторинга статуса предстоящих заданий Highstate.
В таблице на вкладке Действия указаны следующие сведения: статус задания, источник, расписание (если доступно), задание, целевая группа и идентификатор связанного задания (JID). При необходимости столбцы можно отфильтровать.