Squid -k rotate

Файлы журналов Squid

Файл access.log

Файл access.log используется для хранения информации о всех подключениях к proxy-серверу. Запись добовляется, когда клиент закрывает соединение. Для сервера с большим трафиком файл может за день увеличиться на десятки мегабайт. К примеру, при трафике в 10 тыс. запросов в сутки объем журнала увеличивается примерно на 2 Мбайт.

Еденицей информации о соединении является строка. Строка состоит из десяти полей. Ниже приведено описание полей с пояснениями:

• timestamp – время в UNIX-формате (время с 1 января 1970 года в миллисекундах);

• elapsed – затраченное время в миллисекундах;

• client IP address – IP-адрес клиента, пославшего запрос;

• type/HTTP – результат запроса, где type:

– TCP_HIT – верная копия объекта нашлась в кэше;

– TCP_MISS – запрашиваемый объект не был в кэше;

– TCP_EXPIRED – объект есть в кэше, но он устарел;

– ТСP_CLIENT_REFRESH – клиент запросил принудительное обновление объекта;

– TCP_REFRESH_HIT – объект в кэше был старым, был сделан запрос к источнику и источник ответил "объект не изменился";

– TCP_REFRESH_MISS – объект в кэше был старым, был сделан запрос к источнику и тот вернул обновленное содержание;

– TCP_IMS_HIT – клиент выдал запрос, объект оказался в кэше и свежим;

– TCP_IMS_MISS – клиент выдал запрос для просроченного объекта;

– ТСP_REF_FAIL_HIT – объект в кэше устарел но запросить новую копию не удалось;

– TCP_SWAPFAIL – объект должен находиться в кэше, но его не смогли извлечь;

– TCP_DENIED – отказ;

• size – количество байтов, переданных клиенту;

• method – метод передачи информации; GET, HEAD, POST для ТСР-запросов или ICP_QUERY для UDP-запросов;

• URL – адрес запрашиваемого объекта;

• ident "-", если недоступен;

• hierarhy data/Hostname – результат запросов к братским/родительским кэшам:

– PARENT_HIT – UDP-запрос к родительскому кэшу (parent) вернулся с подтверждением;

– PARENT_UDP_HIT_OBJECT – объект оказался в родительском кэше parent и поместился в UDP-ответе;

– DIRECT – объект был запрошен с оригинального сервера;

• тип содержимого (MIME-тип/подтип).

Файл store.log

Файл store.log используется для хранения информации о всех кэшируемых объектах proxy-сервера. Единицей информации о соединении является строка. Строка состоит из одиннадцати полей. Ниже приведены поля с пояснениями:

• Time – время в UNIX-формате (время с 1 января 1970 года в миллисекундах);

• action – действие:

– RELEASE – удален из кэша;

– SWAPOUT – сохранен на диск;

– SWAPIN – был на диске, загружен в память;

• HTTP reply code – код ответа HTTP-сервера;

• HTTP Date – дата создания объекта;

• HTTP Last-Modified – время последней модификации объекта;

• HTTP Expires – срок жизни объекта;

• HTTP content-Type – тип объекта;

• HTTP Content-Length – размер объекта;

• реально полученное число байтов. В том случае, если не совпадает с предыдущим полем, объект не сохраняется;

• HTTP metod – метод передачи информации (GET, HEAD, POST).

• Access key – ключ доступа (обычно URL).

Файл useragent.log

Предназначен для хранения информации о том, с какими пользовательскими агентами (Web-браузерами) работают клиенты. Малоинтересен в практическом плане. Разве что для получения статистики по частоте использования тех или иных Web-браузеров.

Нестандартные применения

Функциональность программы Squid не ограничивается только функцией proxy-сервера. У нее есть достаточно много других интересных применений. В этом разделе мы рассмотрим только некоторые из них.

Борьба с баннерами

Наверняка вам встречались Web-страницы, на которых нужной информации было от силы на килобайт, а рекламных баннеров (зачастую анимированных) – пять-шесть. Хорошо когда канал большой и бесплатный. Когда же пользуешься обычным коммутируемым соединением да еще платишь за соединение из своего кармана, каждый килобайт начинаешь считать. В этом случае можно настроить локальный сервер Squid таким образом, чтобы не происходила закачка ненужных баннеров. Этого можно добиться несколькими способами.

Вариант 1

Простой. На месте баннеров показываются разорванные картинки или перекрещенные прямоугольники (неполученные файлы).

1. Определяем сайты банерных сетей и создаем для них регулярные выражения.

2. Создаем в каталоге /usr/local/Squid/etc следующие файлы:

– banners_path_regex – содержит по одному регулярному выражению на строку;

– banners_regex – содержит по одному регулярному выражению на строку;

– banners_exclusion – это строки, трактуемые в предыдущих файлах как баннеры, но изменять которые не рекомендуется.

3. В Squid.conf добавляем следуюшие правила:

Перейти на страницу:

Все книги серии Наиболее полное руководство

Похожие книги