Newsgroup: it.comp.os.linux.sys
Titolo: Loggare passaggio dati da applicazione Web ad applicazione Web...

Ciao a tutti eccomi qua di nuovo a postare dopo un lunghissimo periodo di silenzio (san Google!!!) e però questa volta non ho trovato una soluzione alla problematica che il $BOSS mi ha esplicato.
 
La situazione a cui devo porre rimedio è questa.
 
Ad un nostro server virtuale (B) arrivano dei dati dall'esterno (A) attraverso APACHE POST il server virtuale prende questi dati, li processa in un'applicazione e li rispedisce ad un'altro server esterno (C) sempre tramite APACHE POST.
 
Il mio $BOSS vuole che sia loggato il traffico A->B e B->C. Fino a qui sono d'accordo con lui visto che molto spesso A non trasmette i dati e purtroppo alle volte C non li riceve.
 
Quello che vorrei riuscire a fare, e non ne ho la minima idea di come fare, è di loggare il traffico in stile syslog così che per i vari debug mi possa mettere in tail sul file ed il gioco è fatto!!!
 
Ma come realizzare tutto ciò? All'inizio ho pensato (ERRONEAMENTE!!!) mi faccio uno script php che mi apre il file di lob, mi scrive la loggata e chiude il file. Questo sistema potrebbe andare bene se le richieste fossero sporadiche ma se il traffico è molto elevato questo sistema va in vacca...
 
Avevo pensato ad utilizzare MySQL sempre con script php (cosa che funziona egregiamente, ma molto palloso da interrogare)...
 
Ho anche pensato una cosa del tipo: scrivo un programma in java e lo metto in ascolto su una determinata porta (ES: 12345) catturo il traffico, lo scrivo sul file e poi sputo l'output ad apache sempre in POST...
 
Mi sono anche chiesto: può essere utile usare un reverse proxy?
 
Quello che purtroppo non posso fare è andare a toccare e modificare il software creato da A e C. Uniche modifiche permesse sono il cambio POST/GET indirizzo di connessione e forse la porta (ma non credo)...
 
Qualche anima pia che sa dirmi come uscire da questo pastrocchio?
 
Grazie mille!!!
Keres.

Penso che questo link possa aiutarmi in quello che ho bisogno di fare!!!
 
http://www.bbfactory.it/blog/2012/04/analizzare-le-chiamate-http-post-sul-reverse-proxy/
 

 Quello che purtroppo non posso fare è andare a toccare e modificare il
 > software creato da A e C. Uniche modifiche permesse sono il
 > cambio POST/GET indirizzo di connessione
 > e forse la porta (ma non credo)...
 
Quindi immagino tu possa andare a modificare solo il server B. Quindi se 
non puoi mettere sotto log nè A nè C come fai a capire se A non 
trasmette proprio o se C riceve ma non elabora?
 
Tramite il log php di cui sopra infatti puoi capire che B NON RICEVE una 
richiesta, il che non significa che A non gliela abbia trasmessa. Allo 
stesso modo puoi loggare che B TRASMETTA una richiesta a C, ma questo 
non significa che C la riceva.
 
IMHO devi mettere sotto debug pure A e C per capirci qualcosa...
 
 
-- 
Mario
http://www.dataworks.biz
 

Quello che vorrei riuscire a fare, e non ne ho la minima idea di come fare, è di loggare il traffico in stile syslog
 
Perche' non adoperi proprio syslog su B?
 
 
http://php.net/manual/en/function.syslog.php
 
 
<?php
	syslog(LOG_DEBUG, "...");
?>
 
E oltre a San Google ti puo' interessare
 
 
http://stackoverflow.com/questions/3310875/find-syslog-max-message-length
 
 
Leonardo
 
-- 
Were I Glenallan's Earl this tide, and were you Roland Cheyne,
My spur would be in my horse's side, the bridle upon his mane.
If they hae twenty thousand blades and we twice ten times ten,
Yet they hae but their tartan plaids, and we're mail-clad men.