quarta-feira, 11 de maio de 2011

Tempo médio de resposta do DNS

Recentemente surgiu a necessidade de verificar durante um dia todo o tempo de resposta de um servidor DNS, para isso seguir alguns passos que estão descritos abaixo:

1) Script de requisição
Esse script fica em loop realizando uma requisição para o servidor DNS e grava também a hora da requisição

#!/bin/bash
for (( c=1; ; c++ ))
do
        date >> saida_dns_query.log
        dig @IP_SERVIDOR_DNS www.google.com | grep ";; Query time:" >> saida_dns_query.log
done
 
2) Filtrando o que interessa
O script acima gerou um arquivo chamado saida_dns_query.log, precisamos filtrar esse arquivo e pegar o valor de resposta, para isso execute o comando abaixo:

cat saida_dns_query.log | grep ";; Query time:" | cut -d" " -f4 > saida2.txt

Com isso o arquivo saida2.txt será criado com os valores de resposta.

3) Vamos tirar a média
Com o comando abaixo iremos contar o número de linhas para depois dividir pela soma dos valores, grave o valor da saída do comando:

cat saida2.txt | wc -l

Agora vamos somar os valores do arquivo saida_dns_query.log:

cat saida_dns_query.log | grep ";; Query time:" | cut -d" " -f4 | awk '{sum[$2]+= $1;}END{for (date in sum){print sum[date], date;}}'

Agora só é dividir este valor pelo primeiro, teremos a média de resposta do servidor DNS.

Nenhum comentário:

Postar um comentário