DevSecOps

30 mar, 2017

Conhecendo um pouco mais sobre automação do monitoramento do data center

Publicidade

A automação do data center é um tópico muito importante. Mas você pode estar se perguntando: “se há um sistema de monitoramento de data center funcionando perfeitamente, por que a automação é tão importante?”. A resposta é: porque você é preguiçoso. Porque a maioria dos profissionais de TI experientes é preguiçosa. Porque passar o dia respondendo a tíquetes, alertas e e-mails é entediante e chato. E, acima de tudo, porque seu tempo vale muito.

Agora que você já entendeu o porquê, ainda resta uma dúvida: como dar os primeiros passos na automação do data center?

Descreverei como você pode implementar a automação com suas ferramentas e em seu data center.

Descoberta de dispositivos e conectividade

Como primeiro passo, você precisa garantir a capacidade de verificar sua rede de diversas maneiras, combinando a habilidade de:

  • Inserir uma sub-rede;
  • Inserir uma lista de endereços IP ou nomes de máquinas resolvíveis por DNS;
  • Inserir um dispositivo de propagação que permita a descoberta da rede pela localização de dispositivos conectados a partir do primeiro;
  • Especificar uma unidade organizacional (UO) do Active Directory® e verificar computadores nessa unidade.

Pode ser útil usar uma solução de monitoramento que permita especificar um conjunto de dispositivos que não deve ser verificado. Essa capacidade de determinar uma zona de exceção deve partir exatamente dos mesmos dados que a própria descoberta – em outras palavras, uma sub-rede, uma lista de IPs, uma UO do Active Directory etc.

Quando um dispositivo é encontrado durante a descoberta, o questionamento (para determinar o tipo do dispositivo, os componentes de hardware etc) deve ser realizado da forma mais gentil possível, extraindo apenas algumas informações básicas, como o nome do dispositivo, seu fornecedor ou modelo. Em seguida, essas informações devem dar início à descoberta de elementos específicos exclusivos ao fornecedor/modelo, o que elimina a necessidade de percorrer todas as combinações numéricas conhecidas.

Também será útil poder utilizar protocolos que não sejam SNMP, o que inclui WMI e APIs de fornecedores (Cisco UCS®, VMware®e Microsoft® Hyper-V®, por exemplo).

Por fim, parte da verificação deve determinar a conectividade com outros dispositivos. Deve revelar tudo, desde o switch ao qual um servidor está conectado até a hierarquia do data center no cluster de hosts da VM, entre outras informações.

Automatização da descoberta

Mas isso aborda apenas a verificação inicial propriamente dita. E quanto às verificações subsequentes?

O próximo passo é usar o sistema de monitoramento de seu data center para programar a execução de todo o perfil que acabamos de discutir:

  • A cada x horas/dias/semanas;
  • Todo xº dia da semana;
  • Todo xº dia do mês;
  • Em horários especificados.

Além disso, implemente controles para desligar a verificação, caso ela se estenda além de um horário específico ou permaneça em execução além de uma duração predeterminada. Dessa forma, você pode dividir grandes ambientes em partes gerenciáveis e configurar descobertas robustas e sofisticadas sem sobrecarregar seu sistema de monitoramento nem o ambiente que está sendo verificado.

Por fim, além de ser executada como uma tarefa programada, a verificação pode ser configurada para ser acionada por um evento. Por exemplo, se uma interface em um roteador ficar inativa por mais de 30 minutos, uma verificação poderá ser ativada na sub-rede da qual a interface fazia parte para ver se uma nova interface foi ativada e se algum novo dispositivo está online na outra ponta. Mas, independentemente do evento acionador, é desejável que a funcionalidade dê início a uma descoberta controlada com base em eventos em tempo real em seu data center.

Processamento dos dispositivos descobertos

Isso nos remete à questão de o que fazer com o novo hardware encontrado. A verdade cruel é que nem todo hardware do data center precisa ser monitorado e que, mesmo em ambientes altamente organizados e controlados, nem todo dispositivo que aparece em uma sub-rede deveria estar lá.

Em primeiro lugar, o seu sistema de monitoramento deve, no mínimo, listar os dispositivos recém-descobertos para aprovação (em vez de apenas adicioná-los totalmente ao inventário dos dispositivos monitorados). Em segundo lugar, o sistema deve listar os subelementos desses dispositivos. Em seguida, ele deve ser capaz de filtrar certos tipos de elementos fora de seu controle. Por exemplo, ninguém precisa monitorar a unidade de CD para determinar a capacidade de disco. Mais especificamente, esses filtros devem ser específicos aos tipos de dispositivos.

O resultado dessas três capacidades é que os dispositivos que passam pelos filtros sejam adicionados automaticamente. Aqueles que não passam são mantidos para revisão ou ignorados para fins de monitoramento.

Descoberta de aplicativos

Embora a descoberta de hardware seja importante, ela tende a ser o aspecto mais simples do conjunto da automação do monitoramento. Desde que comecei a trabalhar em TI há alguns anos, a descoberta, a identificação e a enumeração do hardware tornaram-se bastante padronizadas e previsíveis. Mas os aplicativos continuam sendo um universo à parte. Descobrir o que está instalado em um servidor, o que está em execução e o que esses aplicativos em execução estão fazendo ainda representa um desafio, mesmo para os profissionais de data center mais avançados.

Nem é preciso dizer que, apesar do trabalho dedicado da maioria dos fornecedores de monitoramento de aplicativos para criar e manter bibliotecas de assinaturas de aplicativos, a combinação de serviços em execução, nomes de arquivos em locais padrão e entradas de registro que permitem saber com quase absoluta certeza que um software específico está presente, existem desafios técnicos associados ao entendimento preciso do que está em execução em um determinado servidor. Por outro lado, é fundamental que a empresa conte com um monitoramento robusto e preciso dos aplicativos.

Então, como garantir que aplicativos críticos para o negócio estejam sendo devidamente monitorados? Além do bom senso aplicado à descoberta de software, existe uma forma de automação de data center com o potencial de simplificar o monitoramento de seus aplicativos: a atribuição baseada em função.

Para explicar melhor, esclarecerei algumas premissas:

  1. Nem todos os aplicativos são iguais, mesmo que sejam o mesmo aplicativo. O que eu quero dizer é que um ExchangeServer em execução na DMZ, um Exchange Server em execução no DC, dentro dos confins do firewall corporativo, e um Exchange Server em execução em uma instância na nuvem são todos Exchange em execução, mas são completamente diferentes em termos de utilização, perfil de segurança e necessidades;
  2. Mesmo nessas especificações, um único servidor assumirá vários status durante seu ciclo de vida, o que afetará o nível de monitoramento necessário: criação vs. teste vs. produção vs. desativação;
  3. Vocês – ou seja, a equipe técnica em sua organização que está solicitando e provisionando esses servidores – já estão a par do caso de uso e das necessidades.

Com isso em mente, espero que tenha ficado claro que a automação do monitoramento exige diversas variações do mesmo gabarito ou conjunto de componentes de monitoramento de aplicativos. Mas como saber qual aplicar a cada situação?

A resposta é usar as informações já disponíveis no sistema de gerenciamento de ativos, na solicitação de provisionamento ou, até mesmo, nas convenções de nomenclatura. Usando propriedades, como as relacionadas a seguir, você pode aproveitar a capacidade que as ferramentas de monitoramento mais robustas têm de atribuir ou reatribuir automaticamente o monitoramento com base em funções, status, local etc.:

  • Local da rede: DMZ, data center, depósito, remoto etc;
  • Disposição: criação, preparação, teste, pré-produção, produção, desativação etc;
  • Importância_comercial: 1 a 5;
  • Uso_principal: SQL, AD, Tomcat®, servidor de arquivos etc;
  • Aplicativo_associado: e-mail, entrada de pedidos, XYZ_App etc.

Quando isso é aplicado corretamente, o monitoramento de aplicativos pode dispensar verificações frequentes, pois baseia-se no uso pretendido do servidor.

E quanto à nuvem?

Lamentavelmente, toda essa conversa sobre servidores e aplicativos pode parecer muito centrada no hardware, como em “servidores tradicionais em hardware local com aplicativos instalados manualmente”. Mas a verdade é que todas essas técnicas de automação do monitoramento são aplicáveis à TI híbrida ou até mesmo a ambientes totalmente na nuvem.

Para sistemas baseados na nuvem, os ganchos de monitoramento podem (e devem) ser incorporados aos scripts de compilação, de modo que o servidor contate a solução de monitoramento e registre tanto sua existência quanto seu propósito, sua localização etc.