Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-01-16 19:11:14

  ais89 - Nowy użytkownik

ais89
Nowy użytkownik
Zarejestrowany: 2012-11-09

Sortowanie logów od Squida

Hey
Moze odrazu przejde do opisania problemu
Pisze prace inżynierska na temat generowania wzorców ruchu pod QoS za pomoca squid'a
I teraz potrzebował bym jakiegos mechanizmu który by mi jakos sortował logi od squida mowa tutaj o access.log
Moim celem byłoby tworzenie logów z każdego dnia od poniedziałku do niedzieli
Chciałbym by w następny poniedziałek wszystkie te 7 logów zostało spoakowane  i przeniesione do innego folderu a w nazwie spakowanego pliku zaistniała data dnia w którym spakowanie miało miejsce.
Jest takie cos w ogóle możliwe ? 

Znalazłem dwa opisy odnośnie rotacji logów dla squida jeden to właśnie ten co tu jest

Kod:

/var/log/squid/access.log {
        missingok # nie wywala błędu jak brakuje pliku loga tylko leci dalej.
        daily #ja w tym miejscu  mam miesięczny ale to tylko przykład
        compress # to oznacza ze jak się wykonq logrotate to od razu kompresuje a nie czeka np 5 dni i dopiero starsze kompresuje.
        rotate 5 # trzyma tylko 5 ostatnich logów reszte wywala.
        postrotate #proponuje także zapoznać się z "prerotate"
        sciezka_do_skryptu_np: /root/skrypty/logi.sh # to będzie skrypt który wykona za nas całą robotę.
        endscript
}

Kod:

#!/bin/bash
cp /var/log/squid/access.log.1.gz /home/serwer/stare/access.log.`date +%F`.gz #przekopiowanie loga do katalogu olddir i dodanie do nazwy daty
find /home/serwer/stare/  -mtime +20  -exec rm -f {} \; #skasowanie plików starszych niż 20 dni.

a drugi na innej stronie (nie bede robił reklamy )
jest tam podane cos o wpisie do pliku crontab

Kod:

55 23 * * *           root       /usr/bin/squid –k rotate

i o wpisie do samego squid.conf mianowicie

Kod:

logfile_rotate = 1

I teraz mógłby mi ktoś podpowiedzieć czym róznia sie te dwa sposoby i który z tych sposobów sie bardziej mi przyda czy moze trzeba zastosować je oba by rotacja zadziałała ??

[i]// przeniesione z http://forum.dug.net.pl/viewtopic.php?id=19171 — ArnVaker[/i]

Ostatnio edytowany przez ais89 (2013-01-16 19:39:21)

Offline

 

#2  2013-01-16 23:42:48

  qlemik - Użytkownik

qlemik
Użytkownik
Zarejestrowany: 2007-11-27

Re: Sortowanie logów od Squida

Jest takie cos w ogóle możliwe ?[/quote]
Kiedyś guru Maverick powiedział : :D

W linuksie da się wszystko trzeba tylko wiedzieć jak :D[/quote]
Stosujesz jedno albo drugie rozwiązanie. Pierwsze polega na logrotate a drugie na cron + squid. Nie możesz używać jednego i drugiego na raz ponieważ całą robotę wykona ten sposób który zostanie odpalony jako pierwszy, drugi juz tylko będzie pracował na prawie pustym logu squida.

Moim celem byłoby tworzenie logów z każdego dnia od poniedziałku do niedzieli[/quote]

Kod:

/var/log/squid/access.log {
        missingok 
        daily 
        compress 
        rotate 7 
        postrotate 
        
        endscript

Chciałbym by w następny poniedziałek wszystkie te 7 logów zostało spoakowane  i przeniesione do innego folderu a w nazwie spakowanego pliku zaistniała data dnia w którym spakowanie miało miejsce.[/quote]

Kod:

#!/bin/bash
cd /var/log/squid/
tar -cvjpf logi_squid_`date +%F`.tar.bz *
mv logi_squid_`date +%F`.tar.bz * /home/hatalog_na_logi_squida/
rm /var/log/squid/acce*
/etc/init.d/squid reload

skrypt dodajesz do crona np:

Kod:

00 6 * * 1 /sciezka_do_skryptu

polecam [url]http://pl.wikipedia.org/wiki/Crontab[/url]
Skrypt trzeba by porządnie dopieścić aby nie używać :

Kod:

rm /var/log/squid/acce*
/etc/init.d/squid reload

Ostatnio edytowany przez qlemik (2013-01-16 23:52:05)

Offline

 

#3  2013-01-17 01:59:04

  ais89 - Nowy użytkownik

ais89
Nowy użytkownik
Zarejestrowany: 2012-11-09

Re: Sortowanie logów od Squida

fajnie juz podane jak na tacy to juz któryś raz jak dug.net.pl mi pomogło
dzieki  qlemik za szybką i wyczerpujaca wypowiedz

nie rozumiem tego stwierdzenia dlaczego " do pieścić ?
co jest nie tak z tymi linijkami ?

Kod:

rm /var/log/squid/acce*
/etc/init.d/squid reload

bo nie wiem nawet o co google zapytać ?
Jesli chodzi o samo:
[b]rm[/b] myślałem ze problem bedzie z chown dla usuniętego pliku ale funkcja [b]reload[/b] radzi sobie bardzo dobrze i usunięte acce* dostaja chown proxy:proxy 

edit : 2 :13 to juz  prawie 3 godziny jak rozmyślam dlaczego trzeba dopieścić ten dwie linijki kody w skrypcie i nic mi nie przychodzi do głowy

I Mam jeszce jedno pytanie skrypt ten mam umieścić w katalogu cron.daily a poźniej zrobić wpis do crontab ? czy druga opcja skrypt moze byc gdziekolwiek a zrobic tylko wpis do crontab z bezwzgledna scieżką

Ostatnio edytowany przez ais89 (2013-01-17 03:37:11)

Offline

 

#4  2013-01-17 12:36:35

  qlemik - Użytkownik

qlemik
Użytkownik
Zarejestrowany: 2007-11-27

Re: Sortowanie logów od Squida

druga opcja skrypt moze byc gdziekolwiek a zrobic tylko wpis do crontab z bezwzgledna scieżką + chmod u+x

Co do skryptu musisz pamiętać że jeśli ustawisz w cronie aby uruchamiał skrypt o np 10 rano to w spakowanym archiwum będziesz miał logi z squida od poniedziałku od 10 do poniedziałku do 10. Można by dorobić aby wycinał z niego linijki z acces.log z  poniedziałeku przed 10:00 i dppisywał je na początek nowo założonego pliku access.log po 10:00. Wtedy w spakowanych logach będziesz miał dokładnie od poniedziałku od godziny 0:00 do niedzieli do godziny 0:00


Oczywiście ktoś może powiedzieć że jak odpali skrypt w cronie o 0:00 to sprawa załatwiona :D 

Ja dodatkowo dodałbym sobie że jeśli będą jakieś błędy to niech mi je wyśle na email, żebym nie musiał za każdym razem sprawdzać czy mu się udało.
Mam nadzieje że jakoś w miare składnie to napisałem.

Offline

 

#5  2013-01-17 16:37:07

  ais89 - Nowy użytkownik

ais89
Nowy użytkownik
Zarejestrowany: 2012-11-09

Re: Sortowanie logów od Squida

No to juz prawie wszystko wiem
Sprawa logów i zawartości to nie jest jakis większy problem  nie będzie mi to przeszkadzało ze logi beda od godziny 4 w nocy do 4 w nocy

Bardziej obawiam sie tego czy to zadziała nie wiem jak to wywołać by to wszystko się jakos przeładowało przeszło chociaż jeden cykl albo i dwa przestawic datę na debianie ?
Info na maila to bardzo fajny pomysł ale chyba sobie podaruje bo nie wiem jak to zrobić
chyba ze to jest takie proste jak ten przykład na wikipedi

Kod:

# Denerwuj Stefana od poniedziałku do piątku o godzinie 22:00
0 22 * * 1-5     echo "Stefanie, jest już 22:00. Gdzie są Twoje dzieci?!" | mail -s "Wybiła 22:00" stefan@example.com 

#

Mam jeszcze jedną prośbe to juz chyba ostatnia squid ma dość dobre wspracie ze strony ludzi którzy pisza jakies programy pod niego
I teraz znalazłem na oficjalnej stronie squid'a jakies log analizyery ale za "chiny" nie wiem co z tym zrobić nie ma zadnego manuala do tego
plik jest napisany w perl'u i ma rozszerzenei .pl nie wiem jak mam zastosować ten skrypt by przetwarzał moj access.log ? odpowiesz mi jeszcze na to pytanie ?
http://davehope.co.uk/projects/perl-squid-reporting/ tu jest ten plik

Ostatnio edytowany przez ais89 (2013-01-17 16:40:15)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.019 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00014 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00113 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.191.110.17' WHERE u.id=1
0.00072 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.191.110.17', 1715654899)
0.00056 SELECT * FROM punbb_online WHERE logged<1715654599
0.00081 DELETE FROM punbb_online WHERE ident='185.191.171.5'
0.00272 SELECT topic_id FROM punbb_posts WHERE id=221213
0.00709 SELECT id FROM punbb_posts WHERE topic_id=22732 ORDER BY posted
0.00030 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=22732 AND t.moved_to IS NULL
0.00044 SELECT search_for, replace_with FROM punbb_censoring
0.00057 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=22732 ORDER BY p.id LIMIT 0,25
0.00217 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22732
Total query time: 0.0167 s