Realizando monitoramento em interconexões com Speedtest-mini e Zabbix.

bernardolankheet
Nov 1, 2016 · 4 min read

Nota: O Speedtest Mini foi descontinuado pela OOKLA . Os arquivos para download não estão mais disponíveis.

Recentemente apareceu uma demanda interessante, monitorar uma interconexão que foi recém contratada para interligar matriz a filial, foi contratado um link de 5mb full. Surgiu uma dúvida, como ter certeza que este provedor está entregando a velocidade contratada? Já que é um link utilizado apenas para trafego interno.

Para esta demanda podemos utiliza o Mini Speedtest ( http://www.speedtest.net/pt/mini.php), assim teremos um servidor Speed Test interno na nossa infra, desta forma seria possível obter por exemplo a velocidade do entre o seu Zabbix server e um Zabbix proxy. Com base neste senário estarei demonstrando como pode ser feita esta configuração.

Ambiente Utilizado.
Hyper-V
Ubuntu Server 14.04
Zabbix-server 3.0.4
Zabbix-proxy 3.0.4

Acesse seu Zabbix-Proxy.
Realize o download dos pacotes do speedteste mini.

wget http://c.speedtest.net/mini/mini.zip

Instale alguns pré-requisitos, sendo eles apenas para rodar um simples serviço HTTP.

apt-get install php5 php5-mysql php5-mcrypt php5-gd libapache2-mod-php5 zip unzip

Aguarde o termino e instale o apache.

apt-get install apache2

Extraia agora o arquivo mini.zip

unzip mini.zip

Copie a pasta extraída para o diretório do apache. Um ponto importante a ressaltar é que diretório padrão do apache no ubuntu/debian é /var/www/ ou /var/www/html/.

cp -R mini /var/www/

Renomeie o arquivo index-php.html para index.html.

cd /var/www/html
mv mini/index-php.html mini/index.html

Reinicie o processo do apache.

service apache2 restart

Basta neste momento acessar através do navegador a página web.

IPouNome/mini/

Pronto. Seu mini servidor do speedtest está instalado e configurado. Agora podemos utilizar o speedtest-cli para testar a velocidade entre do Zabbix server e o proxy. Informe o parâmetro “-mini” e depois o endereço do servidor onde o serviço está instalado.

speedtest-cli — mini http://IP_ou_Nome/mini

Caso não tenha o speedtest-cli instalado e configurado com o Zabbix, tenho um post ensinando como realizar o processo.

Artigo Userparameter: Utilizando speedtest-cli junto ao Zabbix

Precisaremos criar a tarefa para executar o speedtest-cli e o userparameter para coletar os resultados. Nesse laboratório fiz o processo de configuração direto no Zabbix Server. Caso tenha alguma dúvida, consulte o processo do link acima.
Agende via Crontab para a tarefa ser rodada a cada determinado tempo, como estou fazendo via laboratório, coloquei a cada 10 min, porem lembre que é um teste de Download e Upload, não é recomendado que seja efetuado várias vezes ao dia.

Salve o arquivo e pronto, agora será realizado o teste a cada 10 minutos e os resultados serão salvos em /tmp/filial1.txt
Crie o userparameter dentro do arquivo /etc/zabbix/zabbbix_agent.conf

UserParameter=filialup[*],cat /tmp/filial1.txt | grep “Upload:” | cut -d “ “ -f2
UserParameter=filialdown[*],cat /tmp/filial1.txt | grep “Download:” | cut -d “ “ -f2

Reinicie seu zabbix-agente.
Crie Dois itens do tipo Zabbix Agente, um para consulta do Userparameter filialup(upload) e outro para filialdown(download). Conforme as duas imagens abaixo.
Download:

Upload:

Basta neste momento aguardar a coleta.

Este é um processo simples para que você possa realizar o monitoramento de suas interconexões, lembre-se de utilizar com moderação. Todos os testes foram feitos em ambiente de teste e controlado.

Teve alguma duvida ou possui uma sugestão para um artigo? Nos deixe um comentários.

Obs:

Originally published at https://www.bernardolankheet.com.br on November 1, 2016.

bernardolankheet

Written by

Bernardo Gomes Lankheet é graduado em Redes de Computadores pelo IFES, Pós Graduação em Segurança da Informação e apaixonado em compartilhar conhecimentos.