1、關於 Sysstat;
Sysstat 是一個軟件包,包含監測系統性能及效率的一組工具,這些工具對於我們收集系統性能數據,比如CPU使用率、硬盤和網絡吞吐數據,這些數據的收集和分析,有利於我們判斷系統是否正常運行,是提高系統運行效率、安全運行服務器的得力助手;
Sysstat 軟件包集成如下工具:
* iostat 工具提供CPU使用率及硬盤吞吐效率的數據;
* mpstat 工具提供單個處理器或多個處理器相關數據;
* sar 工具負責收集、報告並存儲系統活躍的信息;
* sa1 工具負責收集並存儲每天系統動態信息到一個二進制的文件中。它是通過計劃任務工具cron來運行,
是為sadc所設計的程序前端程序;
* sa2 工具負責把每天的系統活躍性息寫入總結性的報告中。它是為sar所設計的前端 ,要通過cron來調用
* sadc 是系統動態數據收集工具,收集的數據被寫一個二進制的文件中,它被用作sar工具的後端;
* sadf 顯示被sar通過多種格式收集的數據;
2、安裝 Sysstat和運行;
對於大多數系統,都有這個軟件包,軟件名以sysstat開頭。我們可以通過網絡安裝它;
2.1 對於Debian或deb軟件包為基礎的系統;
[root@localhost ~]# apt-get install sysstat
2.2 Fedora 系統或以RPM包管理的系統;
[root@localhost ~]# yum install sysstat
如果是RPM包,請用下面的命令來安裝;
[root@localhost ~]#rpm -ivh sysstat*.rpm
如果您想了解yum 和rpm 軟件包管理工具,請參考:《Fedora / RedHat 軟件包管理指南》
2.3 Slackware 系統,對於Slackware系統;
[root@localhost ~]# installpkg sysstat*.pkg
2.4 通過源碼包編譯安裝;
如果您是通過源碼包安裝,請到官方下源源碼包 http://perso.wanadoo.fr/sebastien.godard,目前最新版本是 sysstat-6.1.2;
如果您想了想一下什麼是源碼包,請參考:《如何編譯安裝源碼包軟件》
[root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gz
[beinan@localhost ~]$ cd sysstat-6.1.2
[beinan@localhost sysstat-6.1.2]#
[beinan@localhost sysstat-6.1.2]# make config
[beinan@localhost sysstat-6.1.2]# make
[beinan@localhost sysstat-6.1.2]# make install
2.5 關於 Sysstat 計劃任務;
如果您想得到Sysstat工具集所收集的系統信息自動存為某個文件中,你必須通過cron 為 sa1 和sa2 做計劃任務。我們可以通過修改用戶的crontab。在默認的情況下,Sysstat歷史信息將被存放在/var/log/sa文件中。如果想定義自己的計劃任務,請參考:《計劃任務工具 cron 的配置和說明》
在root用戶,通過 crontab -e 來添加下面的一段;
# 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &
# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &
# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &
# Daily summary prepared at 19:05 5 19 * * * /usr/lib/sa/sa2 -A &
創建Sysstat的啟動腳本;
[root@localhost ~]# touch /etc/rc.d/init.d/sysstat
[root@localhost ~]# vi /etc/rc.d/init.d/sysstat
#!/bin/sh
# Begin $rc_base/init.d/sysstat
# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans - [email protected]
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
echo "Calling the system activity data collector (sadc)..."
/usr/lib/sa/sadc -F -L -
evaluate_retval
;;
*)
echo "Usage: $0 start"
exit 1
;;
esac
# End $rc_base/init.d/sysstat
[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstat
[root@localhost ~]# ln -sf /etc/rc.d/init.d/sysstat /etc/init.d/sysstat
有了Sysstat的守護進程,這樣我們開機後,Sysstat的守護進程,就時時刻刻的為我們服務了。sa 、sa1或sa2自動把信息存在 /var/log/sa目錄的二進制文件中,我們可以通過sar工具來提取這些系統信息的歷史;
當然我們也可以通過手動的方法來打開Sysstat的守護程序,也就是我們前面所制作的sysstat;
[root@localhost ~]# /etc/rc.d/init.d/sysstat start
下面的方法也行;
[root@localhost ~]# /usr/lib/sa/sa1
[root@localhost ~]# /usr/lib/sa/sa2
sysstat 的詳細介紹:請點這裡
sysstat 的下載地址:請點這裡