Cacti 監(jiān)控Linux添加Cacti插件具體實現(xiàn)說明
Cacti是用php語言實現(xiàn)的一個軟件,它的主要功能是用snmp服務(wù)獲取數(shù)據(jù),然后用rrdtool儲存和更新數(shù)據(jù),用rrdtool生成圖表呈現(xiàn)給用戶。之前的文章簡單的講到了Cacti 監(jiān)控
Linux的配置,以下就是Cacti 監(jiān)控Linux具體的應(yīng)用。
一、Cacti 監(jiān)控Linux在“Devices”選項中添加新主機(jī)
注意“Host Template”選擇"squid sever"。就是導(dǎo)入進(jìn)的那個.并注意填寫以下內(nèi)容:
SNMP Community = passwd
SNMP Version = 1
SNMP Port = 3401
二、Cacti 監(jiān)控Linux在Cacti的"settings"里面的注意事項
poller頁的"Downed Host Detection"選擇 Ping, 不要選擇帶有snmp字樣的會出錯.
在你的設(shè)備主機(jī)的最下面會見到
WebCache - Squid Statistics - Core (Verbose Query) Uptime Goes Backwards Success [1 Item, 1 Row]
WebCache - Squid Statistics - Median Based (Verbose Query) Uptime Goes Backwards Success [3 Items, 3 Rows]
1.提示:"No SNMP data returned"
可以嘗試改變這個設(shè)置
view systemview included .1.3.6.1.2.1.1
為
view systemview included .1.3.6.1.2.1
2.Cacti不能生成圖象.
注意,主機(jī)設(shè)置中,一定是要活的。也就是講icmp之類一定要能ping通.
也可以嘗試禁用掉存活檢查。
附:測試snmp抓取數(shù)據(jù)的方法:
測試普通數(shù)據(jù):
snmpwalk -v 1 -c passwd 127.0.0.1:161 if
snmpwalk -v 2c -c passwd 127.0.0.1:161 if
測試squid數(shù)據(jù):
snmpwalk -v 1 -c passwd 127.0.0.1:3401 1.3.6.1.4.1.3495.1
snmpwalk -v 2c -c passwd 127.0.0.1:3401 1.3.6.1.4.1.3495.1
三、Cacti 監(jiān)控Linux增加Cacti插件的方法:
為Cacti系統(tǒng)安裝Thold、Monitor等插件,注意下載時注意相應(yīng)版本,版本不對會產(chǎn)生問題。
monitor插件,提供更簡略、直觀的設(shè)備狀態(tài)圖示;thold插件,提供設(shè)備異常預(yù)警。
安裝thold、monitor插件:注意要先備份一下
(1)、安裝Plugin Architecture補(bǔ)丁,安裝后,才能啟用thold、monitor插件
shell> tar zxvf Cacti-plugin-arch.tar.gz -C /var/www/Cacti
shell> cd /var/www/Cacti/
shell> patch -p1 -N < Cacti-plugin-arch/Cacti-plugin-0.8.7a-PA-v2.1.diff
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < pa.sql
(2)、安裝thold、monitor插件
shell> tar zxvf settings-0.5.tar.gz -C /var/www/Cacti/plugins
shell> tar zxvf thold-0.3.4.tar.gz -C /var/www/Cacti/plugins
shell> tar zxvf monitor-0.8.2.tar.gz -C /var/www/Cacti/plugins
shell> cd /var/www/Cacti/plugins/
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < thold/thold.sql
shell> /opt/mysql/bin/mysql -u Cactiuser -p Cactidb < monitor/monitor.sql
(3)、修改config.php配置文件
shell> vi /var/www/Cacti/include/config.php
$config['url_path'] = "/Cacti/"; //改為Cacti對應(yīng)于web目錄下的路徑,本處為Cacti
$plugins = array();
$plugins[] = thold;
$plugins[] = monitor;
(4)、刷新Cacti系統(tǒng)的web管理界面,可以看到多出兩個標(biāo)簽頁(thold、monitor)。
(5)、使用monitor插件
1>打開“Console->Settings->Misc”,可以調(diào)整Monitor的各項配置。例如:勾選“Show Icon Legend”可以在監(jiān)控頁面顯示圖例;
“View”可以選用Tiles類型,以顯示設(shè)備狀態(tài)表格。
2>為Cacti添加新設(shè)備時,勾選上“Monitor Host”項。對已添加的設(shè)備可以通過“Management->Devices”進(jìn)去修改。
3>單擊Web頁面上方的“monitor”標(biāo)簽鏈接,可以進(jìn)入查看各設(shè)備/主機(jī)的狀態(tài)圖示。
(6)、使用thold插件
1>打開“Console->Settings->Mail/DNS”,可以調(diào)整“SMTP Options”和“DNS Options”等配置,用于確保預(yù)警郵件能夠發(fā)出。
2>打開“Console->Settings->Alerting/Thold”,可以調(diào)整Thold的各項配置。例如:“Dead Host Notifications Email”處可填寫設(shè)備當(dāng)機(jī)時發(fā)送警告信息到哪個郵箱;勾選
“Send alerts as text”項,可以設(shè)置只發(fā)送文本格式的郵件。
3>打開“Templates->Threshold Templates”,可以添加、取出需要關(guān)聯(lián)到預(yù)警系統(tǒng)的模板,例如:可以添加和“Interface-Traffic”模板的關(guān)聯(lián),選擇“traffic_in”、
“traffic_out”數(shù)據(jù)項,分別設(shè)置警告閾值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的關(guān)聯(lián)……。
4>打開“Create->New Graphs”,選擇需要提供預(yù)警的設(shè)備,單擊右側(cè)上方的“Auto-create thresholds”創(chuàng)建預(yù)警項目。
5>打開“Management->Thresholds”,可以管理已經(jīng)創(chuàng)建的預(yù)警項目。
四、Cacti 監(jiān)控Linux:Cacti監(jiān)控硬盤I/O的方法:
Cacti本身的模板只可以監(jiān)控硬盤的使用大小,而不能監(jiān)控使用百分率,所以我們可以自定義cdef來監(jiān)控硬盤使用率,并借助thold插件實現(xiàn)報警功能。網(wǎng)上找的資料都是在
Cacti.0.8.6版上實現(xiàn)的,而我用的是Cacti.0.8.7版。因此,根據(jù)實際情況做如下改動:
在Cacti目錄下,vi global_arrays.php
搜索custom_data_source_types,修改這一段如下:
$custom_data_source_types = array(
"CURRENT_DATA_SOURCE" => "Current Graph Item Data Source",
"ALL_DATA_SOURCES_NODUPS" => "All Data Sources (Don't Include Duplicates)",
"ALL_DATA_SOURCES_DUPS" => "All Data Sources (Include Duplicates)",
"SIMILAR_DATA_SOURCES_NODUPS" => "All Similar Data Sources (Don't Include Duplicates)",
"SIMILAR_DATA_SOURCES_DUPS" => "All Similar Data Sources (Include Duplicates)",
"CURRENT_DS_MINIMUM_VALUE" => "Current Data Source Item: Minimum Value",
"CURRENT_DS_MAXIMUM_VALUE" => "Current Data Source Item: Maximum Value",
"CURRENT_GRAPH_MINIMUM_VALUE" => "Graph: Lower Limit",
//添加以下兩行
"CURRENT_GRAPH_MAXIMUM_VALUE" => "Graph: Upper Limit",
"VALUE_OF_HDD_TOTAL" => "Value of hdd_total data source");
//中文版漢化為:
"CURRENT_GRAPH_MAXIMUM_VALUE" => "圖像: 上限",
"VALUE_OF_HDD_TOTAL" => "所有硬盤數(shù)據(jù)的值");
在Cacti界面的Graph Management-cdefs新建cdef模塊,名字自己起,添加字段如下:
Item #1 Special Data Source: CURRENT_DATA_SOURCE
Item #2 Custom String: 100
Item #3 Operator: *
Item #4 Special Data Source: VALUE_OF_HDD_TOTAL
Item #5 Operator:
也就是說
cdef=CURRENT_DATA_SOURCE,100,*,VALUE_OF_HDD_TOTAL,/
這樣就可以在Threshold Templates里面添加監(jiān)控硬盤的模塊了,我添加的是Host MIB - Hard Drive Space ,***在Threshold CDEF里面選擇剛自定義的cdef,這樣就可以正常
監(jiān)控硬盤使用率了。
下面把使用方法摘錄如下:
1. Copy net-snmp_devio.xml to /resource/snmp_queries/net-snmp_devio.xml
2. Import all *_templ.xml via Cacti "Import Templates" interface - These templates should include all their dependancies
3. Add "ucd/net - Get Device I/O" Data Query to your SNMP Enabled host using the "Index Count Changed" Re-index Method.
4. Create Graphs for your desired Disk and/or Memory devices.
Cacti 監(jiān)控Linux總體注意事項:
1)、很重要的一點:在Cacti的設(shè)備中一定要選擇snmp的版本為>=2,否則會獲取不到cpu和網(wǎng)卡等相關(guān)信息。
2)、Cacti自帶的local視圖內(nèi)存監(jiān)控單位是錯誤的,可以刪掉重新創(chuàng)建,就會改正。
3)、系統(tǒng)監(jiān)控中,cpu圖標(biāo)的 200m這類數(shù)字,表示的是 萬分之多少,我的理解Cacti是為了方便顯示畫圖。
4)、權(quán)限問題:Cacti_path/rra log目錄的權(quán)限一定要給Cacti的新用戶,否則會出錯:有圖,但是沒有數(shù)據(jù)。
【編輯推薦】