El área de trabajo Highstate se utiliza para administrar y supervisar la configuración del sistema. Puede acceder a una vista histórica de las ejecuciones de highstate en la infraestructura para obtener información y tendencias relacionadas con la discrepancia de configuración en todos los minions.

Como administrador del sistema, es consciente de la importancia de mantener la configuración del sistema en conformidad, de identificar los sistemas con errores o cambios y de que los sistemas vuelvan a cumplir con la directiva lo antes posible. El área de trabajo Highstate proporciona información importante sobre la configuración del sistema e incluye herramientas que pueden ayudarlo a administrar la discrepancia de configuración.

¿Qué es highstate?

En lugar de configurar manualmente cada minion y cada aplicación uno por uno, puede utilizar el sistema de administración de estados de Automation Config para crear archivos de estado que se pueden aplicar a muchos minions de forma simultánea. Estos archivos de estado pueden incluir un conjunto de instrucciones que le indican a Automation Config qué operaciones se deben ejecutar en el minion y en qué orden. El sistema de administración de estado también garantiza que cada minion esté configurado correctamente y de la forma más eficiente posible.

No obstante, si tiene cientos de archivos de estado y miles de minions, la ejecución de cada archivo de estado puede llevar tiempo. Una forma más rápida e intuitiva de aplicar archivos de estado a los minions es ejecutar un highstate. Cuando se ejecuta un highstate, se llama a la función state.highstate. La función state.highstate aplica todos los estados de Salt detallados en un archivo top.sls que se crea en el maestro de Salt.

La ejecución del highstate puede ser útil en los siguientes escenarios:
  • Está configurando la infraestructura por primera vez y necesita estandarizar las configuraciones en todo su entorno.
  • Tiene sistemas críticos que deben cumplir con la directiva. El área de trabajo Programaciones en Automation Config se puede utilizar para programar un trabajo de highstate que se ejecute una vez a la semana para garantizar que los equipos estén configurados correctamente.

El archivo top.sls asigna los estados de Salt a un grupo de destinos y consiste en el entorno de Salt, los criterios de destino y los archivos de estado que se ejecutarán. Los minions descargan el archivo top.sls e intentan hacer coincidir las expresiones que contiene. Si un minion coincide con la expresión, ejecuta los archivos de estado especificados. Por ejemplo, puede organizar que el archivo top.sls aplique determinados archivos de estado a todos los minions, algunos a minions de CentOS y otros a minions cuyos identificadores contienen la cadena web.

base: 
  '*':
    - vim
    - scripts
  'os:CentOS': 
    - match: grain 
    - centos-config 
  '*web*':
    - apache
    - django

Al ejecutar el highstate, si una configuración cambió, Automation Config puede devolver los minions y las aplicaciones a su estado de configuración que cumple con la directiva. Si es necesario cambiar una configuración, Automation Config implementa rápidamente esos cambios en los minions afectados. A continuación, puede utilizar el área de trabajo Highstate para ver los cambios realizados durante la última ejecución de highstate. Los gráficos y los informes en el área de trabajo también ayudan a visualizar los cambios en toda la infraestructura.

Considere probar los cambios en un entorno de desarrollo o en uno provisional. Si los estados son correctos, puede aplicarlos a su entorno de producción.

También puede ejecutar highstate en el modo de simulacro. Si ejecuta el highstate en modo de simulacro, Automation Config genera un retorno de trabajo que muestra los cambios que se realizarían en cada minion si se aplicaran los estados. Para obtener más información sobre el modo de simulacro, consulte Cómo crear trabajos.

Importante:

Antes de ejecutar el highstate por primera vez, debe crear y configurar el archivo top.sls en el maestro de Salt. Para obtener más información sobre los estados de Salt y el archivo top.sls, consulte Organizar estados en la guía del usuario de Salt.

Ejecutar el highstate

Después de configurar el archivo top.sls, puede ejecutar el primer highstate.

Para ejecutar el highstate:

  1. Haga clic en la pestaña Estados en el área de trabajo Highstate.
  2. Haga clic en Ejecutar highstate.
  3. En el cuadro de diálogo, seleccione el destino donde se ejecutará el highstate.
  4. Haga clic en Ejecutar highstate.

Una vez finalizada la ejecución del highstate, puede ver los resultados de la primera ejecución del highstate en varios niveles:

  • Nivel global: consulte los resultados del highstate en todo el entorno.
  • Nivel de destino: consulte los resultados del highstate por grupo de destino.
  • Nivel de minion: consulte los resultados del highstate por minion.

Nivel global

Puede ver el cumplimiento del highstate en el entorno desde las pestañas Estados y Minions. El nivel global lo ayuda a evaluar el estado general de la configuración del sistema desde la última ejecución de highstate.

El área de trabajo Highstate en la interfaz de usuario de SaltStack Config después de una ejecución de highstate reciente

En todos los niveles, se extraen los últimos datos del highstate de cada minion, tanto si los datos proceden de una ejecución de highstate reciente como de muchas ejecuciones de highstate. Puede utilizar el menú desplegable Limitar por en la pestaña Estados para asegurarse de que el área de trabajo Highstate solo muestre los datos más recientes.

El nivel global incluye la siguiente información para todos los estados:

Término Descripción
Estado La declaración del identificador para el estado, por ejemplo, common-centos-packages.
Archivo SLS El archivo que contiene la declaración de estado, por ejemplo, centos-config.sls.
Minions El número de minions que ejecutaron el estado.
Errores Indica si se produjeron errores al ejecutar el estado. El estado contiene errores por varios motivos. Por ejemplo:
  • Un archivo requerido no existe o no es posible acceder a él debido a los permisos del sistema de archivos.
  • Un servicio o recurso de red no está disponible.
  • Hay un conflicto de dependencia de paquetes, por lo que no se puede aplicar el estado.

La columna Comentarios proporciona más detalles sobre la causa de los errores en el estado.

Correcto Indica el porcentaje general de estados que se ejecutaron correctamente.
Modificado Indica el porcentaje general de minions que informaron cambios para cada estado.
Cambios Indica si la ejecución de highstate más reciente generó cambios.

La columna Comentarios proporciona más detalles sobre los cambios realizados.

Duración media Duración media de la ejecución del estado en milisegundos (ms).
Entornos El entorno de Salt que contiene el archivo de estado, por ejemplo, base o dev.
JID El número de identificación del trabajo para la ejecución de state.highstate.

Si hace clic en un estado de la pestaña Estados, puede ver la ejecución de highstate más reciente en cada uno de los minions de Salt.

Todas las ejecuciones de highstate anteriores para el estado predeterminado de la página HTML en SaltStack Config

Se proporciona la siguiente información para cada estado:

Término Descripción
ID de minion El identificador del minion que ejecutó el estado.
Estado Indica si el estado se ejecutó correctamente o si generó errores.
Cambios Indica si la ejecución de highstate más reciente generó cambios.

La columna Comentarios proporciona más detalles sobre los cambios realizados.

Entorno El entorno de Salt que contiene el archivo de estado, por ejemplo, base o dev.
Clúster/maestro El maestro de Salt asociado con el minion.
Duración Duración de la ejecución del estado en milisegundos (ms).
Comentario Un mensaje que proporciona más detalles sobre la correcta ejecución del estado o los errores generados.
JID El número de identificación del trabajo para la ejecución de state.highstate.

También puede ejecutar un trabajo de highstate ad hoc a nivel global:

  1. En Automation Config, abra el espacio de trabajo Highstate.
  2. Haga clic en Ejecutar highstate.
  3. En el cuadro de diálogo, seleccione el destino donde se ejecutará el highstate.
  4. Haga clic en Ejecutar highstate.

Puede supervisar el progreso del trabajo en la pestaña Actividad del área de trabajo Highstate. Una vez completado el trabajo, puede ver los informes actualizados y los detalles de la ejecución del highstate a nivel global, de destino o de minion.

Nivel de destino

Para ver los resultados del highstate a nivel de destino, puede abrir el área de trabajo Destinos. Si hace clic en un destino, se pueden ver todas las ejecuciones de estado anteriores de todos los minions del grupo de destino.

Ejecuciones previas de highstate para un grupo de destino de CentOS en SaltStack Config

El nivel de destino proporciona la siguiente información acerca de cada minion del grupo de destino:

Término Descripción
ID de minion El identificador del minion.
Ejecuciones de estado El número de ejecuciones de estado de un minion.
Errores Indica si se produjeron errores al ejecutar el estado. El estado puede generar errores por varios motivos. Por ejemplo:
  • Un archivo requerido no existe o no es posible acceder a él debido a los permisos del sistema de archivos.
  • Un servicio o recurso de red no está disponible.
  • Hay un conflicto de dependencia de paquetes, por lo que no se puede aplicar el estado.

La columna Comentarios proporciona más detalles sobre la causa de los errores en el estado.

Correcto Indica el porcentaje general de estados que se ejecutaron correctamente.
Modificado Indica el porcentaje general de estados que generaron cambios.
Cambios Indica si la ejecución de highstate más reciente generó cambios.

La columna Comentarios proporciona más detalles sobre los cambios realizados.

Duración Duración de la ejecución del estado en milisegundos (ms).
Entornos El entorno de Salt que contiene el archivo de estado, por ejemplo, base o dev.
JID El número de identificación del trabajo para la ejecución de state.highstate.

Para ejecutar un trabajo de highstate ad hoc a nivel de destino:

  1. En Automation Config, abra el área de trabajo Destinos.
  2. Seleccione el grupo de destino en el que desea ejecutar el highstate.
  3. Haga clic en la pestaña Highstate.
  4. Haga clic en Ejecutar highstate.
  5. En el cuadro de diálogo, confirme el grupo de destino en el que desea ejecutar el highstate.
  6. Haga clic en Ejecutar highstate.

Nivel de minion

Para ver los resultados del highstate a nivel de minion, puede abrir la pestaña Minions en el área de trabajo Highstate.

Resultados del highstate para todos los minions en un entorno de SaltStack Config

El nivel de minion proporciona la siguiente información para todos los minions:

Término Descripción
ID de minion El identificador del minion.
Ejecuciones de estado El número de ejecuciones de estado de un minion.
Errores Indica si se produjeron errores al ejecutar el estado. El estado puede generar errores por varios motivos:
  • Un archivo requerido no existe o no es posible acceder a él debido a los permisos del sistema de archivos.
  • Un servicio o recurso de red no está disponible.
  • Hay un conflicto de dependencia de paquetes, por lo que no se puede aplicar el estado.

La columna Comentarios proporciona más detalles sobre la causa de los errores en el estado.

Correcto Indica el porcentaje general de estados que se ejecutaron correctamente.
Modificado Indica el porcentaje general de estados que generaron cambios para el minion.
Cambios Indica si la ejecución de highstate más reciente generó cambios.

Si hace clic en un ID de minion, se pueden ver todas las ejecuciones de estado anteriores de un minion.

Todas las ejecuciones de estado para un minion de Salt en el área de trabajo Highstate

Se proporciona la siguiente información:

Término Descripción
Correcto Indica si el estado se ejecutó correctamente o si generó errores.
Cambios Indica si la ejecución de highstate más reciente generó cambios.
Entorno El entorno de Salt que contiene el archivo de estado, por ejemplo, base o dev.
Archivo SLS El archivo que contiene la declaración de estado, por ejemplo, centos-config.sls.
Estado La declaración del identificador para el estado, por ejemplo, common-centos-packages.
Duración Duración de la ejecución del estado en milisegundos (ms).
Comentario Un mensaje que proporciona más detalles sobre la correcta ejecución del estado o los errores generados.
JID El número de identificación del trabajo para la ejecución de state.highstate.

Para ejecutar un trabajo de highstate ad hoc a nivel de minion:

  1. En Automation Config, abra el espacio de trabajo Highstate.
  2. Seleccione los minions en los que desea ejecutar el highstate.
  3. Haga clic en Ejecutar highstate.
  4. En el cuadro de diálogo, haga clic en Ejecutar highstate.

Ver la actividad del highstate

La pestaña Actividad del área de trabajo Highstate se utiliza para supervisar el estado de las ejecuciones de highstate. La pestaña Actividad permite ver muchos tipos de eventos y actividades, como los trabajos programados o los trabajos ad hoc.

Un gráfico interactivo en el área de trabajo Highstate que muestra el número de minions con y sin cambios durante los últimos 30 días

El gráfico interactivo de la pestaña Actividad incluye varios informes que proporcionan una descripción general de las ejecuciones de highstate anteriores en el entorno de Automation Config. Puede ver los resultados de las últimas 24 horas a los últimos 30 días en cada informe.

Informe Descripción
Minion: duración media Muestra la duración media de las ejecuciones de estado en todos los minions, en el tiempo.
Minions: con cambios y sin cambios Muestra el número de minions que informaron cambios frente a los minions que no lo hicieron, en el tiempo.
Minions: ejecución correcta y con errores Muestra la cantidad de minions que informaron ejecuciones de estado correctas frente a los minions que notificaron ejecuciones de estado con errores, en el tiempo.
Estados: con cambios y sin cambios Muestra la cantidad de estados que generaron cambios frente a los estados que no lo hicieron, en el tiempo.
Estados: ejecución correcta y con errores Muestra la cantidad de estados que se ejecutaron correctamente frente a los estados con errores.

La pestaña Actividad contiene tres secciones donde se clasifican los trabajos por estado:

  • Completado: se utiliza para supervisar el estado de los trabajos de highstate completados.
  • En curso: se utiliza para supervisar el estado de los trabajos de highstate que se encuentran en ejecución.
  • Próximo: se utiliza para supervisar el estado de los próximos trabajos de highstate.

La tabla de la pestaña Actividad muestra información sobre el estado, el origen, la programación (si está disponible), el trabajo, el grupo de destino y el identificador de trabajo asociado (JID). Puede filtrar las columnas según sea necesario.