Um agente é uma camada de software leve instalada por engenheiros em um host (qualquer sistema ou dispositivo que precise ser monitorado), que coleta dados de telemetria relevantes sobre a condição do sistema. Esse processo de instalação de agentes em hosts é chamado de instrumentação. Com as principais soluções de monitoramento da infraestrutura da atualidade, os agentes podem usar sensores para descobrir componentes em todo o stack de infraestrutura após a configuração.
Quando tudo já está totalmente instrumentado, cada agente começa a coletar uma grande variedade de métricas e medições que refletem o comportamento e o status da infraestrutura. Essas métricas podem incluir utilização da CPU e da memória, largura de banda da rede, uso do espaço em disco, tempos de resposta, taxas de erro, número de transações etc. De preferência, a plataforma de monitoramento de desempenho captura esses dados de forma contínua e em tempo real, em intervalos de um segundo, sem amostragem. Esse tipo de granularidade é a principal vantagem da coleta baseada em agentes, o que facilita a identificação e a solução de problemas à medida que eles aparecem.
A coleta baseada em agentes também permite o monitoramento proativo. Os administradores podem estabelecer limites para emitir alertas quando métricas como a utilização da CPU ultrapassam uma dada porcentagem, antecipando-se a eventuais problemas de desempenho. Os alertas podem ser enviados por e-mail, SMS ou podem ser integrados a sistemas de notificação, como Slack ou PagerDuty.
O benefício principal dos agentes é que a coleta de dados é muito mais rica. Além disso, funções como diagnóstico e correção de problemas podem ser realizadas automaticamente. Por outro lado, ao coletarem e transmitirem dados de monitoramento, os agentes consomem recursos do sistema, como ciclos de CPU, memória e largura de banda da rede. Isso pode ter um pequeno impacto no desempenho do sistema se o monitoramento usar muitos recursos ou se o sistema tiver recursos limitados.