BigSister - 網路監控及告警系統

1、前言

Big Sister 為一利用 SNMP Information 來達到監控遠端主機、網路、服務狀態並且當監控對象狀態變為緊急時 (監控失敗時) 透過指定的通知方式來通知管理者或執行自行撰寫的其它方法的功能全面監控軟體。


目前 Big Sister 可監控項目如下:
  • oracle: Oracle database check
  • tripwire: Tripwire system consistency check
  • bbscript: for re-using Big Brother monitoring scripts
  • statusfile: as a simple interface to simple monitors
  • cpuload: CPU load as reported by uptime
  • eventlog: monitoring NT EventLog
  • logfile: generic log file monitor
  • procs: checking running processes
  • ping: checking reachability of a host
  • fs: checking file system usage
  • rpc_ping: checking RPC responses
  • tcp: generic TCP monitor
  • sar: checks sar output against limits
  • snmp: does snmp polling
  • dumpdates: check for last dump/ufsdump backup
  • syslog: check system log files
  • OV: HP Openview trap monitor
  • metastat: check Solstice DiskSuite RAID-Systems
  • dns: check DNS servers
  • radius: Radius
  • http/realhttp: Web Server

Big Sister 官網成果展示:





文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 bigsister 套件
          步驟2.bigsister 設定檔
          步驟3.修改 Web 設定檔 (httpd.conf)
          步驟4.修改 rc.conf
4、參考
5、Me FAQ
          Q1.連結監控畫面後點選 History、Alarms、Admin 出現頁面無效?





2、實作環境

  • FreeBSD 6.2-RELEASE-p5
  • bigsister-1.02_1





3、安裝及設定

步驟 1. 安裝 bigsister 套件

切換至 Ports Tree 路徑下開始安裝 Big Sister 套件 (將會安裝相依的 NET-SNMP、GD、RRDTool...等套件)。
cd /usr/ports/net-mgmt/bigsister    //切換至安裝路徑
make install clean                   //安裝並清除暫存檔案

安裝過程中系統會自動建立 bs 系統使用者帳號及群組 (屆時用來啟動 Big Sister 服務用),鍵入如下指令即可查看系統使用者帳號及群組,確定 bs 已新增完成。
grep bs /etc/master.passwd    //搜尋 bs 使用者帳號
 bs:*:220:220::0:0:Big Sister:/usr/local/bigsister:/bin/sh
grep bs /etc/group            //搜尋 bs 群組
 bs:*:220:




步驟 2. bigsister 設定檔

監控軟體通常要設定 (監控對象、監控方式、狀況發生時反應方式、狀況發生時通知方式...)等,有這樣的初步概念後在來看設定檔的內容會比較容易了解,以下為簡介部份功能位於設定檔中內容。主要設定檔存放路徑為 /usr/local/bigsister/adm:
 bb-display.cfg          //主要顯示設定檔 (Listen Port...etc)
 permissions             //設定誰能觀看監控狀態的權限
 bb_event_generator.cfg  //設定事件發生時反應方式
 notify.cfg              //設定事件發生時通知方式
 uxmon-net               //監控對象設定檔 (監控頻率...etc)
 uxmon-asroot            //這個文件若存在代表將使用 root 權限去執行 uxmon-net 的任務 (可能會有安全性的問題)


步驟 2-1. uxmon-net 設定檔簡略說明

uxmon-net 設定檔內容可分為四個部份來看 (預設要偵測的項目、偵測的主機類型、自訂偵測的項目、要 Report 給誰 BigSister or BigBrother) 詳細的內容可參考 Big Sister Documentation - CONFIG

步驟 2-2. 預設要偵測的項目

設定預設要偵測的項目,BigSister 預設對全部設定監控對象進行監控,使用 SNMP Community Name 為 public (community=public),每隔 5 分 鐘執行 1 次監控任務(frequency=5)。
 DEFAULT         community=public frequency=5 perf=5     ALL
 DEFAULT         version=1 proto=udp                     rpc
 DEFAULT         proto=udp                               ping


步驟 2-3. 偵測的主機類型

定義監控的對象是本機 (localhost) 主機類型是 (unix,bsd)。
 DESCR         features=unix,bsd                     localhost

步驟 2-4. 自訂偵測的項目

定義要偵測的細項,偵測本機 CPU load (load)、disk load (diskload)、virtual memory usage using Linux /proc/meminfo file (memory)、disks free space using the 'df' command (disk)、per interface network load and error rates (network)...etc。
 localhost       load diskload memory
 localhost       fs=all(6%-10%),all-ufs(6%-10%),all-ext2(6%-10%) disk
 localhost       network


步驟 2-5. 要 report 給誰 BigSister or BigBrother

把偵測到的資訊送給 BigSister (bsdisplay) 或 BigBrother (bbdisplay)。
 localhost       bsdisplay



步驟 3. 修改 Web 設定檔 (httpd.conf)

因為 BigSister 執行時會使用到 CGI 功能因此請修改 Web Server 設定檔 (本例為 Apache) 以便 BigSister 執行,若未設定 Web Server 支援 CGI 功能則 BigSister 監控畫面的 History、Alarms、Admin 項目將無法開啟。
vi /usr/local/etc/apache/httpd.conf
 #ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"   //將預設 cgi 別名拿掉
 include /usr/local/bigsister/adm/httpd.conf        //加入此行 


步驟 4. 修改 rc.conf

修改 /etc/rc.conf 以便機器重新開機時能自動啟動 BigSister 服務。
vi /etc/rc.conf
 bigsister_enable="YES"      //加入此行

請鍵入如下指令來啟動 BigSister 服務。
/usr/local/etc/rc.d/bigsister start
 Starting Big Sister ...
  Monitor bsmon                                OK
  Server bbd                                   OK
  Agent uxmon                                  OK

查看 BigSister 服務是否啟動。
sockstat |grep 1984
 bs       perl5.8.8  63785 4  tcp4   *:1984                *:*

連結 BigSister 監控畫面。
ex. http://www.weithenn.org/bs/index.html





4、參考






5、Me FAQ

Q1. 連結監控畫面後點選 History、Alarms、Admin 出現頁面無效?

Error Message:
啟動 BigSister Service 後連結監控畫面點選 History、Alarms、Admin 出現頁面無效的資訊。
 Not Found
 The requested URL /cgi-bin/bshistorypl was not found on this server.
 Apache/1.3.37 Server at www.weithenn.org Port 80


Ans:
查看 Apache Error Log 後發現當點選那些無效頁面時 Apache 並沒有去找 BigSister 的 CGI 目錄。
tail -f /var/log/httpd-error.log
 Thu Jul  5 15:18:22 2007 error client 172.18.1.8 script not found or unable to stat: /usr/local/www/cgi-bin/bshistorypl

因為 BigSister 執行時會使用到 CGI 功能因此請修改 Web Server 設定檔 (本例為 Apache) 以便 BigSister 執行,若未設定 Web Server 支援 CGI 功能則 BigSister 監控畫面的 History、Alarms、Admin 項目將無法開啟。
vi /usr/local/etc/apache/httpd.conf
 #ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"  //將預設 CGI 別名註解掉
 include /usr/local/bigsister/adm/httpd.conf       //加入此行