$ hostname
取得 Server OS 資訊 - 使用 lsb_release 指令:
$ lsb_release -a
取得 CPU 使用率 - 使用 vmstat、tail 和 awk 指令:
$ echo $((100-$(vmstat|tail -1|awk '{print $15}')))
取得 System Loading 資訊 - 使用 uptime 和 awk 指令:
$ uptime | egrep -o 'load average[s]*: [0-9,\. ]+' | awk -F',' '{print $1$2$3}' | awk -F' ' '{print $3}'
$ uptime | egrep -o 'load average[s]*: [0-9,\. ]+' | awk -F',' '{print $1$2$3}' | awk -F' ' '{print $4}'
$ uptime | egrep -o 'load average[s]*: [0-9,\. ]+' | awk -F',' '{print $1$2$3}' | awk -F' ' '{print $5}'
取得 Apache Web Server Processes 資訊 - 使用 pgrep 跟 wc 指令:
$ pgrep apache2 | wc -l
取得 Memory 使用率 - 使用 free、grep 跟 awk 指令:
$ free -m | grep Mem | awk '{print $3/$2 * 100}'
取得 Network 即時流量 - 使用 nicstat、grep 跟 awk,假定網路卡是 eth 開頭:
In:
$ nicstat | grep eth | awk '{print $3}'
Out:
$ nicstat | grep eth | awk '{print $4}'
最後,檢查上述指令是否都存在:
#!/bin/sh
CMD_USAGE=$(echo 'hostname curl pgrep wc awk tail uptime vmstat free nicstat' | tr ";" "\n")
for cmd in $CMD_USAGE
do
path=`which $cmd`
if [ -z $path ] || [ ! -x $path ] ; then
echo "$cmd not found"
exit
fi
done
其他資源:
沒有留言:
張貼留言