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:
出現這樣的訊息通常就是說那行你不應該加上 "" (雙引號)