squid + TAG: log_access

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Stepler
рядовой
Сообщения: 42
Зарегистрирован: 2008-08-10 9:03:36

squid + TAG: log_access

Непрочитанное сообщение Stepler » 2008-11-25 16:23:47

ну примерно ситуация такая установил лайтсквид
логи сквида он парсирует отменно, но нужчно чтобы в статистику не попадали некоторые сети, т.к. на них тырнет хялявный
у лайтсквида из возможности пропускать логи только функция $skipurl, но она не умеет определять сети.
поэтому я решил пропускать логи посрелством сквида и настройкой log_access
вот что я сделал:
определил aclы
ну и использовал опцию

Код: Выделить всё

acl IX-NN_01 src 212.67.0.26/255.255.255.255   
acl IX-NN_.. src 212.67.0.16/255.255.255.254     
acl IX-NN_.. src 212.67.0.20/255.255.255.252     
acl IX-NN_72 src 195.122.224.0/255.255.224.0    

log_access deny locnet IX-NN_0 IX-NN_.. IX-NN_.. IX-NN_72

но все равно все в логи пишестья.. и ни чего не получилось :)
в чем я ошибся?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

Re: squid + TAG: log_access

Непрочитанное сообщение koffu » 2008-11-25 23:53:55

почитай внимательнее комментарии, там все просто решается добавлением в файл. Он пропускает эти хосты при парсинге.
>Как-то можно исключить из построения отчета определенные хосты? Например, если мне не
>нужна статистика для 192.168.100.1 ?
да, для этого в конфиге есть переменная

Код: Выделить всё

#if you want skip some sites from stat, example our local www server
#WARNING !!!, do not empty this variable !!!
$skipurl             = "ccc\.com|192\.168\.1\.";


вам надо сделать
$skipurl             = "192\.168\.100\.1";

или так
$skipurl             = "192\.168\.100\.";
для пропуск всей подсети
или через "|" разные урл
взято с http://www.opennet.ru/openforum/vsluhforumID3/5449.html

Stepler
рядовой
Сообщения: 42
Зарегистрирован: 2008-08-10 9:03:36

Re: squid + TAG: log_access

Непрочитанное сообщение Stepler » 2008-11-26 8:23:44

2 koffu
спасибо за инфу. это я пробывал делать. вопрос в другом. как ему маску сети указать в $skipurl

как например мне сообщить лайтсквиду что не нужно учитывать сеть 212.67.0.128/25?

DemonoidsYA
проходил мимо

Re: squid + TAG: log_access

Непрочитанное сообщение DemonoidsYA » 2008-12-16 12:49:43

В общем незнаю почему, но при написании данных правил ACL наподобие таких (исключение было только в том, что я делал все таки правило с файлом в котором был перечень не нужных адресов):

Код: Выделить всё

acl IX-NN_01 src 212.67.0.26/255.255.255.255   
acl IX-NN_.. src 212.67.0.16/255.255.255.254     
acl IX-NN_.. src 212.67.0.20/255.255.255.252     
acl IX-NN_72 src 195.122.224.0/255.255.224.0 
У меня так же ничего не получилось! :-(
Но когда я указал не "src" a "dst", допустим типа такого:

Код: Выделить всё

acl IX-NN_01 dst 212.67.0.26/255.255.255.255   
acl IX-NN_.. dst 212.67.0.16/255.255.255.254     
acl IX-NN_.. dst 212.67.0.20/255.255.255.252     
acl IX-NN_72 dst 195.122.224.0/255.255.224.0 
То все получилось!!!!
Но как я уже указывал, я вписал все адреса в файл, т.е. у меня в итоге получилось вот такая замануха:

Код: Выделить всё

acl  no_trafik dst "/usr/local/etx/squid/no_trafik"
Последний раз редактировалось Alex Keda 2008-12-17 10:39:09, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Stepler
рядовой
Сообщения: 42
Зарегистрирован: 2008-08-10 9:03:36

Re: squid + TAG: log_access

Непрочитанное сообщение Stepler » 2008-12-16 12:55:45

помог мне решить это задачу сам разработчик лайтсквида..

принцип таков.
есть парсер который обращаеться к access.log и делает новый файл.

вот код

Код: Выделить всё

#
# LightSquid Project (c) 2004-2008 Sergey Erokhin aka ESL
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# detail see in gnugpl.txt


#
#filter access.log use netmask file, exclude sites ...
#
#warning: VERY slow utility (DNS so slow ...)
#
#netmask format: 
#195.122.224.0/19
#62.220.32.0/20
#194.190.176.0/20
#193.125.70.0/23

use Net::Netmask;
use Socket;
use FileHandle;




#$name="ixnn.txt";
$netmaskname="ixtest.txt";
$accesslog  ="access.log";
$outfile    ="outfile.log";


my $masktable = {};

open F,"<",$netmaskname or die "can't open file 1>$netmaskname<\n";
while (<F>) {
 next if (m/^#/);
 next if (m/^\s*$/);
 next if (m/^#/);
 my $mask=$_;

# print;
 if ($mask =~ m/\d+\.\d+\.\d+\.\d+\/\d+/) {
	$x = new Net::Netmask ($mask);
	$x->storeNetblock($masktable);
 } else {
   print "invalid netask skipped >$mask<, mask should be xxx.xxx.xxx.xxx/zzz\n";
 }
}
close F;

open Fo,">",$outfile or die "can't open file 2>$outfile<\n";

open F,"<",$accesslog or die "can't open file 3>$accesslog\n";
while (<F>) {
  ($Ltimestamp,$Lelapsed,$Lhost,$Ltype,$Lsize,$Lmethod,$Lurl,$Luser,$Lhierarchy,$Lconttype,@Lrest)=split;
  $str=$_;

  if ($Lurl =~ m{(.*?//)?(.*?)(/|:)}) {
    $fname=$2;
    unless (defined $hIP{$fname}) {
      my $ia=inet_aton($fname);
      $hIP{$fname}=$ia ne "">0?inet_ntoa($ia):"ERR:$fname";    
    }
    $name=$hIP{$fname};
    print Fo $str unless (findNetblock($name, $masktable));
  } else {
    print Fo $str;
  }
}
close F;
примерно так.

DemonoidsYA
проходил мимо

Re: squid + TAG: log_access

Непрочитанное сообщение DemonoidsYA » 2008-12-17 4:33:09

есть парсер который обращаеться к access.log и делает новый файл.

DemonoidsYA
проходил мимо

Re: squid + TAG: log_access

Непрочитанное сообщение DemonoidsYA » 2008-12-17 4:35:33

Что-то не понял. И что?! В итоге выходит, статистика собирается в другой файл, а смысл?

Stepler
рядовой
Сообщения: 42
Зарегистрирован: 2008-08-10 9:03:36

Re: squid + TAG: log_access

Непрочитанное сообщение Stepler » 2008-12-17 7:52:02

смысл в том что я получаю статистику только по ресурсам за которые платим деньги.. бесплатные ресурсы в нее не входят.