Извлечение полосы пропускания для каждого домена в Apache

У меня есть веб-приложение, которое будет поддерживать широкий спектр веб-сайтов. Я хочу реализовать некоторую форму мониторинга пропускной способности для каждого домена в целях выставления счетов и чрезмерного использования. Я использую Apache в качестве веб-сервера и просто использую vhost по умолчанию для всех сайтов (с маршрутизацией и управлением на уровне сайта, которые обрабатываются в приложении, а не на сервере). Есть ли способ, и если да, то как мне извлечь данные об использовании полосы пропускания для каждого доменного имени в Apache, а не для каждого виртуального хоста.

Чтобы пояснить, с помощью мониторинга на основе домена я говорю о HOST поле заголовка запроса.

В качестве примера представьте, что у меня есть 4 названия сайтов www.example.com , www.example.org , www.site1. com и site2.example.com . Теперь все четыре этих сайта будут обрабатываться одним и тем же кодом PHP и одним и тем же файлом vHost (по умолчанию для всех файлов в Apache), будут работать под одним и тем же пользователем сервера и т. Д. Однако сайты являются отдельными сайтами и различаются по сервер, получив заголовок запроса хоста в приложении. Мне нужно отслеживать полосу пропускания, используемую каждым из этих 4 сайтов отдельно, поскольку каждый из них будет иметь разную разрешенную полосу пропускания.

Меня не беспокоит, могут ли это изменить пользователи на сервере, поскольку пользователи вообще не будут иметь доступа к серверам и будут полностью управлять своими сайтами через веб-панель (подумайте о чем-то вроде Weebly, где одно приложение обеспечивает балансировку нагрузки всех сайтов на нескольких серверах). Таким образом, метод будет использоваться на нескольких серверах и введен в единую базу данных. Я бы предпочел какой-то метод, который работает с системой демонов на самом сервере, с которым мой код может взаимодействовать или который создает анализируемый файл, с которым я могу работать, вместо того, чтобы кодировать систему для выполнения команд терминала и обработки результатов.

В качестве примера я хочу добиться чего-то похожего на то, как Wix определяет полосу пропускания, используемую различными сайтами, размещенными в их системе, поскольку фактически это служба приложений, а не служба общего хостинга.

0
задан 13 April 2017 в 17:24
1 ответ

Достаточно распространенный подход - генерировать статистику использования из журналов доступа.

Создайте CustomLog в LogFormat , который включает имя домена из заголовка хоста.

Затем, в зависимости от , какой пакет веб-аналитики вы выбираете, либо использовать записанный Хост, чтобы разделить файл журнала на отдельные для каждого домена и генерировать статистику использования из них, либо, возможно, программное обеспечение уже поддерживает разделение несколько доменов.

0
ответ дан 5 December 2019 в 08:19

Теги

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