Я хотел бы найти способ регистрировать запросы к DNS-серверу для статистики сайта. Было бы здорово, если бы сервер также использовал MySQL в качестве внутреннего сервера.
Я предполагаю, что это возможно, учитывая количество управляемых DNS-сервисов, у которых есть цена за запрос. Но я ничего не могу найти.
У кого-нибудь есть идея, или я должен сам изменить существующий DNS-сервер?
Спасибо.
Пьер
Один из способов - включить ведение журнала BIND:
logging{
channel simple_log {
file "/var/log/bind.log" versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
simple_log;
};
};
Или, если у вас есть rndc configure, вы можете использовать:
rndc querylog
H Пьер,
Вы упомянули MySQL, поэтому я предполагаю, что Linux и Bind.
должно быть что-то вроде этого внутри named.conf
logging{
channel queries_log{
file "/var/log/named/dns.log" versions 5 size 500m;
print-time yes;
};
category queries{
queries_log;
};
};
Ответы, уже приведенные здесь, показывают, как получить ваши запросы в виде простого текстового файла. Вы спрашивали об использовании MySQL в качестве серверной части, и это определенно возможно.
После настройки BIND для ведения журнала запросов в соответствии с приведенными примерами вы можете отправлять эти сообщения на сервер системного журнала (локальный по отношению к серверу BIND или на другом хосте.
Однако проведение вас по этому вопросу выходит за рамки этого сайта. Что-то вроде этого урока было бы неплохим началом:
Использование самого сервера имен (например, BIND в ответе Prix) серьезно загружает программное обеспечение (которое теперь должно форматировать каждый запрос и выполнять ввод-вывод) и зависит от программного обеспечения, которое вы используете.
Вместо этого я предлагаю захватить пакеты (либо на самой машине, либо на другой машине с зеркалированием порта Ethernet), а затем использовать статистическую программу. Для захвата используйте tcpdump или tshark или pcapdump (в pcapdump мне нравится то, что он выполняет выборку). Программа статистики Mother of DNS DSC.
Если вам нравится СУБД, DNSmezzo помещает результат захвата в базу данных PostgreSQL, где вы можете изучать по желанию с помощью SQL-запросов.
Кстати, хотя некоторые поставщики управляемых DNS взимают плату за запрос, это иногда предположительная оценка, полученная на основе выборки, поскольку для точного подсчета требуется серьезная обработка, когда задействовано много доменов.