Como listar todos os minions conectados ao Salt Stack?

76

Às vezes, meu mestre de sal salt '*' test.pingespera um tempo esperando que os servos caídos respondam. Existe uma maneira de ver uma lista de minions conectados, independentemente de responderem test.ping?

Petrus Theron
fonte

Respostas:

89

A resposta oficial:

salt-run manage.up

Também são úteis:

salt-run manage.status

salt-run manage.down
Dan Garthwaite
fonte
2
"salt-run -d" Dá uma lista completa de todos os módulos que você pode executar com salt-run, vale a pena ler
Chris Huang-Leaver
5
salt-run manage.versionsTambém é bastante útil (versões execução de relatórios asseclas e compara-los para o mestrado)
sxc731
Observe que o sal corre manage.upe manage.statusparece fazer um test.pingsob o capô. Pelo menos, quando eu corri manage.up, ele apareceu nos logs do minions como test.ping..... Se você deseja garantir que ele não precise enviar nada, use alivedou uma das outras funções de gerenciamento
sdfgeoff
12

Do tipo mestre:

ls -1 /var/cache/salt/master/minions

ou:

ls -1 /etc/salt/pki/master/minions

A inserção de uma consulta salt com defeito (por exemplo, salt '*' -) também retornará uma lista de todos os minions, cada um seguido por uma mensagem informando que o comando não está disponível. Você pode grep / cortar os caracteres estranhos. Nenhuma dessas opções é particularmente elegante e a última não aborda o tempo limite, mas funciona enquanto estou procurando uma resposta para uma pergunta semelhante; "Como listar todos os minions associados através da API saltstack python?"

Vai
fonte
Eu acho que algo deve ter mudado / var / cache / salt / master / minions parece ser um local inexistente agora, / etc / salt / pki / master / minions ainda está pronto.
Oliver Dungey
8

"salt-key -L" listará todos os servos cujas chaves públicas você aceitou em seu mestre.

Utah_Dave
fonte
1
Obrigado, mas esta lista aceita chaves de lacaio, não lacaios conectados.
Petrus Theron
2

Eu acho que se pode usar o módulo de grãos para conseguir isso:

salt '*' grains.get id
Kurt Zhong
fonte
2

Existem alguns novos comandos que tornam muito mais fácil,

salt-run manage.alived Imprima uma lista de todos os minions que estão de acordo com a detecção de presença de Salt (nenhum comando será enviado aos minions)

salt-run manage.allowed Imprima uma lista de todos os minions que estão de acordo com a detecção de presença de Salt (nenhum comando será enviado aos minions)

salt-run manage.not_alived Imprima uma lista de todos os lacaios que NÃO estão de acordo com a detecção de presença de Salt (nenhum comando será enviado)

salt-run manage.not_allowed Imprima uma lista de todos os lacaios que NÃO estão de acordo com a detecção de presença de Salt (nenhum comando será enviado)

salt-run manage.not_joined Imprima uma lista de todos os lacaios que NÃO estão de acordo com a detecção de presença de Salt (nenhum comando será enviado)

Sufiyan Ghori
fonte
-6

Para fazer ping em todos os minions, tente o nó principal do salt:

salt '*' test.ping 
Михаил Ветчинов
fonte
4
Você leu a pergunta? É especificamente sobre alternativas ao seu método, porque isso não funciona em alguns casos.
Sven