天天看點

cacti

Cacti是一款使用PHP語言開打的性能與流量監測工具,監測的對象可以是linux或windows伺服器,也可以是路由器,交換機等網絡裝置,主要基于SNMP(簡單網絡管理協定)搜集CPU占用,記憶體占用,運作程序數,磁盤空間,網卡流量等各種資料。

Cacti本身隻是一個Web界面的管理軟體,通過調用Net-SNMP工具來采集監測資料,并結合RRDtool(輪詢資料庫工具)記錄資料并繪制圖檔。

注意:Cacti監測系統的搭建需要LAMP環境的支援,是以在搭建Cacti環境之前需要先将LAMP環境搭建好,還有本文的系統使用rhel6.0的系統,參考時注意自己系統的版本。

伺服器端配置(主要端-Cacti)

1、建構支援Cacti的LAMP平台

在此使用系統CD光牒中的rpm格式的包,并使用yum進行安裝,相關軟體包如下。

[root@localhost/]#yum-yinstallhttpd

[root@localhost/]#yum-yinstallmysqlmysql-servermysql-connector*

[root@localhost/]#yum-yinstallphpphp-mysqlphp-pdoperl-DBD*unixODBC-*

上述分别是安裝httpmysql和php,也就是LAMP平台。

2、安裝net-snmp-utils軟體包

Cacti平台通過SNMP協定采集監測資料,是以需要用到snmpget,snmpwalk等SNMP資料采集工具,如下:使用yum一并安裝。

[root@localhost/]#yum-yinstallnet-snmp*lm_sensors

3、安裝RRDtool軟體包

[root@localhost/]#tarzxfrrdtool-1.4.5.tar.bz

[root@localhost/]#cdrrdtool-1.4.5

[[email protected]]#./configure--prefix=/usr/local

[[email protected]]#make&&makeinstall

4、部署Cacti源碼包

将下載下傳好的Cacti源碼包釋放至Web伺服器的網頁目錄。

[root@localhost/]#tarzxfcacti-0.8.7g.tar.bz

[root@localhost/]#mvcacti-0.8.7g//var/www/html/cacti

5、添加一個程式使用者,用來讀取檢測的資料。

[root@localhost/]#useraddrunct

[root@localhost/]#cd/var/www/html/cacti

[root@localhostcacti]#chown-Rroot:root./

[root@localhostcacti]#chown-Rrunct:runctrra/log/

6、建立資料庫,并導入表。

先建立用于Cacti檢測平台的資料庫,并授權一個資料庫使用者,然後使用cacti源碼目錄下的cacti.sql腳本,導入預設的各種資料表。如下圖所示:

需要先啟動mysqld服務,然後登陸mysq進行建立資料庫操作。

[root@localhostcacti]#mysql-uroot-p

Mysql>createdatabasecactidbdefaultcharactersetutf8;

Mysql>grantalloncactidb.*tocactiuser@'localhost'identifiedby'123.qwe';

Mysql>exit

[root@localhostcacti]#mysql-ucactiuser-pcactidb<cacti.sql

7、調整Cacti配置檔案

Cacti的配置檔案位于源碼目錄中的include/檔案下,名為config.php。要是Cacti系統能夠正确通路并使用資料庫,必須修改config.php檔案,確定資料庫連接配接參數真确無誤。修改如下:

[root@localhostcacti]#vim/var/www/html/cacti/include/config.php

$database_type="mysql";

$database_default="cactidb";

$database_hostname="lcoalhost";

$database_username="cactiuser";

$database_password="123.qwe";

$database_port="3306";

$database_ssl=false;

$url_path="/";

除此之外,為了在檢測圖像中正确顯示中文,需要使用Cacti系統識别本機的中文語言環境。需要修改“/lib/functions.php”檔案。修改如下:

[root@localhost/]#vim/var/www/html/cacti/lib/functions.php

<?php

Setlocale(LC_CTYPE,"zh_CN.UTF-8");

......//省略部分内容

8、修改httpd服務的主配置檔案,設定好網站根目錄,自動索引頁,預設字元集等相關參數,然後啟動http服務。修改如下:

[root@localhost/]#vim/etc/httpd/conf/httpd.conf

DocumentRoot"/var/www/html/cacti"

<Directory"/var/www/html/cacti">

OptionsIndexesFollowSymLinks

AllowOverrideNone

Orderallow,deny

Allowfromall

</Directory>

DirectoryIndexindex.phpindex.html

AddDefaultCharsetUTF-8

[root@localhost/]#servicehttpdstart

9、初始化安裝Cacti系統

在浏覽器中通路Cacti伺服器的Web服務,根據提示進行cacti初始化的安裝操作。如下圖所示:在浏覽器中輸入“http://cacti伺服器的位址”根據提示選擇“next”進行下一步安裝,Cacti初始化安裝時會檢測安裝環境,安裝完成後,會出現Cacti登陸界面,預設使用者名,密碼都是“admin”,初次登陸會提示更改密碼。

用戶端配置(被控端-SNMPD)

無論是交換機,路由器,還是Linux系統或windows系統,隻要正确支援SNMP協定,并允許Cacti伺服器采集資料,就能夠進行集中檢測了。作者在此分别使用Linux系統和Windows系統來示範用戶端的配置操作。

1、Linux用戶端

在linux用戶端,需要安裝net-snmp、lm_sensors等軟體包,并修改snmpd.conf配置檔案,啟動snmpd服務即可。snmpd.conf配置檔案修改如下:

[root@localhost\]#vim/etc/snmp/snmpd.conf

41com2secnotConfiguser192.168.1.1Public

62accessnotConfigGroup""anynoauthexactallnonenone

85viewallincluded.1

2、windows用戶端

windows用戶端需要安裝SNMP服務

安裝完成以後,通過“伺服器管理器”修改“SNMPService”服務的屬性,指定授權位址(即cacti伺服器的位址),共同體名等(即Public)。

使用Cacti檢測用戶端主機

1、添加被監控端主機

單擊導航欄中“Management”下的“Devices”連結,可以管理被控制端裝置或主機。通過右上角的“Add”連結,可以打開添加新裝置的頁面。

建立新的被監控裝置以後,将自動連接配接目标執行SNMP查詢,若查詢成功則可以繼續後面的檢測項目設定,否則應檢測被控端的SNMP設定,網絡連接配接,防火牆限制,共同體名等相關因素以排除故障。成功連接配接被控端後會看到“SaveSucessful”的提示資訊,頁面下方可看到預設檢測項目,管理者可根據需要檢測的項目進行勾選。

2、生成檢測圖像

單擊導航欄中“Create”下的“NewGraphs”連結,進入圖像建立頁面,選擇指定被監控主機或裝置,并選擇其中最需要的圖像條目。

單擊導航欄中“Management”下的“GraphTrees”連結,在單擊“DefaultTree”,可以對預設的圖像檢測樹進行管理。我們可以單擊右邊的“Add”連結,将剛才建立的圖像添加至檢測樹彙總。

3、定期采集檢測資料

Cacti系統通過“poller.php”頁面來采集檢測資料,需要使用php程式解釋執行。為了獲得持續穩定的資料,應結合計劃任務定期進行采集。

[root@localhost/]#su-runct//切換為資料采集賬戶

[runct@localhost/]#php/var/www/html/cacti/poller.php//手動執行資料采集

[runct@localhost/]#crontab-e//設定計劃任務

*/5****/usr/bin/php/var/www/html/cacti/poller.php&>/dev/null

[runct@localhost/]#exit

[root@localhost/]#servicecrondstart

[root@localhost/]#chkconfigcrondon

4、檢視檢測結果

單擊Cacti管理控制台左上方的“graphs”标簽,然後展開左側欄的“DefaultTree”樹,選擇被監控主機後即可看到個項檢測圖像。

添加Monitor、Thold插件

Cacti檢測系統支援插件擴充,允許自定義圖像模闆和資料查詢,進而能夠靈活滿足更加多樣化的檢測需求。下面通過安裝及使用Monitor、Thold插件,介紹擴充Cacti檢測系統功能的基本方法。

1、安裝Monitor和Thold插件

将下載下傳好的插件包解壓到/var/www/html/cacti/plugins目錄下即可。

[root@localhost/]#tarzxfmonitor-0.8.2.tar.gz-C/var/www/html/cacti/plugins

[root@localhost/]#tarzxfthold-0.4.3.tar.gz-C/var/www/html/cacti/plugins

2、調整cacti配置以識别插件

在cacti系統的web控制台中,單擊導航欄中的“Utilites”下的“UserManagement”連結,修改admin使用者的屬性,選中“PluginManagement”項,單擊“Save”儲存即可。

重新整理cacti控制台頁面,左側導航欄中“configuration”下将多出一個“PluginManagement”連結。單擊此連結進入插件管理頁面,通過“Actions”列的按鈕可依次加載Monitor、Settings、Thold插件,并啟用Thold插件。

使用狀态監視插件——Monitor

單擊導航欄中“configuration”下的“setings”連結,切換至“Misc”頁面并選中“ShowlconLegend”以顯示圖例,将視圖“View”設為“Tiles”。

若不希望某個裝置被Monitor插件檢測,則可以修改被監控主機屬性,取消選中的“MonitorHost”即可。

使用門檻值告警插件——Thold

1、設定接收告警郵件的郵箱位址

單擊導航欄中的“ConfigUration”下的“Settings”連結,切換至“Thresholds”頁面,選中“DeadHostNotifications”以便當機或恢複時發送通知,同時應在“DeadhostsNotificationsEmail”外指定告警郵箱位址。

2、設定SMTP發信、DNS伺服器等參數。

單擊導航欄中的“ConfigUration”下的“Settings”連結,切換至“Mail/DNS”頁面,将“MailServices”設為“SMTP”,并填寫實際可用的發信位址,SMTP伺服器,SMTP認證使用者和密碼,以及DNS伺服器位址等資訊。

3、設定需要報警的檢測項目

單擊導航欄中“Templates”下的“ThresholdTemplates”連接配接,切換至預警模闆設定頁面,單擊“Add”可以添加預警項,資料模闆應與被控裝置使用的模闆想比對。

在設定各種檢測模闆時,告警門檻值的預設計量機關如下:CPU使用率為百分比(不含%),網卡流量為Byte/S,硬碟空間為KB,記憶體占用為KB。

4、為被控主機啟用門檻值告警

單擊導航欄中“Create”下的“NewGraphs”連接配接,選擇指定的被控主機,然後單擊右上方的“Auto-createthresholds”連接配接,将會自動建立可用的門檻值告警項目。

5、檢視,管理門檻值警告。

單擊導航欄中“Management”下的“Thresholds”連接配接,可以對以啟用的門檻值告警項進行管理(檢視,添加,删除等);或者通過cacti管理頁面上方的“Thold”頁籤,可以檢視門檻值告警情況,達到告警條件的檢測項将以紅色顯示。

繼續閱讀