Storie dalla Sala Macchine |
Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register
Alura, un po' di tempo fa'... in effetti parecchio tempo fa,
scrissi
un pistolotto
in cui minacciavosuggerivo un uso
dei file di log un po' piu' utile ai vari programmatroti. Ovviamente
non sono mai stato ascoltato.
Questa settimana sono di corvee' con il foxxuto guinzaglietto elettronico, speravo che se ne stesse buono ma vengo richiamato dal mio riposo all'antelucana ora della 1.52 del mattino dal maledetto arnese che mi avvisa che un certo application swerver e' un pelino costipato, non si sente tanto bene, zoppica... insomma e' una chiavica totale.
Risveglio il lapdog dal suo stand-by e mi loggo sul server in questione, a parte un load average di 8 non vedo niente di particolarmente sbagliato, TomCat sta funzionando come dovrebbe, i servizi che dovrebbero funzionare funzionano o perlomeno i processi sono li'.
Guardo meglio il messaggio di errore che riferisce che un certo URL ritorna un errore 500 quando richiesto. Ovviamente sulla macchina non sta funzionando Apache e la richiesta viene fatta direttamente a TomCat. Riattivo il neurone che sa come ca$$o si usa wget e faccio la richiesta e mi becco un error 500 come risposta. Ok, quindi il monitor sta' dicendo le cose giuste e c'e' qualche cosa che non funzica.
Il log di TomCat e' di 3.8 Gb e cresce a vista d'occhio.
Un rapido sguardo non mi dice niente di particolare. Apparentemente sembra che chiunque abbia deciso di scrivere questa chiavica di webapplicascion pensa di essere estremamente spiritoso in una maniera molto 'geek', quello sotto e' un estratto del log.
INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 12, 2011 2:09:46 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Apr 12, 2011 2:09:46 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/290 config=null
Apr 12, 2011 2:09:46 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 15234 ms
Attempting to load ESAPI.properties via file io.
Attempting to load ESAPI.properties via file io.
Not found in 'org.owasp.esapi.resources' directory or file not readable.
Not found in SystemResource Directory/resourceDirectory
Not found in 'user.home' directory
Loading ESAPI.properties via file io failed.
Attempting to load ESAPI.properties via the classpath.
Successfully loaded ESAPI.properties via the classpath! BOO-YA!
Successfully loaded ESAPI.properties via the classpath! BOO-YA!
Attempting to load validation.properties via file io.
Attempting to load validation.properties via file io.
Successfully loaded validation.properties via the classpath! BOO-YA!
Successfully loaded validation.properties via the classpath! BOO-YA!
[ERROR] PDFProcessor - urlParam: null seems to be malformed
Uopsa, who did this? You better fix it!
Attempting to load more.properties via file io.
Successfully loaded more.properties via the classpath! BOO-YA!
Starting processor
Starting processor (1)
Starting processor (2)
Trouble with processing resource 1289 (?)
Uopsa, who did this? You better fix it!
Starting processor (3)
Pickle Pickle url fickle...
ResolverUtils - Not possible to parse number (.) so formatting cannot be
applied. java.text.ParseException: Unparseable number: "."
ResolverUtils - Not possible to parse number (.) so formatting cannot be
applied. java.text.ParseException: Unparseable number: "."
ResolverUtils - Not possible to parse number (.) so formatting cannot be
applied. java.text.ParseException: Unparseable number: "."
ResolverUtils - Not possible to parse number (.) so formatting cannot be
applied. java.text.ParseException: Unparseable number: "."
seguono un centinaio circa di 'java exception'... e l'applicazione non
e' manco partita ancora...
[ERROR] PDFProcessor - urlParam: null seems to be malformed
Uopsa, who did this? You better fix it!
Could not retrieve item from Mediasurface, with url: ...
com.mediasurface.general.ResourceException: Unable to locate host (public or
local) matching supplied name: ...
PDFProcessor - Error occured, sending response 500
org.apache.tomcat.util.http.Parameters processParameters WARNING: Parameters: Invalid chunk '' ignored.
org.apache.tomcat.util.http.Parameters processParameters WARNING: Parameters: Invalid chunk '' ignored.
org.apache.tomcat.util.http.Parameters processParameters WARNING: Parameters: Invalid chunk '' ignored.
org.apache.tomcat.util.http.Parameters processParameters WARNING: Parameters: Invalid chunk '' ignored.
ripetere quanto sopra per un altro centinaio di volte...
Somebody made a bubu: Cannot convert Keywords of type class java.lang.String to class StaticSearchQuery$SearchType
No approved project found with projectItemKey [numerorandom?]
Pickle Pickle url fickle...
No approved project found with projectItemKey [numerorandom?]
Pickle Pickle url fickle...
No approved project found with projectItemKey [numerorandom?]
Pickle Pickle url fickle...
No approved project found with projectItemKey [numerorandom?]
Pickle Pickle url fickle...
...
E continua cosi' per molte, moltissime, troppe righe... Una roba che mi viene subito voglia di conficcare l'intero log nello sfintere del programmatroto con l'aiuto di un robusto stivale.
Dopo aver madonnato e tirato maledizioni contro il programmatroto che ha deciso di vomitare tutta sta roba nel log cerco di capire che cosa accidenti fa questo coso quando deve fornire una risposta, dato che la web applicascion apparentemente funzica (o almeno, vomita la sua roba nel log), suppongo che il problema stia da qualche altra parte. Un rapido controllo mi dice che il database server sta funzionando. Mi concentro percui sugli altri servizi che girano sulla macchina.
La webapplicascion usa un qualche tipo di CMS che ha una serie di demoni che dovrebbero interagire in qualche modo tra di loro, i demoni sembrano in funzione solo che uno dei tanti non sembra tanto intenzionato a rispondere e mi lascia in attesa perenne di una connessione.
A questo punto decido che un riavvio del CMS potrebbe essere nell'ordine. Un semplice 'stop' non sembra sortire risultati, quindi procedo con un "search-and-destroy". Dopo di che rimuovo tutti i file temporanei, ripulisco la cache di tomcat, zappo via i vari pid file, lock file e mercanzia varia e riavvio il tutto.
Cue altre 1500 righe di log che vengono sparate dentro mentre questa roba si avvia. Dopodiche' riprovo con wget e pare funzionare. Spedisco una bella maillina ai programmatroti in questione suggerendogli di ripulire il log dai vari messaggi inutili e di concentrarsi sui messaggi utili.
Davide
24/10/2011 08:00
I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.
Di Gianni postato il 24/10/2011 11:05
if a program has nothing interesting or surprising to say. it should shut up!
--
Unix Philosophy
;)
-- Gianni
Di Anonymous coward postato il 24/10/2011 11:18
Pickle Pickle url fickle...
ROTFL
-- Anonymous coward
Di Giorgio postato il 24/10/2011 11:21
Dopo la mail ai programmatroti gli avrei però anche telefonato avvisandoli che gli avevi spedito una mail. Così per vedere che effetto fa alle due di notte
Mi stupisco tu non ci abbia pensato; non è che stai diventando troppo buono?
-- Giorgio
Di Anonymous coward postato il 24/10/2011 11:47
> Spedisco una bella maillina ai programmatroti in questione
> suggerendogli di ripulire il log dai vari messaggi inutili e di concentrarsi sui messaggi utili.
Se avessi un centesimo per ogni mail di questo tipo che ho mai mandato in vita mia....
-- Anonymous coward
Di Riccardo Cagnasso postato il 24/10/2011 12:53
Sei sicuro non si potesse settare il loglevel? Il fatto che lui appenda stringhe stupide ai messaggi di log a seconda del tipo di messaggio, fa pensare che ci sia una gestione centralizzata dei messaggi di errore e di solito a quel punto puoi anche dirgli quali mettere nel file e quali no.
-- Riccardo Cagnasso
Di Antonino Russo postato il 24/10/2011 15:13
Io vorrei capire... cosa non ti andava bene, il "BOO-YA!" o il "Uopsa, who did this? You better fix it!"?
In entrambi i casi però trovarsi nel log un pò di "umanità" non guasta... o no?!?!
Di Anonymous coward postato il 24/10/2011 19:13
Beh, magari è roba che a loro in debug fa comodo, ma che magari in produzione non ci deve finire a meno di non attivare qualche opzione "verbose".
Comunque Oracle ha rilasciato non tanto tempo fa una patch che faceva sì che alcuni file di trace superassero in breve tempo il giga..... scrivendo in continuazione la stessa foxutissima riga...
-- Anonymous coward
Di Andrea Ballarati postato il 24/10/2011 22:38
Ahemm a proposito di messaggi utili, qualche giorno fa mi chiama Bob di $vispieghiamodoveandare per dirmi che il file server (Win) non ha più condivisioni. Collegamento veloce, verifica nagios: tutto ok, loggo sul server e compare il messaggino "Perchè si è spento questo server?". Già perchè? Lo stato del RAID è ok ma il filesystem è andato a escort, che accidenti sarà successo? Vado a ravanare nel log e risalgo indietro nel tempo: start servizio, start servizio... ecco! Richiesta di shutdown da svchost con la motivazione... ho la salivazione azzerata e scorro il testo del log come un giocatore di poker le carte in una mano particolarmente succosa. Motivazione: "non esiste una descrizione per questo evento". Ma vaff...
-- Andrea Ballarati
Di boltz postato il 25/10/2011 20:45
uno prima si lamenta dei LOGorroici e poi si ritrova con questo LOGostitico
Status code: FAILURE - Explanation: All requests failed in some way or another.
[da una storia vera, ovviamente]
-- eh?
Di SR postato il 26/10/2011 23:21
Chi troppo e chi niente...
Da un log della ns. applicazione "di punta" sviluppata rigorosamente in outsourcig:
[timestamp][nome_app] Error
... e adesso trovalo tu l'errore!
Dellaa serie erano meglio i mitici Yugoslavi del buon Davide.
-- SR
Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.
Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.
Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".