L’espace de travail Highstate est utilisé pour gérer et surveiller la configuration de votre système. Vous pouvez voir une vue historique des exécutions de Highstate dans votre infrastructure pour obtenir des analyses et des tendances liées à la dérive de configuration sur tous les minions.
En tant qu’administrateur système, vous savez qu'il est important de préserver la conformité de la configuration de votre système, d’identifier les systèmes présentant des défaillances ou des modifications, et de rétablir la conformité de ces systèmes le plus rapidement possible. L’espace de travail Highstate fournit de précieuses analyses sur la configuration de votre système. Il inclut également des outils qui peuvent vous aider à gérer la dérive de configuration.
Qu’est-ce que Highstate ?
Au lieu de configurer manuellement chaque minion ou chaque application successivement, vous pouvez utiliser le système de gestion de l'état de Automation Config pour créer des fichiers d'état que vous pouvez appliquer simultanément à de nombreux minions. Ces fichiers d'état peuvent inclure un ensemble d'instructions qui indiquent à Automation Config quelles opérations doivent être exécutées sur le minion et dans quel ordre. Le système de gestion de l'état garantit également que chaque minion est configuré correctement et aussi efficacement que possible.
Cependant, si vous disposez de centaines de fichiers d’état et de milliers de minions, l’exécution de chaque fichier d’état prend du temps. Une manière plus rapide et plus intuitive d’appliquer des fichiers d’état à vos minions consiste à exécuter Highstate. Lorsque vous exécutez Highstate, la fonction state.highstate
est appelée. La fonction state.highstate
applique tous les états Salt décrits dans un fichier top.sls
que vous créez sur votre master Salt.
- Vous configurez votre infrastructure pour la première fois et vous devez normaliser les configurations dans l'ensemble de votre environnement.
- Vous disposez de systèmes critiques dont la conformité doit être préservée. L’espace de travail Planifications dans Automation Config peut être utilisé pour planifier une tâche Highstate qui s’exécute une fois par semaine pour s’assurer que vos machines sont configurées correctement.
Le fichier top.sls
mappe les états Salt à un groupe cible et se compose de l’environnement Salt, des critères cibles et des fichiers d’état à exécuter. Les minions téléchargent le fichier top.sls
et tentent de faire correspondre les expressions qu’il contient. Si un minion correspond à l’expression, il exécute les fichiers d’état spécifiés. Par exemple, vous pouvez organiser votre fichier top.sls
pour qu'il applique certains fichiers d’état à tous les minions, certains aux minions CentOS et d’autres aux minions dont les ID contiennent la chaîne web
.
base: '*': - vim - scripts 'os:CentOS': - match: grain - centos-config '*web*': - apache - django
Lors de l'exécution de Highstate, si une configuration a dérivé, Automation Config replace les minions et les applications dans leur état de configuration conforme. Si une configuration doit être modifiée, Automation Config déploie rapidement ces modifications sur les minions affectés. Vous pouvez ensuite utiliser l’espace de travail Highstate pour voir quelles modifications ont été apportées lors de la dernière exécution de Highstate. Dans l’espace de travail, les graphiques et les rapports permettent également de visualiser les modifications dans l'ensemble de votre infrastructure.
Envisagez de tester vos modifications dans un environnement de développement ou de préparation. Si vos états aboutissent, vous pouvez les appliquer dans votre environnement de production.
Vous pouvez également exécuter Highstate en mode d'exécution de test. Si vous exécutez Highstate en mode d'exécution de test, Automation Config génère un retour de tâche qui indique les modifications qui seraient apportées à chaque minion en cas d'application des états. Pour en savoir plus sur le mode d'exécution de test, reportez-vous à la section Création de tâches.
Vous pouvez également exécuter Highstate en mode d'exécution de test. Si vous exécutez Highstate en mode d'exécution de test, Automation Config génère un retour de tâche qui indique les modifications qui seraient apportées à chaque minion en cas d'application des états. Pour en savoir plus sur le mode d'exécution de test, reportez-vous à la section Création de tâches.
Vous devez créer et configurer le fichier top.sls
sur votre master Salt avant d’exécuter Highstate pour la première fois. Pour plus d'informations sur les états dans Salt et sur le fichier top.sls
, reportez-vous à la section Organisation des états dans le Guide de l'utilisateur Salt.
Exécuter Highstate
Après avoir configuré le fichier top.sls
, vous pouvez exécuter votre premier Highstate.
Pour exécuter Highstate:
- Cliquez sur l’onglet États dans l’espace de travail Highstate.
- Cliquez sur Exécuter Highstate.
- Dans la boîte de dialogue, sélectionnez la cible sur laquelle exécuter Highstate.
- Cliquez sur Exécuter Highstate.
Une fois l’exécution de Highstate terminée, vous pouvez afficher les résultats de votre première exécution de Highstate selon plusieurs niveaux:
- Niveau global: voir les retours Highstate dans votre environnement
- Niveau de la cible: voir les retours Highstate par groupe cible
- Niveau du minion: voir les retours Highstate par minion
Niveau global
Vous pouvez voir la conformité Highstate dans votre environnement dans les onglets États et Minions. Ce niveau global vous permet d’évaluer l’état global de la configuration de votre système depuis la dernière exécution de Highstate.
À tous les niveaux, les dernières données Highstate sont extraites de chaque minion, que les données proviennent d’une exécution de Highstate récente ou de plusieurs exécutions de Highstate. Vous pouvez utiliser le menu déroulant Limiter par dans l’onglet États pour vous assurer que l’espace de travail Highstate affiche uniquement les données les plus récentes.
Le niveau global inclut les informations suivantes pour tous les états:
Terme | Description |
---|---|
État | Déclaration d’ID pour l’état, par exemple, common-centos-packages . |
Fichier SLS | Fichier contenant la déclaration d’état, par exemple, centos-config.sls . |
Minions | Nombre de minions qui ont exécuté l’état. |
Erreurs | Indique si l’exécution de l’état a échoué. L'état échoue pour de nombreuses raisons. Par exemple :
La colonne Commentaires fournit plus de détails sur la cause de l’échec de l’état. |
Réussite | Indique le pourcentage global d’états qui ont réussi. |
Modifié | Indique le pourcentage global de minions qui ont signalé des modifications pour chaque état. |
Modifications | Indique si l’exécution la plus récente de Highstate a entraîné des modifications. La colonne Commentaires fournit plus de détails sur les modifications apportées. |
Durée moyenne | Durée moyenne d’exécution de l’état en millisecondes (ms). |
Environnements | Environnement Salt qui contient le fichier d’état, par exemple, base ou dev . |
JID | Numéro d’identification de la tâche pour l’exécution de state.highstate . |
Si vous cliquez sur un état dans l’onglet États, vous pouvez afficher l’exécution la plus récente de Highstate sur chacun de vos minions Salt.
Les informations suivantes sont fournies pour chaque état:
Terme | Description |
---|---|
ID de minion | ID du minion qui a exécuté l’état. |
État | Indique si l’exécution de l’état a échoué ou réussi. |
Modifications | Indique si l’exécution la plus récente de Highstate a entraîné des modifications. La colonne Commentaires fournit plus de détails sur les modifications apportées. |
Environnement | Environnement Salt qui contient le fichier d’état, par exemple, base ou dev . |
Cluster/Master | Master Salt associé au minion. |
Durée | Durée d’exécution de l’état en millisecondes (ms). |
Commentaire | Message qui fournit des détails supplémentaires sur la réussite ou l’échec de l’exécution de l’état. |
JID | Numéro d’identification de la tâche pour l’exécution de state.highstate . |
Vous pouvez également exécuter une tâche Highstate ad hoc au niveau global:
- Dans Automation Config, ouvrez l'espace de travail Highstate.
- Cliquez sur Exécuter Highstate.
- Dans la boîte de dialogue, sélectionnez la cible sur laquelle exécuter Highstate.
- Cliquez sur Exécuter Highstate.
Vous pouvez surveiller la progression de la tâche dans l’onglet Activité de l’espace de travail Highstate. Une fois la tâche terminée, vous pouvez afficher les rapports mis à jour et les détails de l’exécution de Highstate aux niveaux global, de la cible ou du minion.
Niveau de la cible
Pour afficher les retours Highstate au niveau de la cible, vous pouvez ouvrir l’espace de travail Cibles. Si vous cliquez sur une cible, vous pouvez voir toutes les exécutions d’état précédentes pour tous les minions du groupe cible.
Le niveau de la cible fournit les informations suivantes sur chaque minion du groupe cible:
Terme | Description |
---|---|
ID de minion | ID du minion. |
Exécutions d'état | Nombre d’exécutions d’état pour un minion. |
Erreurs | Indique si l’exécution de l’état a échoué. L'état peut échouer pour de nombreuses raisons. Par exemple :
La colonne Commentaires fournit plus de détails sur la cause de l’échec de l’état. |
Réussite | Indique le pourcentage global d’états qui ont réussi. |
Modifié | Indique le pourcentage global d'états ayant entraîné des modifications. |
Modifications | Indique si l’exécution la plus récente de Highstate a entraîné des modifications. La colonne Commentaires fournit plus de détails sur les modifications apportées. |
Durée | Durée d’exécution de l’état en millisecondes (ms). |
Environnements | Environnement Salt qui contient le fichier d’état, par exemple, base ou dev . |
JID | Numéro d’identification de la tâche pour l’exécution de state.highstate . |
Pour exécuter une tâche Higstate ad hoc au niveau de la cible:
- Dans Automation Config, ouvrez l'espace de travail Cibles.
- Sélectionnez le groupe cible sur lequel vous souhaitez exécuter Highstate.
- Cliquez sur l'onglet Highstate.
- Cliquez sur Exécuter Highstate.
- Dans la boîte de dialogue, confirmez le groupe cible sur lequel exécuter Highstate.
- Cliquez sur Exécuter Highstate.
Niveau du minion
Pour afficher les retours Highstate au niveau du minion, vous pouvez ouvrir l'onglet Minions de l’espace de travail Highstate.
Le niveau du minion fournit les informations suivantes pour tous les minions:
Terme | Description |
---|---|
ID de minion | ID du minion. |
Exécutions d'état | Nombre d’exécutions d’état pour un minion. |
Erreurs | Indique si l’exécution de l’état a échoué. L’état peut échouer pour plusieurs raisons:
La colonne Commentaires fournit plus de détails sur la cause de l’échec de l’état. |
Réussite | Indique le pourcentage global d’états qui ont réussi. |
Modifié | Indique le pourcentage global d'états ayant entraîné des modifications pour le minion. |
Modifications | Indique si l’exécution la plus récente de Highstate a entraîné des modifications. |
Si vous cliquez sur un ID de minion, vous pouvez afficher toutes les exécutions d’état précédentes pour ce minion.
Les informations suivantes sont fournies:
Terme | Description |
---|---|
Réussite | Indique si l’exécution de l’état a échoué ou réussi. |
Modifications | Indique si l’exécution la plus récente de Highstate a entraîné des modifications. |
Environnement | Environnement Salt qui contient le fichier d’état, par exemple, base ou dev . |
Fichier SLS | Fichier contenant la déclaration d’état, par exemple, centos-config.sls . |
État | Déclaration d’ID pour l’état, par exemple, common-centos-packages . |
Durée | Durée d’exécution de l’état en millisecondes (ms). |
Commentaire | Message qui fournit des détails supplémentaires sur la réussite ou l’échec de l’exécution de l’état. |
JID | Numéro d’identification de la tâche pour l’exécution de state.highstate . |
Pour exécuter une tâche Higstate ad hoc au niveau du minion:
- Dans Automation Config, ouvrez l'espace de travail Highstate.
- Sélectionnez le ou les minions sur lesquels vous souhaitez exécuter Highstate.
- Cliquez sur Exécuter Highstate.
- Dans la boîte de dialogue, cliquez sur Exécuter Highstate.
Afficher l’activité Highstate
L'onglet Activité de l’espace de travail Highstate est utilisé pour surveiller l’état des exécutions de Highstate. L'onglet Activité offre de la visibilité sur de nombreux types d'événements et d'activités, par exemple sur les tâches planifiées ou sur les tâches ad hoc.
Le graphique interactif de l'onglet Activité inclut plusieurs rapports permettant de fournir une vue d’ensemble des précédentes exécutions de Highstate dans votre environnement Automation Config. Vous pouvez afficher les résultats des dernières 24 heures jusqu’aux 30 derniers jours pour chaque rapport.
Rapport | Description |
---|---|
Minion: durée moyenne | Affiche la durée moyenne des exécutions d’état sur tous les minions, dans le temps. |
Minions: modifications/aucune modification | Affiche le nombre de minions qui ont signalé des modifications par rapport aux minions qui n'en ont pas signalé, dans le temps. |
Minions: réussite/échec | Affiche le nombre de minions qui ont signalé des exécutions d’état réussies par rapport aux minions qui ont signalé des exécutions d’état ayant échoué, dans le temps. |
États: modifications/aucune modification | Affiche le nombre d'états ayant entraîné des modifications par rapports aux états qui n'en ont pas entraîné, dans le temps. |
États: réussite/échec | Affiche le nombre d’états ayant réussi par rapport aux états ayant échoué. |
L'onglet Activité comporte trois sections qui trient les tâches par état:
- Terminé: utilisé pour surveiller l'état des tâches Highstate terminées.
- En cours d'exécution: utilisé pour surveiller l'état des tâches Highstate en cours d'exécution.
- À venir: utilisé pour surveiller l'état des tâches Highstate à venir.
Le tableau de l'onglet Activité affiche des informations sur l’état de la tâche, l’origine, la planification (le cas échéant), la tâche, le groupe cible et l’ID de tâche associé (JID). Vous pouvez filtrer les colonnes si nécessaire.