︿
Top

1、前言

Sysmon 是一個網路監測工具,主要提供高效能和高準確性的網路監測。目前 Sysmon 支援監控的協定有 Ping、PingV6、POP3、TCP、UDP、DNS、Radius、NNTP、SMTP、IMAP、x500、WWW、sysmon、SNMP 等測試,此工具允許讓任何對它有興趣的人使用於公共領域中,Sysmon 提供更好的性能和檢測能力,而不像其他的工具如 Nocmon (不是這個:nocmonitor)、Whatsup、Big Brother...等效能吃重的網路監測工具。






文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 sysmon 套件
          步驟2.修改 sysmon 設定檔 (sysmon.conf)
          步驟3.啟動 sysmon 服務
          步驟4.查看監控成果頁面
4、補充1.Sysmon - Global Configuration Options 中文翻譯
5、補充2.Sysmon - Object Configuration Options 中文翻譯
6、補充3.Sysmon - Replacement Options 中文翻譯
7、Me FAQ
          Q1.object Printer1 has no relationship. It will not be monitored.?
          Q2.WARNING: Possible missing ; in object between lines 45 and 46.?
          Q3.incomprehensible service state boundary name on line 50 in /usr/local/etc/sysmon.conf?





2、實作環境

  • FreeBSD 7.x
  • FreeBSD 6.x
  • sysmon-0.92.2





3、安裝及設定

步驟 1. 安裝 sysmon 套件

切換至 Ports Tree 下開始安裝 Sysmon 套件。
cd /usr/ports/net-mgmt/sysmon   //切換至安裝路徑
make install clean              //安裝並清除暫存檔案

安裝完成時系統會出現訊息告知您 sysmon 執行檔路徑 (屆時啟動 Sysmon 服務的執行檔)
/usr/local/bin/sysmond



步驟 2. 修改 sysmon 設定檔 (sysmon.conf)

修改 sysmon 設定檔 sysmon.conf 內容如下 (以下設定檔內容為此次實作範例,實際情形請依個人環境自行設定)。
cd /usr/local/etc                  //切換到設定檔路徑
cp sysmon.conf.sample sysmon.conf  //複製範例檔來進行修改
 root = "netmonitor";               //指定監測主機名稱 (根主機名稱)
### Global Configuration Options### //註解文字
 config showupalso;                 //狀態網頁顯示 UP 主機
 config numfailures 3;              //測試失敗 3 次後發 E-Mail 給聯絡人
 config statusfile html "/home/web/sysmon/index.html";    //指定監控網頁結果產生路徑
 config logging file "/var/log/sysmond.log";     //指定 sysmon 系統記錄路徑
 config sender "sysmon";            //指定寄件者帳號
 config dnsexpire 7200;             //指定 DNS 過期時間 (秒)
 config maxqueued 50;               //指定最多可監控 50 個對象
 config pageinterval 5;             //若監控對象失敗每隔 5 分鐘發 E-Mail 給聯絡人
 config subject "%h is %u";         //通知 E-Mail 主旨
 config pmesg "%H (%w) is %u at %t"; //通知 E-Mail 內文
### Object Configuration Options###  //註解文字
 object netmonitor {                //指定監控對象名稱 (第一個為監測主機本身)
        ip "192.168.1.30";          //netmonitor 主機的 IP Address
        type ping;                  //測試協定使用 Ping
        desc "NetMonitor";          //監控對象的文字描述
        contact "weithenn@gmail.com"; //失敗超過 3 次時發 E-Mail 給誰
 };
 object Printer1 {                  //指定監控對象名稱
        ip "192.168.1.10";          //監控 Pirnter1 IP Address
        type ping;                  //測試協定使用 Ping
        desc "Ping HP-3389 Printer"; //監控對象的文字描述
        dep "netmonitor";           //測試失敗不進行此測試
        contact "weithenn@gmail.com"; //測試失敗超過 3 次時發 E-Mail 給誰
        contact_on both;            //當 UP <-> Down 時發 E-Mail 給聯絡人
 };
 object Hinet-DNS {                 //指定監控對象名稱
        ip "168.95.192.1";          //監控 Hinet-DNS IP
        type dns;                   //測試協定使用 DNS
        dns-query "hntp1.hinet.net";//DNS-Query 要求要送給誰
        desc "Test Hinet DNS";      //對監控對象的描述
        dep "netmonitor";           //測試失敗則不進行此測試
        contact "weithenn@gmail.com"; //測試失敗超過 3 次時發 E-Mail 給誰
        contact_on both;            //當 UP <-> Down 時發 E-Mail 給聯絡人
 }; 




步驟 3. 啟動 sysmon 服務

修改 sysmon 設定檔完成後,在啟動 sysmon 服務以前建議您測試一下 sysmon 設定檔內容語法是否正確以免造成服務啟動失敗。
 sysmond -t      //測試 sysmon.conf 語法正確性
 sysmond &       //啟動 sysmon 服務 (Listen Port 1345)背景執行
 sysmond stop    //停止 sysmon 服務
 sysmond reload  //測試及檢查設定檔語法正確性 (服務重新啟動)
 sysmond -h      //顯示幫助訊息

啟動 sysmon 服務成功後請檢查看看 sysmon 是否啟動成功
sockstat |grep sysmond
 root   sysmond  47911 3  tcp4  *:1345       *:*




步驟 4. 查看監控成果頁面

服務成功後即可開啟瀏覽器連結至 Sysmon 監控網頁,也就是您剛才設定檔中指定的 config statusfile html 路徑 (此次實作為 /home/web/sysmon/index.html)
ex. http://www.weithenn.org/sysmon/index.html





4、補充 1. Sysmon - Global Configuration Options 中文翻譯






5、補充 2. Sysmon - Object Configuration Options 中文翻譯






6、補充 3. Sysmon - Replacement Options 中文翻譯

此選項用常用來搭配 Global Configuration Options 內關於測試失敗時發送 Mail 給聯絡人的資訊,例如 PMESG (指定郵件的主體內容)、Subject (指定郵件主旨)...。






7、Me FAQ

Q1. object Printer1 has no relationship. It will not be monitored.?

Error Message:
當執行 sysmond -t 時跳出如下錯誤訊息,無法監控指定的對象?
sysmond -t
 object Printer1 has no relationship. It will not be monitored.

Answer:
原因在於設定檔內容中除了 root object 之外其它的 object 都必須要指定 dep 至 root,否則便出現訊息說指定的監控對象沒有建立關系無法監控。
 object Printer1 {                                    
        ip "192.168.1.10";                            
        type ping;                                    
        desc "Ping HP-3389 Printer";                  
        dep "netmonitor";      //若監控對象 netmonitor 測試失敗則不進行此測試
        contact "weithenn@gmail.com";                  
 };




Q2. WARNING: Possible missing ; in object between lines 45 and 46.?

Error Message:
當執行 sysmond -t 時跳出如下錯誤訊息,無法監控指定的對象?
sysmond -t
 WARNING: Possible missing ; in object between lines 45 and 46.

Answer:
出現這樣的訊息通常就是說那幾行附近你可能結尾忘了加上 ;(分號)



Q3. incomprehensible service state boundary name on line 50 in /usr/local/etc/sysmon.conf?

Error Message:
當執行 sysmond -t 時跳出如下錯誤訊息,無法監控指定的對象?
sysmond -t
 incomprehensible service state boundary name on line 50 in /usr/local/etc/sysmon.conf

Answer:
出現這樣的訊息通常就是說那行你不應該加上 "" (雙引號)
文章標籤: