Συλλογή στατιστικών από background service με signal

George Notaras gnot at g-loaded.eu
Wed Oct 24 02:15:37 EEST 2012


On 23/10/2012 11:08 μμ, George Notaras wrote:
> Ένα background service τυπώνει στατιστικά στοιχεία στο logfile/syslog
> όταν δεχτεί τα signals USR1 και USR2 (διαφορετικά στατιστικά το κάθε ένα).
> 
> Ποιος είναι ο αποτελεσματικότερος τρόπος να συλλεγούν αυτά τα στατιστικά
> και να μπουν σε μια database, πχ rrd file;
> 
> Καταλήγω μόνο στη λύση των 2 βημάτων:
> 
> 1) Αποστολή signal --> τα στατιστικά αποθηκεύονται στο Logfile σε Ν γραμμές.
> 2) Parsing των Ν τελευταίων γραμμών από το logfile.
> 
> Μου φαίνεται λίγο μπακαλίστικο κι έχει μερικά μειονεκτήματα όπως αυτά:
> 
> α) Κανονικά στο Βήμα 2 θα πρέπει να βεβαιωθεί ότι με το Βήμα 1 πρόλαβαν
> να τυπωθούν τα νέα στατιστικά στο log.
> β) Γεμίζει το log με άχρηστα data, τα οποία αποθηκεύονται ούτως η άλλως
> σε db.
> 
> Υπάρχει κάποιος καλύτερος τρόπος; Για παράδειγμα, θα μπορούσε ένα script
> να στείλε το SIGUSR1 και να παρέμβει με κάποιο τρόπο ώστε να πάρει αυτό
> τα data αντί να γραφτούν αυτά στο log;
> 

Δεν βλέπω να υπάρχει άλλος τρόπος. Είναι μάλλον αδύνατο να παρέμβει
κανείς στο πώς θα τυπώσει το prog τα στατιστικά του. Η μόνη λύση είναι
το custom patch, κάτι που όμως δεν θα κάνω.




More information about the Linux-greek-users mailing list