Nu kommer det att finnas en gräns för nedladdningshastighet för olika grupper av människor. Tja, är du redo? :) Låt oss gå...

Start. Skapa en ACL

Skapa ACL-grupper:
acl mp3_deny src "/etc/squid/lists/mp3_deny_users"
acl super_users src "/etc/squid/lists/super_users"
acl deny_all src "/etc/squid/lists/deny_all_users"

Så vi skapade listor, eller snarare tre grupper av användare, vars adresser finns i filerna. Eftersom IP-adresserna var tilldelade före mig, och inte är överens om upplösningen på vad man ska ladda ner och inte, blir det lättare att skriva ut sin IP i en fil än att skapa intervall, men vad man vill :)
acl mego_super_user src 192.168.0.0-256 # =) var bara försiktig med detta intervall
Exempel på innehållet i en listfil
nano "/etc/squid/lists/mp3_deny_users"
192.168.0.213
192.168.0.75
192.168.0.52
195.168.0.254

Nu är det dags att skapa en lista över nekade behörigheter:
acl mobil urlpath_regex -i (\.thm|\.sis|\.swf|\.jad|\.jar|\.3gp|\.mp4)((\#|\&|\?|\s)(1) )|$)
acl multimedia urlpath_regex -i (\.swf|\.mp3|\.m3u|\.flv|\.wav|\.vqf|\.avi|\.wmv|\.mpeg|\.mp|\.asf| \.mpe|\.dat|\.mpg|\.wma|\.midi|\.aiff|\.au|\.qt|\.ram|\.rm|\.iso|\.raw|\. mov)((\#|\&|\?|\s)(1)|$)
acl arkiv urlpath_regex -i (\.tar.gz|\.gz|\.tar|\.zip|\.rar|\.cab|\.arj|\.lzh|\.ace|\.7-zip| \.gzip|\.uue|\.bz2|\.iso)((\#|\&|\?|\s)(1)|$)
acl mjuk urlpath_regex -i (\.exe|\.msi|\.rpm)((\#|\&|\?|\s)(1)|$)
acl mp3 urlpath_regex -i (\.wav|\.mp3|\.mp4)((\#|\&|\?|\s)(1)|$)

Det är allt, den sjätte hinken är av största intresse:
var och en av dem laddar ner allt med en hastighet av 10, om hastigheten i undernätverket överskrider, kommer klippning av kanalen att börja,
Om de också laddar ner från andra undernätverk, och det finns fler än två av dem, så börjar hastigheten sakta ner...
Om du gör det på en gratis server, när du bygger bläckfisken, se till att bygga den med alternativet --enable-delay-pools!
P.S. Jag försökte mycket hårt för att förklara allt så tydligt som möjligt. Om jag hjälpte dig att lista ut det betyder det att jag inte skrev det här ämnet förgäves. Jag blir väldigt glad. Om något inte är klart, ställ frågor, jag svarar definitivt.
P.S.S. Standardinställningen för bläckfisk hjälpte mig att skriva allt detta, om du börjar läsa det kommer du att kunna ta reda på en massa nya saker!
P.S.S.S Kära KorP, tyvärr har jag inte tid för en domän nu, så nu skriver jag vad som finns i mitt huvud
UPD.
reply_body_max_size 1000 tillåter alla filer större än 1 kilobyte laddas inte ned

DIY Linux-server Kolisnichenko Denis Nikolaevich

15.1. Vad är SQUID?

15.1. Vad är SQUID?

SQUID är ett program som tar emot HTTP/FTP-förfrågningar från klienter och använder dem för att komma åt Internetresurser. Användningen av en proxyserver (squid) gör det möjligt att använda fiktiva IP-adresser på det interna nätverket (Masquerading), ökar hastigheten på begärandebehandlingen vid återansökan (cachning) och ger även ytterligare säkerhet.

Det är ingen idé att installera en proxy på din hem bil, eftersom cachelagringsfunktionerna utförs av webbläsaren. En proxyserver bör endast användas om det finns tre eller fyra datorer i ditt nätverk som behöver internetåtkomst. I det här fallet bearbetas förfrågan från webbläsaren till proxyservern snabbare än från webbläsaren till Internetresurser, och därmed ökar prestandan. I det här fallet kan du säkert ställa in cachestorleken i klientwebbläsare till noll.

SQUID är mer än bara en proxyserver. Detta är en sorts standard för cachning av information på Internet. På grund av SQUIDs allestädes närvarande ägnade jag mycket uppmärksamhet åt dess konfiguration i boken.

Squid-proxyservern bildas av flera program, inklusive: själva squidserverprogrammet, såväl som dnsserverprogrammet - ett program för att behandla DNS-förfrågningar. När bläckfiskprogrammet startar startar det först ett specificerat antal dnsserver-processer, som var och en körs oberoende och bara kan utföra en DNS-sökning. Detta minskar den totala väntetiden för DNS-svar.

Från boken DIY Linux-server författare

15 SQUID proxyserver 15.1. Vad är SQUID? SQUID är ett program som tar emot HTTP/FTP-förfrågningar från klienter och använder dem för att komma åt Internetresurser. Att använda en proxyserver (squid) gör det möjligt att använda fiktiva IP-adresser på det interna nätverket (Masquerading),

Från Linux-boken: Komplett guide författare Kolisnichenko Denis Nikolaevich

15.2. Installation av SQUID SQUID kan installeras från källan eller som ett RPM-paket. Att installera SQUID RPM-paketet är väldigt enkelt - du behöver bara ange kommandot rpm –ih squid-2.3.STABLE2-3mdk.i586.rpm Jag använder squid version 2.3. Mer ny version tillgänglig i källkodsform. Källor kan vara

Från boken Linux genom en hackers ögon författare Flenov Mikhail Evgenievich

15.3. Konfigurera SQUID SQUID-servern använder konfigurationsfilen squid.conf, som vanligtvis finns i katalogen /etc/squid (eller /usr/local/squid/etc - tidigare versioner). Öppna den i valfri textredigerare t.ex. joe/usr/local/squid/etc/squid.conf. Följ sedan följande sekvens

Från författarens bok

15.4. Starta SQUID Nu när du har gjort den grundläggande inställningen av SQUID, måste du starta den: /usr/local/squid/bin/squid –z Parametern –z krävs för att skapa (ogiltigförklara) katalogen som innehåller cachen. Vanligtvis behövs denna parameter endast vid första starten. Några andra användbara SQUID-parametrar

Från författarens bok

15.5. Format för squid.conf-filen squid.conf-filen specificerar olikarar. Låt oss titta på dem alla

Från författarens bok

17.1.5. Ställa in Squid Installera squid-paketet. Allt som återstår är att konfigurera och starta den. För att göra detta måste du redigera konfigurationsfilen /etc/squid/squid.conf. Ange först adressen till proxyleverantören: cach_peer proxy.your_isp.com Ange mängden RAM som ska användas av proxyservern: cache_memInklusive

Från författarens bok

Kapitel 18. SQUID och SOCKS proxyservrar 18.1. Vad är en proxyserver? En proxyserver är ett program som gör HTTP/FTP-förfrågningar på uppdrag av klienter. Att använda en proxyserver gör det möjligt att använda fiktiva IP-adresser på det interna nätverket (IP-maskering),

Från författarens bok

18.2. Installera SQUID Jag använder squid version 2.5. Squid-paketet ingår i moderna distributioner, och om du av någon anledning inte har det kan du ladda ner det från www.squid-cache.org När du bygger SQUID från källkoden bör det första steget vara kommandot # . /configure --prefix=/ usr/local/squidSQUID kommer att installeras i katalogen

Från författarens bok

18.3. Konfigurera SQUID SQUID-servern använder konfigurationsfilen squid.conf, som vanligtvis finns i katalogen /etc/squid (eller /usr/local/squid/etc - tidigare versioner). Vi kommer att titta på individuella inställningar mer i detalj lite senare. Låt oss nu bara konfigurera SQUID steg för steg.

Från författarens bok

18.4. Starta SQUID Första gången squid måste startas med -z-växeln för att skapa och rensa cachekatalogen: # /usr/local/squid/bin/squid -z Några fler användbara växlar som du kan starta squid med finns listade i Tabell 18.2 Squid startnycklar Tabell 18.2 Nyckel Syfte -a port Specificerar

Från författarens bok

18.5. Avancerade SQUID-inställningar. Konfigurationsfil squid.conf 18.5.1. Nätverksparametrar Följande nätverksparametrar kan anges i filen squid.conf:? http_port - port för klientförfrågningar. Från denna port kommer proxyservern att lyssna efter och behandla klientförfrågningar. Standardvärde

Från författarens bok

18.8. Kanaldelning med SQUID Låt oss säga att du behöver konfigurera en proxyserver så att en grupp datorer surfar på Internet med en hastighet och en annan med en annan. Detta kan krävas till exempel för att skilja på användare som

Från författarens bok

9.3. squid Som jag redan sa är den vanligaste proxyservern bläckfisk. Denna server har en ganska lång historia, och under dess existens har många funktioner implementerats i den. Det har inte funnits något ännu som jag inte kunde få med bläckfisk.Basic

Från författarens bok

9.4. Åtkomsträttigheter för bläckfisk Detta är det mest smärtsamma ämnet för alla administratörer. Ja, squid har också åtkomsträttigheter, och de beskrivs också i konfigurationsfilen /etc/squid/squid.conf. Men vi överväger rättigheter separat, eftersom vår huvudsakliga tonvikt ligger på säkerhet. Det är därför

Från författarens bok

9.5. Anteckningar om bläckfiskens arbete Nu måste vi prata lite om några säkerhetsfrågor för bläckfisktjänsten och ytterligare funktioner, vilket kan påskynda arbetet

Från författarens bok

12.5.4. squid proxy log Huvudloggen för squid proxy är /var/log/squid/access.log. Detta textfil, där varje rad består av följande fält:? starttid för anslutningen eller händelsen;? sessionslängd;? Klientens IP-adress;? bearbetningsresultat

Nyligen behövde vårt företag överföra en proxyserver från MS ISA Server till fri programvara. Det tog inte lång tid att välja en proxyserver (bläckfisk). Utnyttja flera praktiska rekommendationer, konfigurerat proxyn för att passa våra behov. Vissa svårigheter uppstod vid val av program för trafikredovisning.

Kraven var:

1) gratis programvara
2) möjligheten att bearbeta loggar från olika proxyservrar på en server
3) möjligheten att skapa standardrapporter med sändning via post, eller en länk på en webbserver
4) bygga rapporter för enskilda avdelningar och distribuera sådana rapporter till avdelningschefer, eller tillhandahålla åtkomst via en länk på en webbserver

Utvecklarna ger väldigt lite information om trafikredovisningsprogram: en lakonisk beskrivning av syftet med programmet plus en valfri bonus på ett par skärmdumpar. Ja, det är klart att vilket program som helst kommer att beräkna mängden trafik per dag/vecka/månad, men ytterligare intressanta möjligheter som skiljer ett program från andra beskrivs inte.

Jag bestämde mig för att skriva det här inlägget där jag ska försöka beskriva funktionerna och nackdelarna med sådana program, såväl som några av deras nyckelfunktioner, för att hjälpa dem som måste göra ett val lite.

Våra kandidater:

SARG
gratis-sa
ljusbläckfisk
squidanalyzer
ScreenSquid

Reträtt

Information om programmets "ålder" och den senaste versionen är inte en jämförelseparameter och tillhandahålls endast för information. Jag kommer att försöka jämföra enbart programmets funktionalitet. Jag ansåg inte heller medvetet för gamla program som inte har uppdaterats på många år.

Loggar skickas till analysatorn för bearbetning i den form som bläckfisk skapade dem och kommer inte att genomgå någon förbearbetning för att göra ändringar i dem. Bearbetning av felaktiga poster och alla möjliga omvandlingar av loggfält ska göras av analysatorn själv och endast finnas med i rapporten. Den här artikeln är inte en installationsguide. Konfigurations- och användningsfrågor kan behandlas i separata artiklar.

Så låt oss börja.

SARG - Squid Analysis Report Generator

Det äldsta bland stödda program i denna klass (utveckling startade 1998, tidigare namn - sqmgrlog). Senaste utgåvan (version 2.3.10) - april 2015. Efter det fanns det flera förbättringar och fixar som är tillgängliga i masterversionen (kan laddas ner med git från sourceforge).

Programmet startas manuellt eller via cron. Du kan köra det utan parametrar (då kommer alla parametrar att hämtas från sarg.conf-konfigurationsfilen), eller så kan du ange parametrar i kommandoraden eller ett skript, till exempel datumen för vilka rapporten genereras.

Rapporter skapas som HTML-sidor och lagras i katalogen /var/www/html/squid-reports (som standard). Du kan ställa in en parameter som anger antalet rapporter som lagras i katalogen. Till exempel, 10 dagligen och 20 varje vecka, äldre raderas automatiskt.

Det är möjligt att använda flera konfigurationsfiler med olika parametrar för olika alternativ rapporter (till exempel för dagliga rapporter kan du skapa din egen konfiguration, där alternativet att skapa grafer kommer att inaktiveras och en annan katalog kommer att anges för utmatning av rapporten).

Detaljer

När vi går in på huvudsidan med rapporter kan vi välja den period för vilken den skapades (definierad i parametrarna för att skapa rapporten), datumet för dess skapande, antalet unika användare, den totala trafiken för perioden, den genomsnittliga mängden trafik per användare.

När du väljer en av perioderna kommer vi att kunna få en toppanvändarrapport för denna period. Nedan kommer jag att ge beskrivningar och exempel på alla typer av rapporter som SARG kan göra.

1) topusers - total trafik av användare. En användare är antingen namnet på den värd som Internetåtkomst beviljas eller användarens inloggning. Exempelrapport:


IP-adresser visas här. När den är konfigurerad för att aktivera motsvarande alternativ, konverteras IP-adresser till domännamn.

Använder du autentisering? konton konverterat till riktiga namn:

Utseendet kan anpassas i en css-fil. De visade kolumnerna är också anpassningsbara och onödiga kan tas bort. Kolumnsortering stöds (sorttable.js).

När du klickar på grafikonen till vänster ser du en graf så här:


När du klickar på ikonen till höger får vi rapport 5.

2) topsites - rapportera om de mest populära webbplatserna. Som standard visas en lista över de 100 mest populära webbplatserna (värdet kan justeras). Genom att använda reguljära uttryck eller ställa in alias kan du kombinera trafik från domäner på 3:e och högre nivåer till en 2:a nivådomän (som i skärmdumpen) eller ställa in någon annan regel. För varje domän kan du ställa in en regel separat, till exempel för yandex.ru och mail.ru, kombinera upp till den tredje nivån. Meningen med fälten är ganska uppenbar.


3) sites_users - en rapport om vem som besökte en specifik webbplats. Allt är enkelt här: domännamnet och vem som har tillgång till det. Trafiken visas inte här.


4) users_sites - en rapport om webbplatser som besökts av varje användare.


Allt är klart även här. Om du klickar på ikonen i den första kolumnen får vi rapporten viii).

5) datum_tid - fördelning av användartrafik efter dag och timme.


6) nekad - förfrågningar blockerade av bläckfisk. Detta visar vem, när och var åtkomst nekades. Antalet poster är konfigurerbart (standard är 10).


7) auth_failures - autentiseringsfel. HTTP/407.
Antalet poster är konfigurerbart (standard är 10).


8) site_user_time_date - visar vilken tid användaren besökte vilken sida och från vilken maskin.

9) nedladdningar - lista över nedladdningar.


10) useragent - rapport om använda program

Den första delen av rapporten visar IP-adressen och använda användaragenter.


I den andra - en allmän lista över användaragenter med fördelning i procent, med hänsyn till versioner.


11) omdirigering - rapporten visar vem som har blockerat åtkomst med hjälp av blockeraren. Squidguard, dansguardian, rejik stöds, loggformatet är anpassningsbart.


SARG har mer än 120 inställningsparametrar, språkstöd (100 % av meddelandena översätts till ryska), stöd för reguljära uttryck, arbete med LDAP, möjligheten att ge användare tillgång endast till sina rapporter på webbservern (via .htaccess) , möjligheten att konvertera loggar till sitt eget format för att spara utrymme, ladda upp rapporter till en textfil för efterföljande fyllning av databasen, arbeta med bläckfiskloggfiler (dela upp en eller flera loggfiler per dag).

Det är möjligt att skapa rapporter för en specifik uppsättning av specificerade grupper, till exempel om du behöver göra en separat rapport för en avdelning. I framtiden kan åtkomst till webbsidan med avdelningsrapporter ges till exempel till chefer som använder en webbserver.

Du kan skicka rapporter via e-post, men för närvarande stöds endast topusers-rapporten, och själva brevet kommer att vara enkel text utan HTML-stöd.

Du kan utesluta vissa användare eller vissa värdar från bearbetning. Du kan ställa in alias för användare, kombinera trafiken från flera konton till ett, till exempel alla utomstående. Du kan också ställa in alias för webbplatser, till exempel kombinera flera sociala nätverk, i detta fall kommer alla parametrar för de angivna domänerna (antal anslutningar, trafikvolym, bearbetningstid) att summeras. Eller, med hjälp av ett reguljärt uttryck, kan du "kassera" domäner över nivå 3.
Eventuell avlastning in separata filer lista över användare som överskred vissa volymer för perioden. Utdata kommer att vara flera filer, till exempel: userlimit_1G.txt - överstiger 1 Gb, userlimit_5G.txt - överstiger 5 Gb och så vidare - 16 gränser totalt.

SARG har också ett par PHP-sidor i sin arsenal: visa aktuella anslutningar till squid och för att lägga till domännamn till squidguard blocklistor.

Sammantaget är det väldigt flexibelt och kraftfullt verktyg, lätt att lära sig. Alla parametrar beskrivs i standardkonfigurationsfilen, det finns fler i projektet på sourceforge detaljerad beskrivning alla parametrar i wikisektionen, indelade i grupper, och exempel på deras användning.

gratis-sa

Inhemsk utveckling. Det har inte kommit några nya versioner sedan november 2013. Påstår sig generera rapporter snabbare än konkurrerande program och tar mindre plats för färdiga rapporter. Låt oss kolla!

När det gäller operativ logik ligger detta program närmast SARG (och författaren själv jämför det med det här programmet (till exempel)), så vi kommer att jämföra det med det.

Jag var glad att det fanns flera designteman. Temat består av 3 css-filer och 4 png-ikoner som motsvarar dem.

Rapporter görs faktiskt snabbare. Den dagliga rapporten skapades klockan 4:30, då SARGs var 12 minuter. Den upptagna volymen var dock inte fallet: volymen som upptas av rapporter är 440 MB (free-sa) och 336 MB (SARG).

Låt oss försöka ge en svårare uppgift: bearbeta en loggfil på 3,2 GB på 10 dagar, som innehåller 26,3 miljoner rader.

Free-sa gjorde också rapporten snabbare, på 46 minuter tar rapporten upp 3,7 GB diskutrymme. SARG spenderade 1 timme och 10 minuter, rapporten tar upp 2,5 GB.

Men båda dessa rapporter kommer att vara besvärliga att läsa. Vem skulle till exempel vilja manuellt beräkna vilken domän som är mest populär - vk.com eller googlevideo.com och manuellt räkna trafiken för alla sina underdomäner? Om du bara lämnar 2nd-level-domäner i SARG-inställningarna kommer det att ta ungefär samma tid att skapa en rapport, men nu tar själva rapporten upp 1,5 GB på disk (dagligen från 336 MB har minskat till 192 MB).

Detaljer

När vi går in på huvudsidan ser vi något i stil med följande (blustemat är valt):


För att vara ärlig, syftet med att visa år och månader är oklart när du klickar på dem, ingenting händer. Du kan skriva något i sökfältet, men återigen händer ingenting. Du kan välja intresseperiod.

Lista över blockerade webbadresser:

CONNECT-metodrapport:


PUT/POST-metodrapport:



Populära webbplatser:


Rapporten om proxyserverns effektivitet verkade intressant:


Användarrapport:


När du klickar på grafikonen i den andra kolumnen får vi en graf över Internetanvändning av en specifik användare:


När du klickar på den andra ikonen får vi en tabell över internetkanaler som laddas per timme:

När du väljer en IP-adress får vi en lista över webbplatser efter användare i fallande trafikordning:


All statistik visas i byte. För att byta till megabyte måste du ställa in parametern

reports_bytes_divisor="M"

Programmet accepterar inte komprimerade filer logs, accepterar inte mer än en fil med parametern -l, stöder inte filtrering av filer efter mask. Författaren till programmet föreslår att man kringgår dessa begränsningar genom att skapa namngivna rör.

Ett irriterande fel upptäcktes - när längden på loggraden är för lång skrivs tidsstämplar in istället för adresser:


När du ser trafiken för denna "användare" kan du se domänen med källan till felet:


Således har antalet användare ökat flera gånger.

Om vi ​​jämför dessa två program skapar free-sa rapporten lite snabbare. Jag kunde inte upptäcka en 20-faldig ökning av hastigheten, enligt författaren. Kanske kan det ses hos några vissa villkor. Jag tror att det inte spelar någon roll hur lång tid det tar att skapa en veckorapport på natten - 30 minuter eller 50. När det gäller mängden utrymme som upptas av rapporter har free-sa ingen fördel.

ljusbläckfisk

Kanske den mest populära trafikräknaren. Det fungerar snabbt, rapporter tar inte upp mycket diskutrymme. Även om det här programmet inte har uppdaterats på länge, bestämde jag mig ändå för att överväga dess kapacitet i den här artikeln.

Programmets logik är annorlunda: programmet läser loggen och skapar en uppsättning datafiler som det sedan använder för att skapa webbsidor. Det vill säga att det inte finns några förskapade rapporter med data här som genereras i farten. Fördelarna med denna lösning är uppenbara: för att få en rapport är det inte nödvändigt att analysera alla loggar för perioden, det räcker med att "mata" den ackumulerade stocken till lightsquid en gång om dagen. Du kan göra detta med cron flera gånger om dagen, till och med flera gånger om dagen, för att snabbt lägga till en ny information.

Det finns några nackdelar: det är omöjligt att bearbeta loggar från olika servrar och samla statistik på ett ställe: när du bearbetar en logg för en dag från en annan server, raderas befintlig statistik för den dagen.

Det finns en konstig begränsning: lightsquid "uppfattar" både okomprimerade loggfiler och komprimerade (gz - exakt), men i det andra fallet måste filnamnet vara i följande format: access.log.X.gz, filer med namnet format access.log- ÅÅÅÅMMDD.gz accepterar det inte.

Genom enkla manipulationer övervinner vi denna begränsning och ser vad som händer.

Detaljer

Rapporten för månaden (total trafik 3 TB, 110 miljoner rader) tog upp 1 GB diskutrymme.

startsida Vi ser trafik per dag för innevarande månad.


När du väljer en dag ser vi en rapport för dagen för alla användare:


Om grupper anges visas namnet på gruppen som användaren tillhör i den högra kolumnen. Användare som inte är medlemmar i någon grupp grupperas i grupp 00 nej i grupp (de är markerade med ett frågetecken i denna rapport).

När man väljer på startsida grp på motsvarande datum kommer vi till rapportsidan för användare indelade i grupper. De som inte ingår i någon grupp listas först, sedan grupperna i ordning.


När du klickar på namnet på en grupp i tabellen till höger kommer vi nedan till den plats på sidan där rapporten för denna grupp börjar:


När du klickar på "Rapport för bästa webbplatser" får vi en rapport om populära webbplatser för dagen:


Rapport om stora filer:


Låt oss gå vidare till tabellen till höger.
Här kan du få en lista över toppsajter för månaden och för hela året (de ser likadana ut, så ingen skärmdump), allmän statistik för år och månad, samt statistik för år och månad för grupp.

Statistik för månaden:


Genom att klicka på klockikonen kan vi se en tabell över webbplatser, åtkomsttid och trafik förbrukad per timme:


Statistik för dagen visas här, men för månad och år kommer det att se ungefär likadant ut, timstatistik för domäner kommer att summeras.

När du klickar på grafikonen kan vi se användarens trafikförbrukning under månaden:


Grafkolumnerna är klickbara: när du klickar på en kolumn går du till användarens statistik för en annan dag.

Genom att klicka på [M] får vi en rapport om användarens trafikförbrukning under månaden, som anger volymen för varje dag och för hela veckan.

När du klickar på användarens namn får vi en lista över webbplatser som användaren besökte i fallande trafikordning:


Tja, det verkar vara allt. Allt är enkelt och koncist. IP-adresser kan konverteras till domännamn. Med hjälp av reguljära uttryck kan domännamn kombineras till domäner på 2:a nivån, här är ett reguljärt uttryck:

$url =~ s/(+://)??(+.)(0,)(+.)(1)(+)(.*)/$3$4/o;

Om du har kunskaper i perl kan du anpassa den för att passa dina behov.

squidanalyzer

Ett program som liknar lightsquid och även skrivet i Perl. Snyggare design. Den senaste versionen 6.4 släpptes i mitten av december i år, många förbättringar har gjorts. Programwebbplats: squidanalyzer.darold.net.

Squidanalyzer kan använda flera processorer på din dator (-j alternativ), vilket resulterar i snabbare rapportering, men detta gäller bara okomprimerade filer. För packade (gz-format stöds) sker bearbetning med en processorkärna.

Och ytterligare en jämförelse med lightsquid: samma rapport på samma server tog ungefär en dag, den tar upp 3,7 GB diskutrymme.

Precis som lightsquid kommer squidanalyzer inte att kunna slå samman två eller flera loggfiler från olika servrar under samma period.

Mer information

Hemsida - du kan välja år för rapporten.

När du väljer vilken period som helst (år, månad, vecka, dag) utseende webbsidor kommer att vara liknande: högst upp finns en meny med följande rapporter: MIME-typer, Nätverk, Användare, Top Denied, Top URLs, Top Domains. Nedan finns proxystatistik för den valda perioden: Förfrågningar (Hit/Miss/Denied), Megabyte (Hit/Miss/Denied), Totalt (Requests/Megabyte/Users/Sites/Domains). Nedan visas en graf över antalet förfrågningar per period och trafik.

Det finns en kalender i det övre högra hörnet. När du väljer en månad kan du se kort statistik och en nedladdningsgraf per dag:


Kalendern låter dig välja en vecka. När det är valt kommer vi att se liknande statistik:


När du väljer en dag ser du statistik per timme:


Innehållstypsrapport:


Nätverksrapport.


Användarrapport.


När du väljer en användare får vi hans statistik för perioden.



Förbjudna resurser:


Rapportera om 2:a nivå domäner.


För mina egna vägnar skulle jag vilja notera programmets mycket långsamma funktion när information samlas. Med varje ny logg räknas statistik för veckan, månaden och året om. Därför skulle jag inte rekommendera detta program för att bearbeta loggar från en server med mycket trafik.

skärmbläckfisk

Detta program har en annan logik: loggen importeras till databasen MySQL-data, då begärs data från den när man arbetar i webbgränssnittet. Databasen med den bearbetade tiodagarsloggen som nämnts tidigare upptar 1,5 GB.

Mer information

Programmet kan inte importera loggfiler med ett godtyckligt namn, bindande endast till access.log.

Hemsida:


Kort statistik:


Du kan skapa alias för IP-adresser:


... och sedan kan de kombineras i grupper:


Låt oss gå vidare till det viktigaste - rapporter.

Till vänster finns en meny med rapporttyper:

Användartrafikinloggningar
IP-adress användartrafik
Webbplatstrafik
Toppsajter
Toppanvändare
Topp IP-adresser
Efter tid på dagen
Användartrafikinloggningar utökade
IP-adress användartrafik utökad
IP-adresstrafik med upplösning
Populära sajter
Vem laddade ner stora filer
Trafik per period (dagar)
Trafik per period (dagens namn)
Trafik per period (månader)
HTTP-statusar
Logga in IP-adresser
Inloggningar från IP-adresser

Exempel på rapporter.

IP-adress användartrafik:


Webbplatstrafik:


Toppsajter:


... vidare, för att vara ärlig, hade jag inte tillräckligt med tålamod för att studera möjligheterna, eftersom sidorna började genereras på 3-5 minuter. Rapporten "tid på dygnet" för dagen, för vilken loggen inte importerades alls, tog mer än 30 sekunder att skapa. För en dag med trafik - 4 minuter:


Det är allt. Jag hoppas att det här materialet är användbart för någon. Tack alla för er uppmärksamhet.

Alla som höjer en proxy vill sedan se vem som använder den, vem som laddar ner hur mycket. Och ibland kan det vara väldigt användbart att i realtid se vem som laddar ner vad. Följande program kommer att diskuteras i detta ämne:
SqStat - Realtid statistik via webben
- Squid log analysator med efterföljande HTML-generering
SquidView- Interaktiv konsolmonitor av Squid-loggar

0. Inledning

Jag kommer inte att berätta hur du konfigurerar Apache här. Det finns så många manualer om detta ämne på Internet, så fortsätt och sjung, jag kommer att prata om funktionerna som jag implementerade hemma.
Ja, jag kommer att berätta för dig med Debian Etch som exempel, dina vägar kan skilja sig åt, kom ihåg...
Låt oss gå...

1. SquidView

Det här programmet körs i konsolen och visar allt som Squid gör där.
Installation:

Aptitude installera squidview

Låt oss vänta ett par sekunder om du har snabbt internet. Det är det, nu kan vi se vem som laddar ner vad. Om du inte har ändrat platsen för loggarna och lämnat de flesta av bläckfiskparametrarna som standard, behöver du bara köra den för att se den, men med roträttigheter, eftersom bläckfiskloggarna skrivs av den...

Sudo squidview

Jag tror att detta kommer att räcka för dig, men jag kommer också att berätta mycket användbara saker för dig, du måste trycka på knapparna och titta på:

  • h - hjälp, här kan vi lära oss ännu mer;)
  • l - enter - rapportgenerering, du kan också konfigurera ytterligare inställningar
  • T - inspelning av statistik om storleken på nedladdningen börjar
  • O - tittar på vem som laddat ner vad av användare, efter T

När det gäller SquidView verkar allt vara okej, om jag inte berättade något, skriv till mig så lägger jag till det!

2. SqStat

Detta är ett skript som låter dig se aktiva anslutningar, kanalbelastning och genomsnittlig kanalbelastning.
Jag antar att du redan har konfigurerat Apache.
Ladda ner senaste versionen,

Wget -c samm.kiev.ua/sqstat/sqstat-1.20.tar.gz
tar xvfz sqstat-1.20.tar.gz
cd ./sqstat-1.20
mkdir /var/www/squid-stat
cp -R * /var/www/squid-stat*

Det är det, nu måste vi konfigurera Squid-cgi eller cachemgr.cgi Set:
aptitude installera squid-cgi

Nu måste du konfigurera åtkomst...

Nano /etc/squid/squid.conf

Tillägga
acl manager proto cache_object
http_access tillåter manager localhost
http_access neka manager
#Den här raden ställer in lösenordshemligheten och låter dig göra allt
cachemgr_passwd hemlig allt

Nu måste du fixa /etc/squid/cachemgr.conf
echo "*" >> /etc/squid/cachemgr.conf
Istället för * kan du ange nätverksadressen som squid lyssnar på

Av någon anledning kunde jag inte starta den på adressen 127.0.0.1, så jag skrev in 192.168.0.1 och allt fungerade. Nu måste du ange den externa nätverksadressen i fältet Cachevärd. Vilken port har du, i inloggningsfältet, om du gjorde allt enligt manualen, behöver du inte ange något och skriva hemligt i lösenordsfältet. Om allt gick bra, kommer du att se en lista över tillgängliga parametrar... Du kan ta en titt, och vi går vidare till att ställa in SqStat...

Nano /var/www/squid-stat/config.inc.php
//Detta är adressen där din bläckfisk lyssnar
$squidhost="192.168.0.1";
$squidport=3128;
$cachemgr_passwd="hemlig";
//Denna parameter gör att namn kan lösas av poster i ditt system
$resolveip=falskt;
//Denna fil innehåller IP och namn på datorer, du kan använda det kyrilliska alfabetet :)
$hosts_file="värdar";
$group_by="värd";

I princip är själva konfigurationen väl dokumenterad, studera den, lyckligtvis finns det inget att studera där))

Nu gör vi en underdomän, det är mycket bekvämare)

Nano /etc/apache2/sites-enabled/sqstat

ServerAdmin [e-postskyddad]
DocumentRoot /var/www/squid-stat/
Servernamn proxy.server.local

För att lösa det, skriv till /etc/hosts

Nano /etc/hosts
192.168.0.1 proxy.server.local

Det är allt :) nästan allt

Squid -k omkonfigurera
/etc/init.d/apache2 ladda om

3. Sarg

Detta program genererar html-rapporter, ritar grafer, etc...
Vi lägger:

Aptitude installera sarg

Nano /etc/squid/sarg.conf
språk Ryska_koi8
grafer ja
title "Squid User Access Reports"!}
temporary_dir/tmp
output_dir /var/www/sarg
max_förfluten 28800000
charset Koi8-r

Naturligtvis är det ingen som hindrar dig från att göra narr av visningsstilen för hela den här anläggningen - konfigurationen är försedd med mycket detaljerade kommentarer.

Crontab -u rot -e
* 08-18/1 * * * /usr/sbin/sarg-rapporter idag
* 00 * * * /usr/sbin/sarg-rapporter dagligen
* 01 * * 1 /usr/sbin/sarg-rapporter varje vecka
* 02 1 * * /usr/sbin/sarg-rapporter varje månad

Epilog

Det var allt :)) Om du vill kan du skapa en underdomän för det också! Detta har redan beskrivits...
Själv använder jag alla tre programmen och är nöjd.

UPD. För att lösa problemet med version 3 skid måste du skapa en mjuk länk:

Ln -s /var/log/squid3/access.log /root/.squidview/log1

UPD.2. Nästa artikel kommer att prata om fördröjningspooler