Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Hardware, Software e Toys > Software > Mondo Linux
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 12-05-09, 16:54   #1 (permalink)
Moderatore
 
L'avatar di redsector
 
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
tail e grep non sono più in tempo reale

Buondì,
ho sempre usato un comando ti questo tipo
tail -f nomelog.log | grep -v 'http://www.' | grep -v 'favicon.ico'
e non ho mai avuto problemi.

Attualmente il comando mi si esegue a cadenza oraria.
In pratica se faccio solo il tail senza il grep vedo il log quasi in tempo reale, se aggiungo il grep mi sbrodola il log alla cadenza dell'ora.

Forse vuole riempire un buffer?
Chi mi svela questo mistero o mi consiglia un altro modo per ottenere lo stesso risultato?
Tutto è successo dopo l'ultimo aggiornamento del sistema, con le varie librerie.
__________________

Cerchi Musica matrimonio e animazione matrimoni in Lombardia o in Piemonte?
redsector ora è in linea   Rispondi citando
Vecchio 12-05-09, 18:11   #2 (permalink)
User
 
L'avatar di it1315922
 
Data di registrazione: Nov 2006
Ubicazione: Pompeiana
Messaggi: 103
Ciao Redsector,
immagino che lo scopo sia quello di osservare in "diretta" il file di log di un server http.
Capisco il grep -v 'favicon.ico', ma non il grep -v 'http :// www .':
Che tipo di linee vuoi estrarre dal tuo log?

__________________

Il webmastro dell'associazione Praugrande di Pompeiana (IM).

Ultima modifica di Wolf Otakar : 12-05-09 19:47. Motivo: Quote inutile.
it1315922 non in linea   Rispondi citando
Vecchio 12-05-09, 18:24   #3 (permalink)
Moderatore
 
L'avatar di redsector
 
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
Ciao,
l'intento è quello di osservare tutti gli url in ingresso, tranne quelli in cui il referrer è il sito. Ho troncato il www.sito per evitare spam.

Sai che può essere successo a grep?
__________________

Cerchi Musica matrimonio e animazione matrimoni in Lombardia o in Piemonte?
redsector ora è in linea   Rispondi citando
Vecchio 12-05-09, 18:32   #4 (permalink)
User
 
L'avatar di it1315922
 
Data di registrazione: Nov 2006
Ubicazione: Pompeiana
Messaggi: 103
Prima domandina: hai capito se la magagna la dobbiamo cercare nel tail o nel grep?
Se fai tail -f senza | grep .... vedi un output "regolare" o a botte di un'ora per volta?

Se il flusso in output è quello atteso allora ci focalizziamo sul grep.

Un dubbio: il grep -v 'http: // www .' non becca anche l'URL chiamato dai client?

Ciao
__________________

Il webmastro dell'associazione Praugrande di Pompeiana (IM).
it1315922 non in linea   Rispondi citando
Vecchio 12-05-09, 18:46   #5 (permalink)
Moderatore
 
L'avatar di redsector
 
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
Allora, il log con il tail -f ha un piccolo ritardo, qualche secondo con la diretta, ma penso sia normale.

Se metto un solo grep "frequente" tipo '" 200' mi sembra sia ok, ma perchè il buffer lo riempe subito.

Se concanteno i due grep mi prende praticamente solo i referrer esterni, quindi mi si riempe il buffer in mezz'ora circa.

Mi sono guardato l'opzione -n di grep che riporta

-n, --line-number print line number with output lines
--line-buffered flush output on every line

Però non capisco come ad attivare il flush on ad ogni linea, con solo -n non pare funzionare.
grep -v -n 'http://www' per intenderci.
__________________

Cerchi Musica matrimonio e animazione matrimoni in Lombardia o in Piemonte?

Ultima modifica di Wolf Otakar : 12-05-09 19:48. Motivo: Uso delle Maiuscole!
redsector ora è in linea   Rispondi citando
Vecchio 12-05-09, 18:56   #6 (permalink)
User
 
L'avatar di it1315922
 
Data di registrazione: Nov 2006
Ubicazione: Pompeiana
Messaggi: 103
...ritardo di qualche secondo per tail -f? Immagino allora che il file di log sia molto grande ...
Sei sicuro di avere risorse sufficienti quando concateni i due grep?
Se apri una shell ulteriore per guardare con "top" l'uso di CPU e memoria mentre fai partire il tail -f |grep ... cosa vedi?
Se fai
cat /proc/loadavg
che cosa ti dice?

Ciao
__________________

Il webmastro dell'associazione Praugrande di Pompeiana (IM).

Ultima modifica di Wolf Otakar : 12-05-09 19:48. Motivo: Quote inutile.
it1315922 non in linea   Rispondi citando
Vecchio 12-05-09, 19:06   #7 (permalink)
Moderatore
 
L'avatar di redsector
 
Data di registrazione: May 2006
Ubicazione: Varese
Messaggi: 1,271
No ho 200 Mb di ram libera e l'occupazione media è dello 0%
Penso che sia la gestione delle statistiche che rallenta la creazione del log.

Ho riprovato a gestire il parametro -n, e ho azzardato un --

tail -f file.log | grep --line-buffered -v 'http://www' | grep --line-buffered -v 'favicon.ico' e tutto sembra tornato normale.

Quasi che sia cambiata una preferenza di consolle, non saprei.
Esiste un modo di rendere di default il parametro --line-buffered con tutti i grep?

Non so quale libreria sia stata aggiornata con l'ultimo update, ma devono avere toppato loro (o forse era toppato prima )
__________________

Cerchi Musica matrimonio e animazione matrimoni in Lombardia o in Piemonte?
redsector ora è in linea   Rispondi citando
Vecchio 12-05-09, 19:13   #8 (permalink)
User
 
L'avatar di it1315922
 
Data di registrazione: Nov 2006
Ubicazione: Pompeiana
Messaggi: 103
Quote:
redsector Visualizza il messaggio
Esiste un modo di rendere di default il parametro --line-buffered con tutti i grep?
Quasi...
puoi aggiungere un alias per tutti in /etc/bashrc
Una cosa tipo
alias grep='grep --line-buffered 3333'
__________________

Il webmastro dell'associazione Praugrande di Pompeiana (IM).
it1315922 non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 17:26.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.