Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

LOGorroico

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

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

10 messages this document does not accept new posts
Gianni By Gianni - posted 24/10/2011 11:05

if a program has nothing interesting or surprising  to say. it should shut up!

--

Unix Philosophy

;)

--
Gianni


Anonymous coward By Anonymous coward - posted 24/10/2011 11:18

Pickle Pickle url fickle...

 

ROTFL laugh

--
Anonymous coward


Giorgio By Giorgio - posted 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 smiley

 

Mi stupisco tu non ci abbia pensato; non è che  stai diventando troppo buono?

--
Giorgio


Anonymous coward By Anonymous coward - posted 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


Riccardo Cagnasso By Riccardo Cagnasso - posted 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


Antonino Russo By Antonino Russo - posted 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 di "umanità" non guasta... o no?!?!



smiley

--
Antonino Russo


Anonymous coward By Anonymous coward - posted 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


Andrea Ballarati By Andrea Ballarati - posted 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


boltz By boltz - posted 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?


SR By SR - posted 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


10 messages this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira