顯示具有 SNMP 標籤的文章。 顯示所有文章
顯示具有 SNMP 標籤的文章。 顯示所有文章

8月 10, 2014

在 Debian 上架設 Cacti 流量觀測系統

有關 Cacti 的介紹請見官方網站,該開源專案發展至今已逾十個年頭,算是穩定且被廣泛使用的專案程式。原以為在 Linux 環境下要把 Cacti 跑起來應該很麻煩,加上缺乏硬體設備可以測試,所以每次想到就算了。

幾個概念性的重點:
  1. 因為 Cacti 是網頁,所以需要 PHP 與 MySQL 環境運作
  2. 底層透過 Snmpwalk 取得(網路)硬體資訊
  3. 在 Cacti 中有隻 poller.php 要列入排程(cron)更新資料庫
安裝各項套件:

1. 安裝 SNMP 與 RRDTool 套件
# apt-get install snmp php5-snmp rrdtool
2. 測試 snmpwalk 能否正常運作
# snmpwalk -c [Community_String] -v 2c [Device_IP]
# snmpwalk -v 3 -u [USER-NAME] -a [MD5|SHA] -A [PASSPHRASE] [DEVICE_IP] [MIB]
3. 至 Cacti 官方網站取得壓縮包 (目前版號是 0.8.8b)
# wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
4. 在 MySQL 中開個資料庫給 Cacti 使用
# mysqladmin -u root -p create cacti 
4. 匯入DB架構(★重要★)
# mysql -u root -p -A cacti < cacti.sql
5. 修改 Cacti 的設定檔 ( cacti/include/config.php )
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "...";
$database_password = "...";
6. 讓 RRDTool 的圖顯示中文( cacti/lib/functions.php )
在最開頭加入 setlocale(LC_CTYPE,"zh_TW.UTF-8");
7. 加入系統排程 (新增 /etc/cron.d/updateCacti)
# Update every 5mins
*/5 * * * * root php /var/www/cacti/poller.php > /dev/null 2>&1
完成以上基礎設定後,正常來說 Cacti 就能開始運作,登入網頁管理介面(初始帳號密碼均為admin),將目的設備加入觀察清單。
  1. 新增設備:Devices / Add
  2. 圖表分組:Graph Trees / Default Tree / Add / Tree Item Type 要選 Host

*************************************************
(待補充 plug-in 模組)

3月 28, 2011

SNMP

http://goo.gl/we63e SNMP
http://goo.gl/XJw52 MIB

SNMP (Simple Network Management Protocol)

使用 UDP 161 :request/response mode 單純資料查詢
使用 UDP 162 :trap mode 有例外狀況發生時,進行緊急通報

屬於應用層的協定,在 SNMP Ver.2 之前,把網路節點分為 Manager 與 Agent。
因為 SNMP 屬於 Application 層應用,所以實際在運作上,不用考慮網路實體層
所用的架構。

- Manager: 使用 SNMP 協定的主機,用來管理 Agent
- Agent: 可能是一台路由器或者網路設備。

SNMP 的主要功能:

1. 組態管理:系統設定,資料蒐集
2. 故障管理:網路異常時,進行檢測與除錯
3. 效能管理:用來收集運作報告
4. 帳務管理:統計各項資源的使用時間

MIB (Management Information Base)

存放網路元件的狀態資訊,網管架構的核心。用來記錄網路設備的屬性
與功能。不管是網路上的硬體或軟體,都是以物件來加以表示,而物件
的規則、定義與語法是由 SMI 來指定結構與描述資料物件的方法。
在 MIB 中要包括:物件名稱、讀寫權限、型別、物件識別(OID)

SMI (Structure of Management Information)

用以定義 MIB 資料庫中各項欄位之屬性,規範每個網管物件的型別,
可接受的容容值。用來完整描述網管資訊的語法。常見的型別有:
INTEGER、OCTET STRING、OBJECT IDENTIFIED (OID)、IPaddress