sexta-feira, 6 de abril de 2012

Tecnerd: Monitorar Aplicações Citrix pelo Nagios!


Olá queridos seguidores!

Vamos curtir o feriado “nagiando” um pouquinho?
Agora estou na fase de “viajar” com as funcionalidades do Nagios, estou tentando adaptar plugins para monitorar diversas aplicações.



Essa semana montei um laboratório com o XenApp (Citrix) e resolvi implementar um plugin para o Nagios, onde o mesmo monitora as Sessões ativas do servidor e aplicativos ativos na Farm.

Com algumas adaptações consigo saber quando determinado usuário está acessando uma aplicação X (e se ela está ativa ou desconectada). Para que essa opção seja possível é necessário fazer alguns ajustes no XenApp também.

O ajuste no XenApp seria:
  • Publicar uma aplicação para cada usuário.

 Vamos supor que eu quero publicar o Excel para meus usuários. Normalmente fazemos da seguinte maneira: Publica-se uma única aplicação do Excel e add todos os usuários a ela. Nesse caso quando a aplicação estiver sendo utilizada não saberei quem está utilizando naquele momento, para que isso seja possível vamos criar uma aplicação Excel para cada usuário identificando o nome do usuário na descrição da aplicação, ficaria assim:
- Excel – usuário 01
- Excel – usuário 02
- Excel – usuário 03





Terminada a adaptação do Citrix vamos ao nagios.

OBS. dependendo da aplicação deverá ser criada uma cópia da aplicação para cada usuário.

Para facilitar vou dividir a configuração em passos.

Passos

1.       Baixar o plugin check_number_of_citrix_sessions.wsf em Nagios Exchange.
2.       Salvá-lo no diretório nagios do seu servidor XenApp (Citrix).
3.       Incluir a linha de comando que chama o plugin no NRPE.cfg que está no diretório nagios do servidor XenApp.

Incluindo o comando no nrpe.cfg
command[check_nome_do_comando - comando_incluso_nagios_services.cfg]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all "Excel – usuario 01" 1 2


Segue abaixo as sintaxes que você pode trabalhar:

a)      Checar  todas as sessões ativas no servidor  “hostname_servidor”
command[nome_comando_incluso_nagios_services.cfg]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" hostname_servidor all qtde_warning qtde_ critical (aqui você coloca a quantidade de sessões que você quer que apareça em warning e critical. Se colocar 50 70, enquanto não atingir esse número de sessões ativas ficará com o status Ok.)

b) Checar números de sessões na Farm Citrix
command[nome_comando_incluso_nagios_services.cfg]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all all 500  1000

c) Checar aplicações ativas no servidor “hostname_servidor”
command[nome_comando_incluso_nagios_services.cfg]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" hostname_servidor “aplicação X” qtde_warning  qtde_critical

d) Checar aplicações específicas na Farm Citrix
command[nome_comando_incluso_nagios_services.cfg]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all “aplicação X” qtde_warning  qtde_critical

4.       Finalizada a implementação do nrpe.cfg do servidor Citrix, salve o arquivo e reinicie o serviço do Nagios Remote Plugin.

Para o plugin funcionar o serviço nagios deve estar com permissão de ADM.  
Caso não tenha efetuado essa configuração, vá em serviços (executar -> services.msc) e procure por Nagios Remote Plugin, clique com o lado direito do mouse e vá em propriedades -> logon e coloque as configurações de ADM. 


Agora reinicie o serviço e pronto (ou melhor, quase pronto :D).



5.       Parte final! 

      Precisamos definir o serviço no servidor nagios.

Se você efetuou a instalação padrão do nagios abra o arquivo services.cfg que está em  etc/nagios/objects e acrescente o comando abaixo:
################
#PLUGIN CITRIX#
################

define service {
        hostgroup_name           Coloque o hostgroup existente ou crie um em hostgroup.cfg
        service_description      Nome que vc quiser colocar, é o que aparecerá no nagios
        check_command            check_nrpe!check_nome_do_comando
        use                      generic-service
        notification_interval    0 ; set > 0 if you want to be renotified
}

Lembrando que para cada usuário deverá criar um serviço desse.

6.       Reinicie o nagios (/etc/init.d/nagios restart) e voilá!


A configuração para monitorarmos o acesso ao Excel por usuário ficou assim:

No arquivo nrpe.cfg (servidor Citrix)
command[check_excel01]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all "Excel – Usuario 01" 1 2

command[check_excel02]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all "Excel – Usuario 02" 1 2

command[check_excel03]=C:\WINDOWS\system32\cscript.exe //NoLogo "C:\nagios\check_number_of_citrix_sessions.wsf" all "Excel – Usuario 03" 1 2

No arquivo servives.cfg (servidor nagios - /etc/nagios/objects)
define service {
        hostgroup_name                  citrix
        service_description             Excel – Usuário 01
        check_command                   check_nrpe!check_excel01
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}

define service {
        hostgroup_name                  citrix
        service_description             Excel – Usuário 02
        check_command                   check_nrpe!check_excel02
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}
define service {
        hostgroup_name                  citrix
        service_description             Excel – Usuário 03
        check_command                   check_nrpe!check_excel03
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}

Com essa configuração quando o usuário acessar a aplicação ele sairá do status Ok e irá para warning, se ele abrir a mesma aplicação 2 vezes ele irá para critical.
Resultado:


Espero que seja útil para alguém J

Referências:

Nenhum comentário:

Postar um comentário

Sejam bem vindos!


Espaço destinado às novidades sobre o mundo da tecnologia, experiências (idéias, protótipos, soluções, dentre outros), jogos e principalmente materiais de TI (apostilas, artigos, projetos, provas, etc).

A maioria do material postado aqui será de tutoriais garimpados ou comprados na net, e terá um toque feminino (o meu, é claro :-D), mas podem ficar tranquilos, todos terão os devidos créditos.


Viu algum material seu e não teve crédito? Avise!!! "Creditarei" com o maior prazer.