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