Отслеживание запросов DNS в PowerDNS

Webalizer очень хорош в горной промышленности Ваших журналов Apache для статистики - кто посещает, от того, какие IP-адреса, разбивка видов доменов они обратная твердость дюйм/с к (.com, .NET, .co.uk, .ru, и т.д.), чем их браузеры утверждают, что были (который обычно является, хотя не всегда, что они на самом деле), что использует операционная система пользователь (снова, если браузер сообщает об этом честно), и т.д., и т.д. Это абсолютно ненавязчиво; ничто специальное на Ваших веб-страницах, никаких дополнительных запросах к внешним серверам на каждой загрузке страницы, и т.д.

Аналитика Google, с другой стороны, работает на клиентском уровне. Каждая страница на Вашем сайте обращается к Google Analytics через тег script так, чтобы они могли получить эту информацию для Вас (и гораздо больше кроме того). Очень простой в использовании, но это действительно подвергается тому дополнительному запросу к их серверам на каждой загрузке страницы. Кроме того, обратите внимание, что некоторые рекламные блокировщики также заблокируют Google Analytics; и GA требует JavaScript, который некоторые (хотя не многие), возможно, выключили.

Это были бы два из больших, каждого с его другим подходом. Webalizer быть совершенно локальным (и поэтому частный) и ненавязчивый может обращаться; объем и аналитические функции GA могут обращаться.

2
задан 17 March 2012 в 11:39
3 ответа

PowerDNS в настоящее время не может этого сделать. Существуют внешние инструменты, такие как dsc , которые могут делать статистику через pcap.

Если бы вы написали для этого собственный (конвейерный) бэкэнд, он бы заменил ваш mysql-backend - вы можете не говорите powerdns передавать результаты из одного бэкэнда через другой. «pipebackend», возможно, немного сбивает с толку в этом смысле.

Обратите внимание, что любая статистика, которую вы будете делать из бэкэнда (будь то пользовательский бэкэнд или будь то ваш журнал запросов mysql), будет искажена (необязательно, но рекомендуется ) кэш пакетов и запросов внутри PowerDNS.

Итак, прямо сейчас я бы порекомендовал использовать что-то вроде dsc .

4
ответ дан 3 December 2019 в 09:07

Что касается вопроса о бэкэнде канала :

Все серверы исчерпываются для запросов в том порядке, в котором они указаны в операторе запуска. Как только серверная часть отвечает данными, соответствующими запросу, все оставшиеся серверные части больше не будут запрашиваться. Так что, если вы установите бэкэнд конвейера, который предназначен только для генерации статистики и не отвечает ни на что заранее, вы перехватите все запросы к вашему серверу имен, кроме тех, которые PowerDNS мог отвечать из кешей пакетов и запросов.

2
ответ дан 3 December 2019 в 09:07

Возможно, лучший вариант - добавить перехватчик LUA перед параметрами кеширования PowerDNS (кэш пакетов и запросов). Таким образом, вы можете создать сценарий LUA для ведения журнала и позволить бэкэнду ответить на запрос. Таким образом, вы можете использовать кеш (для большей производительности) и использовать проверенный сервер (gmysql) для ответа. Вы даже можете включить некоторый код, чтобы остановить ведение журнала, если это сильно замедлит вашу систему.

Если я прав, то сразу после кеша уже есть ловушка LUA. Для того, что вы ищете, а также для ограничения скорости (когда это необходимо).

1
ответ дан 3 December 2019 в 09:07

Теги

Похожие вопросы