Συλλογή στατιστικών από 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