Monitora o número de usuários logados no Windows XP com o Nagios

2

Eu tenho um sistema de PDV que não funciona a menos que esteja logado na sessão do console. Eu estava pensando desde que eu já tenho NSClient ++ talvez eu pudesse monitorar um contador via Nagios.

Existe um contador para isso que eu possa alertar se a conta não está conectada? É '\ Serviços de Terminal \ Total de Sessões'? No momento, isso mostra duas sessões para minha VM, o que não faz sentido para mim, a menos que minha área de trabalho remota seja uma só e a VMWare sempre use uma ...

Se eu puder fazer isso com o check_nt, para mim isso provavelmente superará potenciais ressalvas de uma maneira melhor, mas estou aberto a idéias.

    
por Kyle Brandt 31.07.2009 / 15:49

3 respostas

1

O XP permite apenas 1 login "interativo" de cada vez, seja fisicamente no computador ou remotamente via RDP. No que diz respeito ao "console" e logins remotos, o XP não se importa com o que você está usando, já que qualquer processo que deveria rodar será executado se estiver logado de qualquer forma.

Você está tentando determinar se o usuário está logado ou não, mas o mais importante (eu acho) é se o processo está em execução e você quer estar em execução. Por que não apenas verificar o processo em execução em vez de tentar descobrir se o usuário está logado ou não? E se o processo falhar, mas o usuário ainda estiver conectado?

Observar o processo winlogon.exe não é útil no XP, pois ele é executado independentemente de alguém estar ou não conectado. Um processo típico para procurar é o explorer.exe em execução sob o nome de usuário (embora isso também possa falhar e pode até ser morto sem desconectar o usuário).

Em um sistema Windows, você pode usar o "psloggedon.exe" da sysinternals ( link ) para procurar logins locais no computador com a opção -l - "psloggedon \ computername -l". Eu acho que a razão pela qual você está vendo 2 sessões quando está checando a contagem é que a própria verificação estabelece uma sessão para determinar quantas sessões existem ...

Sua melhor aposta para usar o check_nt no nagios parece ser 1) verificar o processo específico que você precisa executar (esperamos que seja executado o tempo todo) ou 2) verificar se o explorer.exe está sendo executado, pois isso só é executado quando alguém está realmente logado, mas como eu disse não é uma maneira segura de determinar se esse é o caso.

Isenção de responsabilidade! - Eu não uso nagios e só verifiquei o site aqui: link para plugins que podem funcionar para o que você precisa

    
por 31.07.2009 / 18:20
1

Para contar o número de usuários conectados, você pode ver quantos processos do winlogon.exe estão sendo executados. (a sessão de console sempre terá o primeiro)

    
por 31.07.2009 / 16:36
1

Eu realmente não sei, então eu estou apenas adivinhando cegamente aqui e também eu realmente não entendo o que você quer dizer com "logado" desde que você menciona o servidor de terminal Eu suponho que você quer dizer "sessões anexadas" (ou sessões ativas). / p>

A seguir, os contadores que tenho em Serviços de Terminal e parecem um local razoável para começar:

\ Serviços de Terminal \ Total de Sessões \ Serviços de Terminal \ Sessões Ativas \ Serviços de terminal \ Sessões inativas

E um rápido google dá: Sessões ativas O número total de sessões ativas, excluindo as sessões desconectadas.

Total de sessões O número total de sessões ativas, incluindo sessões desconectadas.

Assim, parece-me que você quer "Sessões Ativas"?

A segunda reflexão é que a ferramenta acima pode ser facilmente usada do NSClient ++ dentro de um script, mas você teria que usar o NRPE (check_nrpe) para poder executar o script a partir do nagios e não do check_nt).

// Michael Medin

    
por 05.10.2009 / 13:23