ניטור עומסים

במאמץ להבין לאיפה הולך כל ה-CPU time של השרת שלי, כתבתי תסריט קטן שצופה במסד הנתונים (MySQL) ומנסה להציג מידע שימושי לניתוח עומסים.

התחלתי עם תסריט פשוט למדי, וזה נראה כך:

#!/bin/bash
filter="show full processlist"
[ "$1" == "-v" ] || filter="$filter|apache"
filter="| egrep -v '$filter' "
eval '\
echo $(uptime | sed "s/^.*load//") " |!| SQL CPU load: " \
"$(ps aux | grep mysqld-max | grep -v grep |\
perl -ne '"'"'m|(\d+\.\d)| and print $1 and last'"'"')";\
mysql -vvv -psproing -e '"'"'show full processlist'"'"' '"$filter"' |\
dog -B -l4- -w'"$COLUMNS"' ;\
'

אם אני אשפר אותו אז אני אעדכן פה.

Leave a Reply