首頁 > Linux 虛擬機相關, VMware ESX/ESXi > 【長篇教學】MRTG監視Linux性能:CPU篇

【長篇教學】MRTG監視Linux性能:CPU篇

2010年2月9日

mrtg cpu

上次把MRTG安裝起來之後,你的Linux已經具有監視eth0的功能了。當然要將Linux主機轉換到虛擬機之前,你還得了解最重要的CPU/RAM/HD等效率,在P2V之後才知道要如何增強這些效能。當然更細微的性能校調,就得深入到你的應用中了,如MySQL中的某一個表,嘉許會在之後的教學找個客戶的例子做為示範。

2010年3月2日更新:感謝網友zinklink找出錯誤,已更正,謝謝。


前言


MRTG安裝好之後,接下來就是將不同的監測項目安裝進去。前提是你之前的MRTG基本都已經安裝好了。如果你不熟悉MRTG的安裝,可以參考這一篇。接下來我們就來看看在MRTG下監測CPU需要的步驟。


難易程度:


IT人員: ★☆☆☆☆
使用者:★★★☆☆


使用平台:


Ubuntu Server Linux 9.10無X Window環境


安裝前的準備工作


1、 首先確定你對Linux有基本的認識,如安裝binary套件、權限、檔案等觀念。
2、 會使用vi編輯器。
3、 Linux已安裝LAMP環境。
4、 Linux的網路卡可正常使用,取得IP可和外網連接。
5、 能從網上或光碟機更新套件。
6、 已經安裝好MRTG功能。


安裝MRTG CPU監測步驟提要


1、 安裝sysstat CPU監測程式。
2、 建立CPU監測執行指令檔。
3、 更改指令檔為可執行權限。
4、 更改mrtg.cfg執行環境參數檔。
5、 以設定檔中的參數來執行mrtg。
6、 建立網頁index.html。
7、 如果需要,可以安裝燒機程式來燒CPU。
8、 從網頁查看mrtg的圖表。


安裝sysstat CPU監測程式


要監測CPU,必須先安裝一個sysstat中的sar來定時執行CPU的使用率(Utilization %)。只要你能連上網路,並且能使用root的權限執行程式,就可以用apt-get的方式來安裝了。

「sudo apt-get install sysstat」

mrtgcpu001

輸入使用者密碼之會出現安裝的畫面,安裝時系統會要求輸入「y」,表示同意安裝,之後就會進行一些說明畫面,並且在安裝完畢時回到命令列提示下。


當安裝完畢,我們可以用下面的指令查看是否有安裝成功

sar -u 2 5

表示每2秒監視一次CPU的使用率,監測5次。

mrtgcpu002


建立CPU監測指令檔


接下來建立監測CPU使用率的指令檔,我們把這個指令檔放在「/opt/mrtg」之下的「mrtg.cpu」,以後可以將記憶體、硬碟IO或其它要監測的都放在同一個目錄下用不同的名稱代替。輸入

「sudo mkdir /opt/mrtg」

「vim /opt/mrtg/mrtg.cpu」

mrtgcpu003

進入之後,將下列的程式碼輸入到這個mrtg.cpu檔案中

#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $3}’`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $5}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3″$4″$5}’`
echo $cpuusr
echo $cpusys
echo $UPtime
hostname

輸入完之後別忘了存檔離開vim

mrtgcpu004


將mrtg.cpu設定為可執行檔


在建立完mrtg.cpu之後,要將這個檔案設定成可執行。我們輸入

「chmod 755 /opt/mrtg/mrtg.cpu」

這個檔案變成綠色之後,表示可以執行了,或是可以查看其執行的權限是否有打開。

mrtgcpu005


修改mrtg的執行參數檔mrtg.cfg


接下來我們要編修mrtg.cfg這個參數檔,只要輸入

「sudo vim /etc/mrtg.cfg」

接下來我們將下面的程式碼貼到mrtg.cfg的最後面,注意千萬不要動到mrtg.cfg的其它地方!

Target[cpu]: `/opt/mrtg/mrtg.cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]:   CPU us;
LegendI[cpu]:   CPU sy;
Title[cpu]: CPU Loading
PageTop[cpu]:<H1>CPU Loading</H1>


mrtgcpu006

設定mrtg的執行環境


接下來就要執行mrtg這個程式了。輸入

「env LANG=C mrtg /etc/mrtg.cfg」

執行之後會有很多警告訊息,多執行三、四次直到所有的警告訊息都沒有即可,在Linux下按上箭頭就會重複執行上一個指令。

mrtgcpu007


建立index.html檔案

輸入「indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html」。

mrtgcpu008


我們可以到mrtg的目錄下看到已經建立的圖型及html檔案。

mrtgcpu009


從瀏覽器中觀察mrtg的圖表


我們從能存取該Linux主機上的電腦的瀏覽器進入,本例為「http://192.168.1.223/mrtg」。就可以進入。進入後變成兩個圖表了,左邊的是原來的eth0,右邊的就是新的CPU。我們可以按下去,可以看到更詳細的圖表。

mrtg cpu2
mrtg cpu3

到此,我們的mrtg已經安裝好eth0和CPU了。如果我們想要監視其它的項目,只要更改「/etc/mrtg.cfg」,並且重新執行mrtg,並且重新產生index.html,就可以加入新的mrtg監視項目,只要將這邊mrtg的功能安裝好之後,以後就方便了。


後記


如果你想要安裝個CPU燒機程式,可輸入:

「sudo apt-get install cpuburn」

就可以進行CPU的燒機,只要安裝完之後輸入:

「burnP5」

就可以讓你的CPU的loading衝到頂了!

mrtgcpu011
mrtgcpu012
mrtgcpu013

mrtgcpu014

嘉許 Linux 虛擬機相關, VMware ESX/ESXi , , ,

  1. zinklink
    2010年2月28日15:41 | #1

    貼在mrtg.cfg的最後面那段程式好像有問題,執行awk時會一直出錯

  2. 嘉許
    2010年3月1日04:46 | #2

    您好,

    您的有錯?我把編輯的圖貼出來,因為嘉許這邊的圖就是這樣跑出來的,awk要注意空格的問題,您參考一下我執行的圖還有vi的圖

    MRGGCPURUN
    以上是執行結果

    MRTGCPUVIM
    這是vim編輯的畫面,您看一下哪裏不對。

  3. 2010年3月1日05:07 | #3

    @嘉許


    mrtg.cfg直接複製貼上會有個問題,圖一是我在Firefox上看到您的網站的樣子

  4. 2010年3月1日05:13 | #5

    照著你的貼圖中的程式碼一個字一個字的重打就可以正常執行

    • 嘉許
      2010年3月2日15:50 | #6

      您好,

      謝謝您的指正,我這邊copy paste的錯誤讓大家白花了這麼多時間,對你表達歉意,也謝謝您的抓錯,我已經修改了原文,謝謝您。

  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。