O espaço de trabalho Highstate é usado para gerenciar e monitorar a configuração do seu sistema. Você pode ter uma visão histórica das execuções de estado alto em sua infraestrutura para obter informações e tendências relacionadas ao desvio de configuração em todos os subordinados.

Como administrador de sistemas, você está ciente da importância de manter a configuração do sistema em conformidade, identificar todos os sistemas com falhas ou alterações e colocar esses sistemas de volta em conformidade o mais rápido possível. O espaço de trabalho Highstate fornece insights valiosos sobre a configuração do seu sistema e inclui ferramentas que podem ajudá-lo a gerenciar o desvio de configuração.

O espaço de trabalho Highstate na interface do usuário do SaltStack Config após uma execução recente de highstate

O que é highstate?

Em vez de configurar manualmente cada subordinado e cada aplicativo individualmente, você pode usar o sistema de gerenciamento de estado do SaltStack Config para criar arquivos de estado que podem ser aplicados a vários subordinados simultaneamente. Esses arquivos de estado podem incluir um conjunto de instruções que informam ao SaltStack Config quais operações executar no subordinado e em qual ordem. O sistema de gerenciamento de estado também garante que cada subordinado seja configurado corretamente e da forma mais eficiente possível.

No entanto, se você tiver centenas de arquivos de estado e milhares de subordinados, a execução de cada arquivo de estado levará tempo. Uma maneira mais rápida e intuitiva de aplicar arquivos de estado aos seus subordinados é executar o highstate. Quando você executa o highstate, a função state.highstate é chamada. A função state.highstate aplica todos os estados Salt descritos em um arquivo top.sls que você cria no seu mestre Salt.

Executar o highstate pode ser útil nos seguintes cenários:
  • Você está configurando sua infraestrutura pela primeira vez e precisa padronizar as configurações em todo o seu ambiente.
  • Você tem sistemas críticos que devem permanecer em conformidade. O espaço de trabalho Agendamentos no SaltStack Config pode ser usado para agendar um trabalho de highstate que é executado uma vez por semana para garantir que suas máquinas estejam configuradas corretamente.

O arquivo top.sls mapeia estados Salt para um grupo de destinos e consiste no ambiente Salt, nos critérios de destino e nos arquivos de estado a serem executados. Os subordinados baixam o arquivo top.sls e tentam corresponder às expressões nele. Se um subordinado corresponder à expressão, ele executará os arquivos de estado especificados. Por exemplo, você pode organizar seu arquivo top.sls para aplicar determinados arquivos de estado a todos os subordinados, alguns aos subordinados do CentOS e outros aos subordinados cujos IDs contêm a cadeia de caracteres web.

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

Durante a execução de highstate, se uma configuração for desviada, o SaltStack Config colocará subordinados e aplicativos de volta em seu estado de configuração compatível. Se uma configuração precisar ser alterada, o SaltStack Config implantará rapidamente essas alterações nos subordinados afetados. Em seguida, você poderá usar o espaço de trabalho Highstate para ver quais alterações foram feitas durante a última execução do highstate. Gráficos e relatórios no espaço de trabalho também ajudam a visualizar as alterações em sua infraestrutura.

Considere testar suas alterações em um ambiente de desenvolvimento ou de validação. Se seus estados forem bem-sucedidos, você poderá aplicá-los no seu ambiente de produção.

Você também pode executar highstate no modo de exercício de simulação. Se você executar o highstate no modo de exercício de simulação, o SaltStack Config gerará um retorno de trabalho que mostra quais alterações seriam feitas em cada subordinado se os estados fossem aplicados. Para saber mais sobre o modo de exercício de simulação, consulte Como criar trabalhos.

Importante:

Você deve criar e configurar o arquivo top.sls no seu mestre Salt antes de executar o highstate pela primeira vez. Consulte Estados de organização no guia do usuário do Salt para obter mais informações sobre os estados Salt e o arquivo top.sls.

Executar highstate

Depois de configurar o arquivo top.sls, você pode executar seu primeiro highstate.

Para executar o highstate:

  1. Clique na guia Estados no espaço de trabalho Highstate.
  2. Clique em Executar Highstate.
  3. Na caixa de diálogo, selecione um destino para executar o highstate.
  4. Clique em Executar Highstate.

Quando a execução do highstate for concluída, você poderá visualizar os resultados da sua primeira execução de highstate em vários níveis:

  • Nível global: consulte os retornos de highstate em todo o seu ambiente
  • Nível de destino: consulte retornos de highstate por grupo de destino
  • Nível de subordinado: consulte retornos por subordinado

Nível global

Você pode ver a conformidade do highstate em seu ambiente nas guias Estados e Subordinados. Este nível global ajuda você a avaliar o estado geral da configuração do seu sistema desde a última execução do highstate.

O espaço de trabalho Highstate na interface do usuário do SaltStack Config após uma execução recente de highstate

Em todos os níveis, os últimos dados de estado alto são extraídos de cada subordinado, sejam os dados de uma execução recente de highstate ou de muitas execuções de highstate. Você pode usar o menu suspenso Limitar por na guia Estados para garantir que o espaço de trabalho Highstate exiba apenas os dados mais recentes.

O nível global inclui as seguintes informações para todos os estados:

Termo Descrição
Estado A declaração de ID para o estado, por exemplo, common-centos-packages.
Arquivo SLS O arquivo que contém a declaração de estado, por exemplo, centos-config.sls.
Subordinados Os números de subordinados que executou o estado.
Erros Indica se a execução do estado falhou. O estado falha por vários motivos. Por exemplo:
  • Um arquivo obrigatório não existe ou está inacessível devido às permissões do sistema de arquivos.
  • Um recurso ou serviço de rede está indisponível.
  • Existe um conflito de dependência de pacote para que o estado não possa ser aplicado.

A coluna Comentários fornece mais detalhes sobre a causa da falha no estado.

Bem-sucedido Indica a porcentagem geral de estados que foram bem-sucedidos.
Alterado Indica a porcentagem geral de subordinados que relataram alterações para cada estado.
Alterações Indica se a execução de highstate mais recente resultou em alterações.

A coluna Comentários fornece mais detalhes sobre as alterações que foram feitas.

Duração média Duração média da execução do estado em milissegundos (ms).
Ambientes O ambiente Salt que contém o arquivo de estado, por exemplo, base ou dev.
JID O número de identificação do trabalho para a execução do state.highstate.

Se você clicar em um estado na guia Estados, poderá exibir a execução de highstate mais recente em cada um dos seus subordinados Salt.

Todas as execuções anteriores de highstate para o estado da página html padrão no SaltStack Config

As seguintes informações são fornecidas para cada estado:

Termo Descrição
ID do Subordinado O ID do subordinado que executou o estado.
Status Indica se a execução do estado foi bem-sucedida ou falhou.
Alterações Indica se a execução de highstate mais recente resultou em alterações.

A coluna Comentários fornece mais detalhes sobre as alterações que foram feitas.

Ambiente O ambiente Salt que contém o arquivo de estado, por exemplo, base ou dev.
Cluster/Mestre O mestre Salt associado ao subordinado.
Duração Duração da execução do estado em milissegundos (ms).
Comentário Uma mensagem que fornece mais detalhes sobre o sucesso ou a falha na execução do estado.
JID O número de identificação do trabalho para a execução do state.highstate.

Você também pode executar um trabalho de highstate ad-hoc no nível global:

  1. No SaltStack Config, abra o espaço de trabalho Highstate.
  2. Clique em Executar Highstate.
  3. Na caixa de diálogo, selecione um destino para executar o highstate.
  4. Clique em Executar Highstate.

Você pode monitorar o progresso do trabalho na guia Atividade do espaço de trabalho Highstate. Após a conclusão do trabalho, você pode visualizar os relatórios atualizados e os detalhes da execução do highstate nos níveis global, destino ou subordinado.

Nível de destino

Para exibir os retornos de highstate no nível de destino, você pode abrir o espaço de trabalho Destinos. Se você clicar em um destino, poderá ver todas as execuções de estado anteriores para todos os subordinados no grupo de destino.

Execuções de highstate anteriores para um grupo de destino do CentOS no SaltStack Config

O nível de destino fornece as seguintes informações sobre cada subordinado no grupo de destino:

Termo Descrição
ID do Subordinado A identidade do subordinado.
Execuções de Estado O número de execuções de estado para um subordinado.
Erros Indica se a execução do estado falhou. O estado pode falhar por vários motivos. Por exemplo:
  • Um arquivo obrigatório não existe ou está inacessível devido às permissões do sistema de arquivos.
  • Um recurso ou serviço de rede está indisponível.
  • Existe um conflito de dependência de pacote para que o estado não possa ser aplicado.

A coluna Comentários fornece mais detalhes sobre a causa da falha no estado.

Bem-sucedido Indica a porcentagem geral de estados que foram bem-sucedidos.
Alterado Indica a porcentagem geral de estados que resultaram em alterações.
Alterações Indica se a execução de highstate mais recente resultou em alterações.

A coluna Comentários fornece mais detalhes sobre as alterações que foram feitas.

Duração Duração da execução do estado em milissegundos (ms).
Ambientes O ambiente Salt que contém o arquivo de estado, por exemplo, base ou dev.
JID O número de identificação do trabalho para a execução do state.highstate.

Para executar um trabalho de highstate ad-hoc no nível de destino:

  1. No SaltStack Config, abra o espaço de trabalho Destinos.
  2. Selecione o grupo de destino no qual você deseja executar o highstate.
  3. Clique na guia Highstate.
  4. Clique em Executar Highstate.
  5. Na caixa de diálogo, confirme o grupo de destino no qual você deseja executar o highstate.
  6. Clique em Executar Highstate.

Nível de subordinado

Para exibir os retornos de highstate no nível de subordinado, você pode abrir a guia Subordinados no espaço de trabalho Highstate.

Highstate retorna para todos os subordinados em um ambiente do SaltStack Config

O nível de subordinado fornece as seguintes informações para todos os subordinados:

Termo Descrição
ID do Subordinado A identidade do subordinado.
Execuções de Estado O número de execuções de estado para um subordinado.
Erros Indica se a execução do estado falhou. O estado pode falhar por vários motivos:
  • Um arquivo obrigatório não existe ou está inacessível devido às permissões do sistema de arquivos.
  • Um recurso ou serviço de rede está indisponível.
  • Existe um conflito de dependência de pacote para que o estado não possa ser aplicado.

A coluna Comentários fornece mais detalhes sobre a causa da falha no estado.

Bem-sucedido Indica a porcentagem geral de estados que foram bem-sucedidos.
Alterado Indica a porcentagem geral de estados que resultaram em alterações para o subordinado.
Alterações Indica se a execução de highstate mais recente resultou em alterações.

Se você clicar em um ID de subordinado, poderá visualizar todas as execuções de estado anteriores para um subordinado.

Todos os estados são executados para um subordinado Salt no espaço de trabalho Highstate

As seguintes informações são fornecidas:

Termo Descrição
Bem-sucedido Indica se a execução do estado foi bem-sucedida ou falhou.
Alterações Indica se a execução de highstate mais recente resultou em alterações.
Ambiente O ambiente Salt que contém o arquivo de estado, por exemplo, base ou dev.
Arquivo SLS O arquivo que contém a declaração de estado, por exemplo, centos-config.sls.
Estado A declaração de ID para o estado, por exemplo, common-centos-packages.
Duração Duração da execução do estado em milissegundos (ms).
Comentário Uma mensagem que fornece mais detalhes sobre o sucesso ou a falha na execução do estado.
JID O número de identificação do trabalho para a execução do state.highstate.

Para executar um trabalho de highstate ad-hoc no nível de subordinado:

  1. No SaltStack Config, abra o espaço de trabalho Highstate.
  2. Selecione o subordinado ou os subordinados nos quais você deseja executar o highstate.
  3. Clique em Executar Highstate.
  4. Na caixa de diálogo, clique em Executar Highstate.

Exibir atividade highstate

A guia Atividade no espaço de trabalho Highstate é usada para monitorar o status das execuções de highstate. A guia Atividade dá visibilidade a muitos tipos de eventos e atividades, como trabalhos agendados ou trabalhos ad-hoc.

Um gráfico interativo no espaço de trabalho Highstate que mostra o número de subordinados com e sem alterações nos últimos 30 dias

O gráfico interativo na guia Atividade inclui vários relatórios para fornecer uma visão geral das execuções de highstate anteriores em seu ambiente do SaltStack Config. Você pode visualizar resultados das últimas 24 horas até os últimos 30 dias para cada relatório.

Relatório Descrição
Subordinado: duração média Exibe a duração média das execuções de estado em todos os subordinados ao longo do tempo.
Subordinados: com alterações vs sem alterações Exibe o número de subordinados que relataram alterações versus subordinados que não relataram alterações ao longo do tempo.
Subordinados: sucesso vs falha Exibe os números de subordinados que relataram execuções de estado bem-sucedidas versus subordinados que relataram falhas de execuções de estado ao longo do tempo.
Estados: com alterações vs sem alterações Exibe o número de estados que resultaram em alterações versus estados que não resultaram em alterações ao longo do tempo.
Estados: sucesso vs falha Exibe o número de estados com êxito versus estados que falharam.

A guia Atividade tem três seções que classificam trabalhos por status:

  • Concluído: usado para monitorar o status de trabalhos highstate concluídos.
  • Em Andamento: usado para monitorar o status de trabalhos highstate que estão em execução.
  • Próximo: usado para monitorar o status dos próximos trabalhos highstate.

A tabela na guia Atividade exibe informações sobre o status, a origem, a agenda (se disponível) do trabalho, o trabalho, o grupo de destino e a ID de trabalho associada (JID). É possível filtrar as colunas conforme necessário.