cacti-0.8.7d安装
生活随笔
收集整理的這篇文章主要介紹了
cacti-0.8.7d安装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cacti-0.8.7d安裝
database & user準備
# mysql -u root -pWelcome to the MySQL monitor. Commands end with?; or \g.
Your MySQL connection id is 12142 to server version: 3.23.58
?
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
?
mysql> grant select,insert,update,delete on *.* to root@"%" Identified by "123456";
Query OK, 0 rows affected (0.01 sec)
?
mysql> grant all privileges on cacti.* to cactiuser@"localhost" Identified by "cactipw" WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
?
mysql> exit 上述命令創建了cacti數據庫,同時創建了帳戶cactiuser,并賦予了對應的訪問權限。
cacti安裝
軟件包路徑下載:http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz a) 安裝 shell>tar zxvf cacti-0.8.7d.tar.gzshell>mv cacti-0.8.7d /data/cacti 這里假設apache配置/data/cacti為主目錄
shell>cd /data/cacti
shell>mysql –u root –p cacti < cacti.sql
shell>vi include/global.php,修改如下:
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cactipw”; 上述配置文件說明了和MySQL的連接參數。 b) 新增用戶 //添加cacti用戶
# useradd cactiuser
//將rra目錄的所有權給cacti用戶
# chown –R cactiuser /usr/loca/apache/htdocs/cacti/rra
//修改cacti目錄所屬組
# chgrp –R cactiuser /usr/loca/apache/htdocs/cacti c) 添加定時采集的crontab shell>crontab -e 添加如下命令:
*/5 * * * */usr/local/php/bin php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1 表示每隔5分鐘,將采集數據并生成rrd文件 d) 為了避免中文環境對rrd文件的影響,最好在執行命令之前加入如下對LANG環境變量的設置: export LC_ALL=en_US;
export LANG=en_US;
export LANGUAGE=en_US;
export LC_CTYPE=en_US;
export LC_TIME=en_US;
cacti初始化
一切正常后,重新啟用Apache服務,然后在瀏覽器中輸入http://IP/cacti進入其初始化配置頁面,點擊next后.然后輸入初始化用戶名和密碼 admin/admin,提示需要修改該密碼,修改完畢后,點擊Save按鈕,進入Cacti管理界面。
cacti創建設備及圖表的基本過程
進入主頁面后,請選擇按照以下步驟創建圖表:選擇屏幕左上方的Management->Devices,隨后屏幕右邊會出現現有的設備情況,然后點擊右上方的Add按鈕,出現下面的界面:
需要輸入:1)設備描述;
2)Hostname(可以是地址或域名);
3)模板,一般是ucd/net SNMP host或cisco router;
4)輸入community;
5)選擇SNMP Version,最后點擊Create添加設備。
如果一切正常的話,下個界面上方將顯示該主機的信息,標識SNMP通信正常。
選擇屏幕左上方的Management->Devices,點擊剛才創建的設備,然后點右上方的“Create Graphs For This Host”,如下圖所示:
點擊后會出現下面的界面,根據不同的主機情況,可能是不同的,例如下圖顯示了一臺Cisco交換機可以創建的圖形模板,包括了:CPU Usage和網絡接口:
請在上圖選擇對應的選項(右側的Check Box),同時選擇Graph Type(例如Cisco – CPU Usage,In/Out Bytes(64-bit Counters)),
然后點擊“Create”按鈕。確認后,會出現一個頁面,此刻可以選擇圖形中的顏色,點擊“Create”按鈕后,出現剛才那個頁面,但是上方會顯示創建圖形的結果,如下圖所示:
表示圖形創建正確。
接下來可以點擊Management->Graph Trees,點擊右上方的“Add”按鈕,可以添加Tree Root,如下圖所示,添加了一個”USA ViewToo Portal“:
接著點擊上圖中創建的Tree Root(例如“USA ViewToo Portal“)后,可以再創建其下面的子節點,如下圖所示:
上圖中可以看出,在USA..節點下創建了一個名為“San Jose“的子節點。要想同樣創建一個這類節點,請單擊圖形右邊的”Add“按鈕。
要想在已存在的子節點下創建主機信息,請點擊子節點旁邊的”Add“按鈕(例如Sunnyvale(Add)),將會出現如下界面:
在上圖上選擇Parent Item為對應的子節點和Tree Item Type為Host,然后選擇對應的Host主機,點擊“Create“后將會創建主機。
創建后的情況如之前的那幅圖所示。選擇“Add“按鈕后出現如下界面,請輸入相應的節點信息,如Sunnyvale,注意Parent Item需要是”[root]“,
同時Tree Item Type為”Header“:
創建完相應的子節點信息后,就可以在剛才那個根下面看到此節點,今后可以將與之關聯的主機性能圖掛接到這個子節點下對應的主機上。
接下來需要將圖形掛接到對應的節點和主機下面(注意:默認情況下若創建了相應的Host,同時也生成了該Host的圖形,
那么系統會自動將所有的Host圖片掛接到該Host點下,而無需手動完成。若你需要自動調整圖形和Host的關系,那么請按照下面步驟完成),
點擊Management->Graph Management,選擇剛才新建的主機,如下圖所示:
選擇相應的主機,然后會顯示之前已創建的圖形,選擇“Place on A Tree(USA ViewToo Portal)“后點擊”go”按鈕。出現下圖,
選擇之前新創建的子節點,然后選擇yes確認。
至此整個配置過程基本完成,我們可以從Graphs Tab上查看剛才添加的子節點,主機,及相應的圖形,如下圖所示(Sunnyvale->Host:3750-01):
cacti插件安裝
cacti還提供了thold,monitor,report等plugin插件,以下說明這些插件的安裝過程。安裝包的準備
首先到如下URL下載支持plugin的patch包:http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip
其次到如下URL下載相應的plugin安裝包:
http://cactiusers.org/downloads/
Linux或者Unix環境下,最好都下載gzip格式安裝包
Patch的安裝
強烈建議安裝之前先閱讀patch文件包中的Readme.txt文件;一般都會有安裝patch的說明,根據ReadMe指引進行patch的安裝即可。 #wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip#unzip cacti-plugin-0.8.7d-PA-v2.4.zip -d cacti-plugin-arch
#cp -R cacti-plugin-arch/* /usr/share/cacti/
#cd /usr/local/apache/htdocs/cacti/
#mysql -ucacti -p cacti < pa.sql
#patch -p1 -N < cacti-plugin-0.8.7d-PA-v2.4.diff 這樣做完后,可能會圖象不對(前提,你設置的url是http://xxx/cacti),那么需要修改如下的內容. #vim include/global.php
$config['url_path'] = '/cacti/'; 注意:這兒的cacti后面的/是必需的。
進入"用戶管理"->點admin->區域權限->Plugin Management
plugin的安裝
a) 安裝setting,thold,monitor >cd cacti/plugins>wget http://mirror.cactiusers.org/downloads/plugins/settings-0.5.tar.gz
>tar zxvf settings-0.5.tar.gz
>wget http://mirror.cactiusers.org/downloads/plugins/thold-0.4.1.tar.gz
>tar zxvf thold-0.4.1.tar.gz
>wget http://cactiusers.org/downloads/monitor.tar.gz
>tar zxvf monitor.tar.gz
>vim ../include/global.php 在$plugins = array();的后面加上如下內容 $plugins[] = 'thold';
$plugins[] = 'settings';
$plugins[] = monitor; b) 安裝完成之后
OWL中缺少sendmail,因此需要手動安裝
procmail-3.22-17.1.el5.centos.x86_64.rpm c) 進入http://ip/cacti時候,會出現php文件找不到,因此
修改:/include/global_constants.php.rej文件
在175,178 之間找到 define("SNMP_CMDPHP", 1);
define("SNMP_WEBUI", 2);
?
--- 175,182 ----
define("SNMP_CMDPHP", 1);
define("SNMP_WEBUI", 2); 下面增加: define('OPER_MODE_NATIVE', 0);
define('OPER_MODE_RESKIN', 1);
define('OPER_MODE_IFRAME_NONAV', 2); d) 使用插件
使用monitor插件
刷新cacti系統的web管理界面,可以看到多出兩個標簽頁(thold、monitor)。
1>打開“Console->Settings->Misc”,可以調整Monitor的各項配置。例如:勾選“Show Icon Legend”可以在監控頁面顯示圖例;
“View”可以選用Tiles類型,以顯示設備狀態表格。
2>為cacti添加新設備時,勾選上“Monitor Host”項。對已添加的設備可以通過“Management->Devices”進去修改。
3>單擊Web頁面上方的“monitor”標簽鏈接,可以進入查看各設備/主機的狀態圖示。
使用thold插件
1>打開“Console->Settings->Mail/DNS”,可以調整“SMTP Options”和“DNS Options”等配置,用于確保預警郵件能夠發出。
2>打開“Console->Settings->Alerting/Thold”,可以調整Thold的各項配置。例如:“Dead Host Notifications Email”處
可填寫設備當機時發送警告信息到哪個郵箱;勾選“
Send alerts as text”項,可以設置只發送文本格式的郵件。
3>打開“Templates->Threshold Templates”,可以添加、取出需要關聯到預警系統的模板,例如:可以添加和“Interface-Traffic”模板的關聯,
選擇 “traffic_in”、"traffic_out”數據項,分別設置警告閾值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的關聯……。
4>打開“Create->New Graphs”,選擇需要提供預警的設備,單擊右側上方的“Auto-create thresholds”創建預警項目。
5>打開“Management->Thresholds”,可以管理已經創建的預警項目。
FAQ
在執行poller.php出現reset錯誤
錯誤信息如下: PHP Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146
PHP Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147
Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147
PHP Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146
Warning: reset(): Passed variable is not an array or object in /usr/local/cacti/lib/functions.php on line 146
PHP Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147
Warning: Variable passed to each() is not an array or object in /usr/local/cacti/lib/functions.php on line 147 解決方法:
這是在安裝插件patch之后的一個小bug,需要修改lib/functions.php,找到function read_default_config_option,修改為如下代碼: function read_default_config_option($config_name) {
global $config, $settings;
?
if (is_array($settings)) {
reset($settings);
while (list($tab_name, $tab_array) = each($settings)) {
if ((isset($tab_array[$config_name])) && (isset($tab_array[$config_name]["default"]))) {
return $tab_array[$config_name]["default"];
}else{
while (list($field_name, $field_array) = each($tab_array)) {
if ((isset($field_array["items"])) && (isset($field_array["items"][$config_name]))
&& (isset($field_array["items"][$config_name]["default"]))) {
return $field_array["items"][$config_name]["default"];
}
}
}
}
}
}
poller.php無法正常采集數據,一直處于等待狀態
輸出的日志信息如下: 08/23/2005 11:04:59 AM - POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting. 解決辦法:這有可能是由于環境中有多個php的程序,cacti初始化所用的php的路徑,與crontab中執行的時候所用的php的路徑不一致;
并且,cacti初始化指定的php必須是與mysql結合編譯的那個php,否則的話,會出現無法連接到mysql數據庫的報錯。
cacti進階應用
cacti加入msn預警
a) 獲取cacti補丁http://www.hiadmin.com/wp-content/uploads/2008/11/cacti_thold-039_settings-05_add_fetion_msn.path b) 補丁安裝 #cd /var/www/cacti/plugins
#patch -p1 < cacti_thold-0.3.9_settings-0.5_add_fetion_msn.path 執行過程如下: root@TS263 cacti]# patch -p1 < cacti_thold-039_settings-05_add_fetion_msn.path
The next patch would create the file index.php,
which already exists! Assume -R? [n] y
patching file index.php
Hunk #1 FAILED at 1.
File index.php is not empty after patch, as expected
1 out of 1 hunk FAILED — saving rejects to file index.php.rej
patching file settings/fetion-test.php
can’t find file to patch at input line 42
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|diff -uNr plugins-old/settings/include/functions.php plugins/settings/include/functions.php
|— plugins-old/settings/include/functions.php 2008-04-29 14:03:40.000000000 +0800
|+++ plugins/settings/include/functions.php 2008-11-24 18:22:10.000000000 +0800
————————–
File to patch:
Skip this patch? [y] y
Skipping patch.
1 out of 1 hunk ignored
patching file settings/include/msnpauth.php
patching file settings/include/sendMsg.php
patching file settings/msn-test.php
can’t find file to patch at input line 537
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|diff -uNr plugins-old/settings/setup.php plugins/settings/setup.php
|— plugins-old/settings/setup.php 2008-04-29 14:03:40.000000000 +0800
|+++ plugins/settings/setup.php 2008-11-24 13:07:48.000000000 +0800
————————–
File to patch: plugins/settings/
patch: **** File plugins/settings/ is not a regular file — can’t patch c) 測試
安裝成功之后可以看到: 可以在這里測試郵件和MSN,如圖:
測試郵件
測試MSN
因為公司的郵件服務器需要SMTP認證,因此測試時郵件服務器使用圖中的就可以了。 建立thold模板時可用選擇發送多個用戶,如圖:
d) 修改文件
需要修改:../cacti/plugins/thold/ thold_templates.php 在352行處 ?
foreach ($users as $user) {
$send_notification_array[$user['id']] = $user['data'] . ' - ' . ucfirst($user['type']);
} 修改數據庫:plugin_thold_contacts表
增加需要顯示的用戶信息,例如:
其中user_id為1表示為管理員,是在user_auth表中的用戶信息。 e) 短信提醒可以使用139郵箱附帶的短信通知實現。
使用cacti監控url的響應時間
引用一個page_load_time.tar.gz的模板,該模板包含2個文件,一個是獲取某個url響應時間的perl腳本page_load_time.pl,一個是需要導入cacti的模板xml 文件 cacti_graph_template_page_load_time.xml。 具體操作步驟如下:
將page_load_time.pl腳本放置于<cacti_home>/scripts/目錄下;需要注意的是,腳本中引用的幾條命令:perl、wget、time的具體路徑,
要根據cacti安裝的主機上的實際路徑來修改;
在【import templates】模塊,將cacti_graph_template_page_load_time.xml的模板文件導入;
在【devices】模塊中添加url對應主機的設備;
在【Associated Graph Templates】位置,添加page load time 這個圖形模板;
點擊【Create Graphs for this Host】,添加page load time圖形,并且選擇page load time的data source
出現的data source定義頁面上,指定需要監控的url。 注意事項:
像陜西aaa這種在url上需要帶端口進行監控的。http://10.0.3.20:5050/ aaa/portal/login.do?action=autoLogon&way=mine。
通過$host . $url的方式來拼出wget需要的url是有問題的。因此,修改page_load_time.pl,將其輸入的參數設置為只有一個url的參數;
在【Data Input Methods】中,將page load time這個方法的命令中去掉對<host>參數的引用,修改為: perl <path_cacti>/scripts/page_load_time.pl <url> 在【Data Source】中,將需要check的url設置為絕對的url路徑,例如:http://10.0.3.20:5050/aaa/portal/login.do?action=autoLogon&way=mine
在最后生成圖片的時候,有一個ERROR:the RRD does not contain an RRA matching the chosen CF 這樣的報錯。需要修改graph templates,
將item1的CFType由原先的Last修改為Average,則圖片可以顯示正常了。
其他
Cacti提供了非常靈活的模板定制和導入模板功能,包括了數據采集部分,圖形部分等。同時可以對用戶進行靈活的管理和權限分配,例如可以指定該用戶僅僅有查看圖形的權限而不能做任何系統相關配置,更進一步可以做到指定該用戶擁有哪幅圖/主機/模板/節點(樹)的查看權限。
有待我們去做進一步研究和挖掘。其更為詳細使用說明,請參考隨機帶的文檔或其網站Documents部分。
轉載于:https://www.cnblogs.com/weaver1/archive/2012/02/15/2352223.html
總結
以上是生活随笔為你收集整理的cacti-0.8.7d安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CSON原创】HTML5游戏框架cnG
- 下一篇: 个人密码安全策略 [转载]