Συλλογή στατιστικών από background service με signal
Alex Ballas
alex at ballas.org
Wed Oct 24 14:59:48 EEST 2012
On 10/23/2012 11:08 PM, 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;
>
tail -n1 -f /var/log/auth.log|while IFS= read -r REPLY;do
case $REPLY in
(*unicast\ key\ exchange\ timeout*)
notify-send -t 6000 "$REPLY"
;;
esac
done
Έτσι κοιτάω αν έχω login attemps στο AP μου. Δε ξέρω αν σε βοηθάει
--
Alex Ballas
More information about the Linux-greek-users
mailing list