簡單快速的產生各種想要監控的物件
資料。
自
2004
年 公 佈
Cacti
的
0.8.6
版 以 來, 這 十 年 間 基 於
Open
Source
的精神,全世界陸續有多
位高手及同好成為
Cacti
的開發者
(
Developer
),
除了針對
Cacti
原
始程式的維護與修改補強外,同時也
開發各式外掛套件及分享各大原廠設
備的偵測模組(
Template
),
不但
增強
Cacti
原始程式碼的穩定性,也
豐富了
Cacti
能夠擴充的資源。
二、
Cacti
的運作機制
Cacti
在資訊蒐集上,除了使
用公開標準的
SNMP
協定外,亦能
接受透過
Script
語法方式,針對所
需資料進行統計分析。以
SNMP
為
例,
Cacti
會對偵測設備送出
SNMP
Polling query
封包,當設備收到
Cacti
發出的
SNMP Polling query
後,會回應
Cacti
相對應的數據資料,
當
Cacti
收到偵測設備回應的數據
後,會存放在
Cacti
主機中(圖一)。
SNMP
協定使用
UDP
進行溝
通,在
Cacti
與偵測設備之間的封包
傳遞方式如圖二所示。因為
SNMP
協
定使用
UDP
,
在進行
Polling
過程中
偶爾會出現
Cacti
無法成功收到被偵
測設備回應的數據,這時並不代表網
路或被偵測設備服務中斷,只能表示
Cacti
在這次
Polling
過程中,無法
取得數據資料。
1.
Cacti
的運作流程
前面提到過,
Cacti
是以
PHP
及
MySQL
為基礎,並結合
SNMP
及
RRDTool
的網路管理套件。運作上,
Cacti
伺服器裡是透過
Poller.php
這支程式來進行
SNMP Polling
動
作,而被偵測設備的相關資訊(如:
IP
、
Host Name
、
Community
以
及
Interface
)
自
MySQL
中取得,
而取回的數值資料利用
RRDTool
的
PHP
函式存放於
RRDTool
檔案中,
運作流程如圖三。
這樣的運作流程裡,
MySQL
存
放著偵測設備的相關資訊以及
Cacti
裡
graphs
或
Templates
定義資料,
而重要的偵測設備回應數據,則利
用
RRDTool
套件存放於相關
.
rra
檔
案裡。當使用者登入
Cacti
點選各偵
測設備
graph
時,才會經由
PHP
的
RRDTool
函式讀取相對應的
.
rra
檔
圖一
Cacti
透過
SNMP
協定來取得被偵
測設備(
Agent
)
資訊
圖二
SNMP
封包的傳遞方式
216
2015
技術論壇
雲端運算與資料中心
資料儲存與備份
BYOD
與資訊安全
網路技術與應用