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

George Notaras gnot at g-loaded.eu
Tue Oct 23 23:08:28 EEST 2012


Ένα 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;


More information about the Linux-greek-users mailing list