Back-End

29 dez, 2016

Monitoração daqueles locais difíceis de alcançar: Linux, Java, Oracle e MySQL

Publicidade

Os ambientes de TI de hoje são cada vez mais heterogêneos, com Linux, Java, Oracle e MySQL considerados quase tão comuns quanto os ambientes tradicionais do Windows. Em muitos casos, essas plataformas foram integradas ao departamento de TI baseado em Windows de uma organização por meio de uma aquisição de uma empresa que se utiliza de uma dessas plataformas. Em outros casos, os aplicativos podem ter feito parte do departamento de TI por anos, mas eram gerenciados por um departamento separado ou um único administrador.

Mesmo assim, seja uma percepção da especialização necessária, frustração com as muitas combinações de versão dessas plataformas ou apenas incertezas e dúvidas gerais, Linux, Java, Oracle e MySQL criam confusão em massa no monitoramento e são considerados rotineiramente “difíceis de acessar” mesmo para um profissional de TI experiente. Esse problema ocorre nas duas vias (quando monitorar o Windows é, na verdade, o elemento não natural), mas, em sua maioria, as oficinas de TI são baseadas em Windows e têm dificuldades constantes em monitorar essas plataformas mais de nicho.

É claro que é possível que profissionais de TI sejam proficientes em Linux, Java, Oracle ou MySQL para monitorar de forma bem-sucedida essas plataformas com seus próprios scripts de linha de comando ou ferramentas nativas — muitos até gostam de escrever código e scripts de comando manualmente para monitorar essas instâncias —, mas essa estratégia, ao fim, aumentará a probabilidade de problemas de desempenho da organização. Por quê?

Primeiro, caso o profissional de TI incumbido com a tarefa de criar código e scripts exclusivos para essas instâncias especializadas um dia deixe a empresa, a organização ficará vulnerável ao tempo de inatividade enquanto outro membro da equipe é treinado em como operar a ferramenta nativa ou também aprende a desenvolver scripts de linha de comando para essas plataformas.

A técnica isolada também exacerba o maior desafio do monitoramento em qualquer ambiente: a dispersão. Pode parecer mais fácil manter as coisas como estão e continuar a operar ferramentas diferentes para as plataformas difíceis de acessar, mas isso acaba adicionando outra camada de complexidade no sistema de monitoramento abrangente. Ter muitas ferramentas de monitoramento para gerenciar aumenta as chances de que alguma seja esquecida (principalmente as ferramentas usadas para monitorar instâncias de Linux, Java, Oracle e MySQL), o que significa que problemas de desempenho ou tempo de inatividade levarão mais tempo para serem corrigidos.

Não apenas isso, mas falta aos processos de monitoramento de nicho o tipo de métricas sofisticadas que ajudam a criar um departamento de TI mais eficaz. Veja aqui as várias linhas de comando para cada instância especializada que retornam métricas básicas:

  • As linhas de comando do Linux como “top”, “glances” e “htop”, por exemplo, fornecerão métricas básicas como desempenho, CPU, memória e qualquer erro relevante que deva ser conhecido;
  • Uma linha de comando “performance_schema” para MySQL em Linux exibirá tabelas de estados de espera e informações sobre sessões (quantas execuções, quantas linhas são examinadas etc) para revelar consultas ineficientes. Em vez de executar linhas de comando no servidor, a Oracle também oferece uma ferramenta desktop integrada que funciona de forma similar;
  • J-Console, um painel integrado disponível com a instalação do Java, proporciona uma visão geral de todas as ferramentas em execução na plataforma. Ele analise calor/usos de memória, classes, threads (importante para monitorar falhas de segurança), bem como o uso da CPU.

Entretanto, estarão ausentes desses relatórios recursos mais abrangentes, como os alertas avançados, linhas de base dinâmicas, correlações, e métricas e disponibilidade de aplicativos detalhadas, que, em última análise, ajudam a permitir um método mais proativo e eficaz de gerenciar a infraestrutura e os aplicativos.

No final das contas, é importante lembrar que os administradores não devem passar mais tempo configurando scripts de linha de comando ou monitorando ferramentas do que passam utilizando os dados. Quer um administrador esteja monitorando o Windows ou algo mais especializado, como Linux ou MySQL, o departamento de TI sempre estará preso ao modo reativo (solução de problemas) sem uma melhor visibilidade da integridade e do desempenho de seus sistemas e da capacidade de obter avisos prontamente.

Ao estabelecer o monitoramento como uma função essencial da TI que merece um método estratégico, as empresas podem se beneficiar de um estilo de gerenciamento de TI mais proativo, com ações imediatas, ao mesmo tempo que aperfeiçoam o desempenho, o custo e a segurança da infraestrutura.

Para criar uma estratégia de monitoramento mais abrangente e cuidadosa que incorpore esses locais de difícil acesso, veja várias práticas recomendadas que os departamentos de TI devem considerar:

  • Crie um inventário do que está sendo monitorado. A maioria dos departamentos de TI tem um conjunto amplo de ferramentas de monitoramento para uma série de coisas diferentes. Existem aplicativos na nuvem que sejam monitorados por uma ferramenta? As cargas de trabalho estão sendo hospedadas em um data center diferente que aproveita uma ferramenta separada? Antes de padronizar o processo de monitoramento, as organizações devem criar um inventário de tudo que estão monitorando no momento e das ferramentas usadas para fazer isso.
  • Implemente um conjunto de padrões em todos os sistemas. Isso deve ser feito para cada carga de trabalho seja qual for a ferramenta que esteja sendo usada e principalmente se um departamento de TI estiver executando várias ferramentas diferentes. No final das contas, é impossível otimizar o que não está sendo medido, por isso criar um conjunto padrão de processos de monitoramento serve aos interesses de todos os departamentos de TI, de modo similar à criação de runbooks.
    Quais são as métricas fundamentais necessárias de cada sistema? Quais são as situações nas quais os alertas são necessários e quais serão as medidas quando eles ocorrerem? Ter respostas para esses tipos de perguntas permitirá que mesmo um departamento de TI com cargas de trabalho e aplicativos distribuídos seja bem-sucedido na monitoração e na garantia do desempenho e da disponibilidade. Essa abordagem também ajuda a evitar que os departamentos de TI tenham um “vínculo mais fraco”, no qual uma equipe pode ter seu próprio protocolo de segurança, sua própria rede e seus próprios firewalls, que acabam deixando a organização sujeita a vulnerabilidades de segurança.
  • Unifique a visão. Os departamentos de TI devem ter um conjunto abrangente de ferramentas de monitoramento egerenciamento unificadas para garantir o desempenho da pilha de aplicativos inteira. É importante monitorar tudo, mesmo esses sistemas difíceis de acessar, e os profissionais de TI devem procurar utilizar ferramentas que integrem o monitoramento dessas instâncias não padrão do Linux, Java, Oracle e MySQL dentro de um ambiente Windows em um único painel para cultivar uma visão holística de sua infraestrutura.
  • Lembre-se de que o monitoramento deve ser uma disciplina. Tradicionalmente, o monitoramento no data center — mesmo para aplicativos padrão baseados em Windows — tem sido algo um tanto improvisado. Para a maioria das organizações, trata-se de um “mal necessário”: um recurso que o departamento de TI pode utilizar quando ocorre um problema que precisa ser solucionado e, com frequência, um trabalho executado apenas com uma ferramenta gratuita, seja de código aberto ou software pré-carregado pelo fornecedor de hardware. Entretanto, o conceito de monitoramento como disciplina é projetado para ajudar os profissionais de TI a escapar da natureza reativa de curto prazo da administração, muitas vezes causada por práticas ineficazes, improvisadas, e a se tornar mais proativos e estratégicos.

Em resumo, apesar da percepção de que as instâncias de Linux, Java, Oracle e MySQL são “locais difíceis de acessar”, há muitas formas nas quais os administradores podem receber dados sobre a integridade e o desempenho de sistemas que executam esses aplicativos, da execução manual de scripts de linha de comando ao aproveitamento de ferramentas abrangentes que integram essas instâncias em um único painel.

Entretanto, como o data center continua a crescer em complexidade e principalmente à medida que a TI híbrida aumenta, os profissionais de TI devem procurar estabelecer a prática de monitoramento como disciplina. Com essa abordagem e o monitoramento unificado que pretende transformar pontos de dados de várias ferramentas de monitoramento em insights mais práticos, analisando todos eles de uma perspectiva holística em vez de cada um isoladamente, junto com as outras práticas recomendadas anteriormente, será possível que, por fim, os administradores de TI aumentem a eficácia e a eficiência de seus data centers.