單機效能監控軟體Monirorix
之前的幾篇文章Superfunction 都是說明有關於Cacti 這一套系統監控軟體的安裝還有操作跟Cacti 程式有關的套件程式的介紹,然而Cacti 這一套軟體提供的功能很多,相對的在安裝與操作上就顯得的複雜許多,而且對於本機的系統資源使用的狀況並沒有太多的着墨,在只需要對單一部主機作監控,而且不需要太過複雜的功能其實可以不用考慮安裝Cacti 這樣重量級的監控系統,對於需求比較簡單的監控需求可以考慮Monirorx 這一套輕量級的監控軟體。
Moniroex 這一套軟體概念比較類似MRTG 這樣的監控系統,但是他的優點是在安裝跟設定上比較沒有MRTG 的複雜,可以下載已經打包好的套件安裝,完成後也不許要另外的設定步驟就可以看到本機資訊使用的資訊相當方便。
安裝前置說明
Monitorix 安裝檔案
官網下載
在這一個頁面中有有很多版本可以選擇,請以你目前使用的作業系統版本下載你需要的版本,在Superfunction 安裝的範例中是使用Cent OS 的版本,所以以下的範例會以Cent OS 當作範例來說明。
Monitorix 安裝步驟
Step 1. 建立monitorix 執行環境,請先安裝相關的程式。
需要建立Apach 網頁伺服器環境還有rrdtool 的訊息處理,以及perl 程式執行環境,以上就是安裝monitorix 之前請先安裝完成。
[root@localhost install]# yum -y install httpd
[root@localhost install]# yum -y rrdtool rrdtool-perl
[root@localhost install]# yum -y perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI
Step 2. 設定rpm 下載資訊,修改檔案dag.repo
[root@localhost ~]# vim /etc/yum.repos.d/dag.repo
Step 3. 複製以下設定資訊到檔案中後儲存。
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
Step 4. 使用rpm 執行下載取得的安裝程式。
[root@localhost install]# rpm -ivh http://www.monitorix.org/monitorix-2.4.0-1.noarch.rpm
Step 5. 啓動httpd 與monitorix 服務。
[root@localhost ~]# service httpd start
[root@localhost ~]# service monitorix start
Step 6. 連結http://localhost/monitorix
權限問題處理
前面的安裝都順利,確認httpd 服務有啓動,也確定monitorix 服務有啓動,但是連結過去會出現。
Forbidden
You don't have permission to access /monitorix-cgi/monitorix.cgi on this server.
403 權限不足的錯誤訊息。
權限不足!!怎麼可能Superfunction 可是用root 權限下去執行的,還權限不足太詭異了,還好在google 大神問到了答案,這是一位對岸的朋友所提供的解答,原始網址:http://hi.baidu.com/xc_hai/blog/item/282d2887cf42482566096e33.html
這一篇文章說了很多如果沒有空把他看完沒關係,Superfunction 把解答貼給你,三步之內解決。
Step 1. 修改httpd.conf 設定檔案。
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
Step . 複製以下設定資訊到設定檔案中。
Alias /monitorix/ "/usr/share/monitorix/"
DirectoryIndex index.php index.html index.htm
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex monitorix.cgi
Options ExecCGI
order deny,allow
deny from all
allow from all
Step 3. 完成後存檔重新啓動httpd 服務。
[root@localhost ~]# service httpd restart
連結monitorix 服務
再連結一次monitorix 的網頁http://localhost/monitorix,你就看到monitorix 的首頁了。
依照時間區分:Daily,Weekly,Monthly,Yearly。
這四個選項的內頁圖表所提供的資訊項目是相同的,就是差異在時間的長度單位不同,因爲都一樣,爲了要方便說明Superfunction 將會用一個月的圖表當作範例說明。
在系統首頁除了時間區間的選項外還有Hostname 主機選項,因爲monitorix 也可以去查看遠端主機的使用資訊(不過功能不是很推,因爲畢竟monitorix 主要就是輕量畫爲訴求,所以還是以本機的資訊圍主就好),所以在這便如果有設定遠端機器就會出現在選單中,在本文範例中將以本機的資訊作說明的範例。
Local Host 表示本機。
Multihost 表示遠端的機器。
All Hosts 所有有連線的主機。
server 1 自訂遠端監看的主機。
還有另外一個選項就是Graph 這一項目中可以選擇只要看到的資源圖表資訊。
System load average and usage
這一個項目是主機的效能使用整體狀況,圖表主要資訊是System load average系統用量狀況,搭配的其他資訊是運作中的Active processes 資訊以及Memory allocation 記憶體使用的狀況。
Global kernel usage
圖表資訊表示的項目是Kernel usage 核心資源使用情況,監控user,system,I/O,IRQ 等資訊,讓系統管理人員知道系統資源都是被那些功能消耗掉。與Context sitches &farks 的資訊,讓管理人員可以知道主機是否有過載的工作在切換,因爲這些工作的切換造成不必要的CPU 資源浪費。
eth0 Network traffic and usage
網路使用狀況在這一個範例中只有設定單一張網卡,主要圖表eth0 FastEtherent LAN traffic 是eth0 網卡流量線圖,經過圖表得知網路流量的使用狀況,其他參考資訊有eth0 packet traffic 封包的傳送狀況,還有eth0 traffic error 的發生狀況資訊。
System services demand
這一個圖表的畫面中Services demand 會監控本機有提供的相關服務的使用情況,在Superfunction 的機器中因爲只有開放SSH 的功能所以只會有一個線圖,其他參考資訊還有POP3 service 的線圖如果這一部主機有擔任郵件Server 的功能就會需要用到這樣資訊,還有Mail service 資訊監控mail server 發送使用的流量。
Network port traffic
在這一個部分的資訊是監控主機有啓動服務的port 資料流量傳送狀況,如果這一部主機沒有提供的服務該對應的圖表項目就會變成紅色區塊表示沒有啓用,反之有的就會監控提供服務的port 資源使用狀況,在這一部主機上有開放SSH,SMTP,HTTP,MYSQL 等服務所以就會看到這些項目被啓用監控。
Users using the system
使用者登入使用流量監控表,這一個主要的資訊表是users logged on system 所呈現的是Telnet/SSH 連線使用者的狀況,其他參考資訊是Users using samba 資訊,使用者使用samba 主機存取檔案的使用流量。
Devices interrupt activity
監控主機發生interrupt 的狀況,在這一個圖表可以監控系統是否有發生錯誤造成系統的中斷服務。
設定遠端主機加入被監控
在前面說過monitorix 也有提供可以監控遠端機器的功能,設定的步驟很簡單。
Step 1. 修改monitorix.conf設定檔。
[root@localhost ~]# vim /etc/monitorix.conf
Step 2. 複製設定資訊到設定檔中。
# Multihost
# -----------------------------------------------------------------------------
our $MULTIHOST = "Y"; /*將這一個項目修改成Y*/
our $MULTIHOST_FOOTER = "Y";
our $MULTIHOST_IMGS_PER_ROW = "2";
our @REMOTEHOST_LIST = (
"remote", "http://10.0.0.1" /*設定遠端主機ip*/
);
Step 3. 重新啓動服務。
[root@localhost ~]# service monitorix restart
完成以上三個步驟久可以將遠端機器加入,當然遠端機器也是要有安裝monitorix 才可以。
引用自《
iThome Download》