Métricas são a chave para qualquer coisa que você queira fazer, provar ou mudar.
Não há espaço em um negócio competitivo para mudança de plataforma de forma aventureira ou mudança de código injustificável. As mudanças devem acontecer rapidamente e elas precisam resultar em uma atualização de qualidade precisa e mensurável para clientes e partes interessadas, além de qualquer dúvida razoável.
Como você pode ter seguido nos últimos posts, atualmente faço parte de uma mudança de tecnologia na empresa em que trabalho e, embora tenhamos tido sucessos palpáveis, nada é sem alguns problemas ao longo do caminho, é claro. Nos últimos meses, estamos mudando de um produto em que mesmo que precisássemos de muita infraestrutura pesada para ser executado, ele oferecia algumas boas ferramentas incorporadas para métricas que, uma vez que você deixasse essas plataformas para o que pode ser considerado “codificação regular” parece que deixou algo valioso para trás. Não fomos exceção a essa sensação.
Não muito antes de nossos serviços entrarem em produção, enfrentamos uma clara dificuldade em obter dados confiáveis de nossos registros e métricas, dependendo da opinião de alguns desenvolvedores experientes e analistas de processos que passavam horas de mineração em logs de erros desconectados constantemente terminando em falha de determinar a causa correta, dolorosamente atrasando o tempo para uma solução.
No meio desse caos, um dos nossos colegas de equipe, enquanto tentávamos buscar soluções sobre como facilitar nossas vidas, mencionou o GrayLog. Estávamos plenamente conscientes no momento da existência de algumas ferramentas que poderiam nos ajudar, mas como nossa filosofia atual é primeiro olhar para as soluções de código aberto, muitas ferramentas estavam sendo analisadas que até aquele dia nós estávamos ficando aquém em obter boas histórias de sucesso sobre qualquer uma das ferramentas ou a percepção de que o custo de propriedade de algumas dessas ferramentas poderiam fazer com que todo o esforço de conversão de tecnologia ficasse sem sentido.
Após um processo de configuração bastante indolor, pudemos iniciar o upload de dados de registro no Graylog. Os dados são armazenados em Elastic Search e, apesar de definitivamente se parecer muito com o Kibana, existem diferenças sutis que permitirão que você torne sua atuação mais rápida, como por exemplo, a versão gratuita vem com um sistema de usuário / senha e roles que podem se conectar LDAP facilmente, isso vai deixar você com um gerenciamento de usuário e controle de uso muito aceitável, a comunidade é muito ativa e você (provavelmente) nunca ficará sem uma resposta, apesar de que quando estamos falando de uma comunidade de código aberto você não pode sempre acabar com as respostas mais educadas, mas eles vão ajudá-lo de qualquer maneira. Dependendo do seu ambiente, você pode ficar por um bom tempo usando apenas a versão gratuita, uma vez que você só precisa de uma licença depois de enviar mais de 5GB de dados por dia, eu entendo que algumas empresas isso pode parecer poucos dados, mas para nós isso realmente nos deu um grande espaço para expansão! Imaginamos que em breve estaremos registrando a conta premium, mas o simples fato de que eles nos deram tanto espaço para testes e adaptação é plausível.
Não demorou muito até que fosse tomada a decisão de implantar nosso primeiro cluster de produção e levamos apenas algumas horas em execução para que ele nos apresentasse dados suficientes para não apenas diagnosticar e corrigir com êxito alguns erros difíceis, mas também nos apresentasse suficientes informações para erros mais sutis e igualmente desconfortáveis no sistema que, uma vez corrigidos, aumentaram a satisfação geral do cliente com o produto final.
No final do dia, nos vimos com uma ferramenta mais rica, confiável e vasta para o controle de logs do que com o produto anterior do qual estávamos nos afastando, com dados mais concretos, obtidos de forma mais rápida e muito mais bonito de uma forma a facilmente conquistar nossos clientes.