Você pode editar o arquivo de configuração:
vi /etc/dnsmasq.conf
# /etc/dnsmasq.conf
log-dhcp
log-queries
log-facility=/tmp/dnsmasq.log
Ou edite outro arquivo de configuração:
vi /etc/config/dhcp
config dnsmasq
...
option logdhcp '1'
option logqueries '1'
option logfacility '/tmp/dnsmasq.log'
Em seguida, reinicie o serviço:
/etc/init.d/dnsmasq restart
O arquivo de log pode ser analisado em tempo real com tail+awk
:
$ vi dnsmasq.awk
#!/usr/bin/awk -f
BEGIN {
OFS = ",";
}
$5 == "query[A]" {
time = mktime( \
sprintf("%04d %02d %02d %s\n", \
strftime("%Y", systime()), \
(match("JanFebMarAprMayJunJulAugSepOctNovDec",$1)+2)/3, \
$2, \
gensub(":", " ", "g", $3) \
) \
);
query = $6;
host = $8;
print time, host, query;
}
$ chmod +x dnsmasq.awk
$ tail -f /tmp/dnsmasq.log | ./dnsmasq.awk
1468999090,192.168.1.100,google.com
1468999092,192.168.1.101,youtube.com
1468999095,192.168.1.102,facebook.com
1468999097,192.168.1.100,qa.sockets.stackexchange.com
O método mais avançado está enviando log via filebeat para ELK em tempo real.