o comando adquery retorna resultados vazios, mas algum tempo depois ele fornece o resultado esperado. Comportamento incomum

1

Temos uma infraestrutura de servidores com centenas de servidores. Todos esses servidores são acessados através de um servidor de chaves. Temos centralizar para gerenciar as autenticações.

Então, o que tentei é usar este comando bash em nosso servidor principal para listar todos os usuários do grupo:

adquery group GROUP_NAME -a

E usei esse resultado no seguinte script python para ler a saída e inseri-la em uma variável chamada users :

users = os.popen("adquery group GROUP_NAME -a").read()

O problema que tenho é que quando o script é executado duas vezes ele funciona bem e de repente o comando dá uma saída vazia. E quando tento executar o mesmo comando no prompt do Linux, ele ainda falha. Mas depois de algum tempo. Mais uma vez, quando tento executá-lo, funciona. Por enquanto, não consegui nem um padrão sobre como isso está acontecendo. Mas quando isso acontece, qualquer um que tenha acesso a esse servidor não pode obter os resultados como eu.

Nota - Atualizar . Mais uma coisa para adicionar.

Quando tento consultar outras coisas, como adquery user USERNAME -a

Eles ainda funcionam. Dá a saída sem nenhum problema. Mas o comando que mencionei antes ainda falha sem nenhum erro sem saída.

Alguém pode me explicar por que isso está acontecendo?

    
por Laksith 19.10.2017 / 15:17

1 resposta

1

Isso soa como um problema clássico de exaustão de portas. Você está executando este comando várias vezes em um sistema operacional mais antigo que tinha menos portas disponíveis 1024-5000.

Na máquina Windows, execute um 'netstat -ano'. Procure conexões com o mesmo endereço IP com várias portas, se muitas delas estiverem em "TIME_WAIT", é outra indicação.

Além disso, use o Gerenciador de Tarefas para verificar a alta utilização de memória, o que geralmente é apresentado junto com o esgotamento da porta.

    
por 29.10.2017 / 15:16