Compartilhar via


ALM – DevOps – SCOM – Monitorar Aplicações Web, Desempenho, Disponibilidade e Executar Ações de Recuperação

Nesse artigo, irei demonstrar que além de você poder utilizar o System Center Operation Manager para monitoramento de seu ambiente de TI, você também pode usar para monitorar aplicações Web, enviar alertas para seu time de Testes em tempo real, realizar ações automáticas como ativar um Debug, executar um reinicio de serviço, ou algo similar.

Destaco itens como:

- Monitorar a aplicação usando links diferentes com servidores diferentes para identificar o comportamento em links mais rapidos (+100 Kbps), mais lentos (-100 KBps);

- Monitorar em cidades ou paises diferentes, na ausência de servidores nessas localidades, você pode usar o serviço System Center Global Services Monitor da Microsoft;

- Enviar alertas SMS ou e-mail em tempo real para sua equipe. Você pode colocar um aplicativo Web em um cliente externo e monitorar o aplicativo em tempo real e identificar se apresenta falhas, realizando um trabalho de solução de forma rápida e eficaz!;

- Monitorar desempenho, timeout, erros genéricos, falhas de Web Services, entre outros filtros disponíveis;

- Executar ações automáticas como, reinicios de serviços, ativação de debugs, entre outras execuções via PowerShell, Scripts VBS, Executáveis, etc.;

Passos

1 – Definir o Site da Aplicação

Defina o site que será monitorado. No exemplo, usei um simples site HTML, mas é possivel monitorar aplicações Web, Web Services, etc.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb14.png?w=244&h=67

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb15.png?w=244&h=65

2 – Criar o Alerta

Em seguida, crie o alerta usando o painel do SCOM.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb16.png?w=74&h=244

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb17.png?w=244&h=164

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb18.png?w=244&h=217

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb19.png?w=244&h=129

Aqui você definirá qual será o Agente do SCOM que irá realizar o teste. Pode-se definir um ou vários, caso você tenha outros servidores sendo monitorados. Nesse caso, por exemplo, você poderia realizar testes com servidores em outras cidades ou países, ou até saídas de links diferentes (cada servidor saindo por um link), e você poderia validar a qualidade de acesso, disponibilidade em outras localidades, etc. Também pode-se usar o Global Service Monitor que é um serviço da Microsoft.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb20.png?w=244&h=130

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb21.png?w=244&h=217

Aqui você poderá selecionar as regras de monitoramento, como tempo de intervalo, tipo de status a ser monitorado, tempo de timeout, alertas de “Warning” se a transação levar mais de tantos segundos.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb22.png?w=244&h=212

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb23.png?w=244&h=211

Resumo Final:

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb24.png?w=244&h=149

Em seguida crie um Grupo para inserir o monitoramento em questão.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb25.png?w=244&h=184

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb26.png?w=231&h=244

3 – Criar o Monitoramento e Tipo de Evento

Aqui estaremos criando a assinatura para o envio do alerta para E-mail e SMS.

E-mail

Você precisa ter configurado um servidor de e-mail no seu SCOM para enviar o e-mail, conforme a tela abaixo.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb27.png?w=244&h=188

SMS

Para envio SMS, você precisa usar um MODEM de uma operadora de telefonia com um CHIP de celular e com um plano qualquer, se você enviar muitos SMS, dê preferência por planos com pacotes de SMS. Insira o MODEM USB no seu Servidor SCOM, instale ele e depois configure nos canais do SCOM.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb28.png?w=244&h=158

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb29.png?w=244&h=223

Com os canais definidos, iremos agora adicionar os alertas.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb30.png?w=244&h=232

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb31.png?w=244&h=233

Defina os critérios do teste. No caso irei definir o grupo que contém o monitoramento e o tipo de alerta “Critical” onde o site está indisponível. Você também pode monitorar “Warning” onde o site demonstra demora excessiva de acesso, ou algo similar.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb32.png?w=244&h=169

Adicione o Grupo de Alerta “Specific” e a Severidade “Specific”.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb33.png?w=235&h=244

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb34.png?w=244&h=178

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb35.png?w=244&h=204

Aqui você poderá criar ou adicionar um contato.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb36.png?w=244&h=231

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb37.png?w=244&h=60

Adicione os canais de envio:

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb38.png?w=244&h=171

Valide o resumo:

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb39.png?w=244&h=184

E pronto.

4. Teste do Alerta

Vamos testar o alerta, tornando a aplicação indisponível. Para isso, vá no Internet Information Services e pare o Site Web.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb40.png?w=244&h=159

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb41.png?w=244&h=155

Abra o painel do SCOM e veja que o alerta foi gerado:

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb42.png?w=244&h=34

Observe que recebi o alerta via e-mail também:

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb43.png?w=244&h=45

Então você pode adicionar diversos alertas, ficando a seu critério e planejamento quais, pois nas opções do SCOM há várias possibilidades a serem inseridas com os itens que destaquei.

5. Configurar disparo de execução

Nesse item, você pode definir para que o SCOM execute uma atividade para você, por exemplo:

- Ativar um serviço que ficou em estado de parado;

- Ativar um debug ou trace de aplicação;

- Executar scripts Powershell, VBS, comandos de lote .BAT, executáveis;

Também de forma programada, ou seja, aguardar alguns minutos e caso o alerta não se resolva, tomar as medidas necessárias.

Vamos ativar uma ação de recuperação do Internet Information Services nesse caso.

Primeiramente, devemos definir o que nossa recuperação irá fazer. No caso, iremos executar um comando simples de iniciar o Site Web específico. Então vamos testar esse comando:

Vá no Internet Information Services e pare novamente o site que você está monitorando.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb44.png?w=244&h=171

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb45.png?w=177&h=31

Confira se o site está indisponível.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb46.png?w=244&h=143

Agora, essa parte depende muito do que você deseja fazer. Como queremos apenas iniciar o Web Site, pesquisei no KB da Microsoft qual linha de comando devo usar para esse fim, e no caso é o APPCMD. Depende do que você deseja fazer, você deverá pesquisar e montar o script de ação para que funcione corretamente, até montando scripts ou arquivos de lote com diversas execuções, em passos e tempos determinados, etc.

Nesse caso, será um simples START do Web Site em questão, então vamos testar. O comando para iniciar um Web Site específico é o abaixo, onde defino a ação e o Web Site em questão.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb47.png?w=244&h=39

Depois do comando executado, volto no IIS para validar se o Web Site voltou a funcionar.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb48.png?w=244&h=38

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb49.png?w=176&h=32

Eureca!

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb50.png?w=244&h=49

Então vamos hospedar esse script para que meu agente do Operation Manager consiga executar o procedimento para mim.

Como sugestão, crie um arquivo de LOTE como por exemplo arquivo .BAT e hospede esse Script dentro do seu servidor. Será muito util, por exemplo, você criar um diretório padrão de Scripts e criar esses scripts dentro desse diretório e distribuir nos servidores que deseja que as ações sejam executadas.

Por exemplo, crie um diretório chamado ScriptsSCOM no servidor.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb51.png?w=244&h=37

Crie um arquivo de LOTE (BAT) e salve dentro desse diretório. No caso iremos criar um arquivo de LOTE chamado iniciaiis.bat com o comando dentro dele %windir%\system32\inetsrv\appcmd start site “Site de Teste de Operação”

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb52.png?w=244&h=49

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb53.png?w=244&h=68

Vá em Authoring – Web Application Availability Monitoring, procure seu monitoramento e vá em Monitors.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb54.png?w=244&h=102

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb55.png?w=244&h=93

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb56.png?w=244&h=77

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb57.png?w=244&h=111

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb58.png?w=206&h=244

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb59.png?w=244&h=226

Selecione em qual estado que o monitor deve estar para executar o comando, se deve-se recalcular sozinho para fechar, etc.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb60.png?w=244&h=226

Selecione o comando, como o exemplo abaixo.

https://qualidadeeti.files.wordpress.com/2014/07/image_thumb61.png?w=223&h=244

Pronto! Realize um teste e verifique se está OK.

Algumas dicas:

- Verifique se a conta que executa o agente no servidor de destino, possui as devidas permissões para executar os comandos;

- Use de preferência, sempre Scripts ou arquivos de Lote em vez de comandos diretos no SCOM;

- Cuidado com acentos, nomes de serviços com caracteres especiais, comandos com caracteres especiais;

- Teste sempre o comando ou script primeiro, e veja se funciona, para depois colocar no alerta!

É isso, até a próxima