Я не можу взяти відповідальність на себе за цей сценарій. Він надійшов від людей зі списку розсилки, який можна знайти тут: http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2010q1/003682.html
Цей процес складається із двох частин.
Перше: створити сценарій;
Друге: запустити його та проаналізувати журнал;
Створення сценарію AWK для аналізу DNSMasq
Спочатку ми створимо файл dnsmasq.awk, який містить наш сценарій аналізу. Додайте в нього наведений нижче вміст сценарію.
Ось сценарій для копіювання у файл dnsmasq.awk за допомогою вашого улюбленого текстового редактора.
Код: Виділити все
( $4 ~ /dnsmasq\[[0-9]+\]:/ ) {
if ( $5 == "query[A]") {
query[$6]++;
} else {
if ( $5 == "forwarded" )
forwarded[$6]++;
else
if ( $5 == "cached" )
cached[$6]++;
}
}
END {
queries=0;
qforwarded=0
qacache=0
printf " %40s | nb | forwarded | answered from cache \n", "name";
for (name in query) {
printf "%s%40s | %9d | %9d | %9d\n", \
( forwarded[name] > query[name] ? "*" : " "), \
name, \
query[name], \
forwarded[name], \
cached[name];
queries += query[name];
qforwarded += forwarded[name];
qacache += cached[name];
}
print "";
printf " %40s | %9d | %9d | %9d\n", "total:", queries, qforwarded, qacache;
}
Тепер ми запустимо команду, яка запустить наш сценарій AWK і розбере файл журналу. Будь ласка, внесіть зміни до цієї команди, щоб відповідати вашому власному файлу системного журналу DNSMasq і правильному шляху до місця, де ви вибрали для зберігання dnsmasq.awk
Ось команда:
Код: Виділити все
awk -f /dnsmasq.awk /var/log/dnsmasq.log | less