SNMP 模組是可透過「簡易網路管理通信協定 (SNMP)」來擷取 Apache HTTP Server 狀態的擴充功能。 SNMP 是一種知名的 Internet 管理組織架構,它可讓硬體(例如:路由器、 橋接器及數據機)及軟體(例如:作業系統、網路階層及應用程式)透過「管理資訊庫 (MIB)」來提供狀態。 MIB 代表可透過 SNMP 代理程式來存取之遠端裝置的受管理物件集合。 管理者可向代理程式查詢該代理程式所管理之物件的值。
IBM HTTP Server 支援下列 MIB:
MIB | 說明 |
SNMPv2-MIB | 各個 SNMP 代理程式的指令式 MIB。 此 MIB 是由「SNMPv2 工作群組」所定義。 |
WWW-MIB | 為管理「全球資訊網服務」而定義的 MIB。 此 MIB 定義在 IETF 的 SYSAPPL MIB 工作群組中。 |
APACHE-MIB | Apache HTTP Server 的特定 MIB。 |
啟用 SNMP,使用下列 SNMP 指引修改 IBM HTTP Server 配置檔 (httpd.conf):
如果要啟用 apScoreBoardGroup MIB 的 SNMP 存取,請新增或修改下列指引:
您必須要經由 LoadModule 指引來載入「SNMP 模組」,以啟用 SNMP。
如果是 Windows NT:
語法:LoadModule snmp_agt_module modules/IBMModuleSNMP.dll
如果是 UNIX:
語法:LoadModule snmp_agt_module libexec/mod_snmp.so
相對應的 AddModule 是:AddModule mod_snmp.c
語法:SNMPenable
若沒有 SNMPenable,即可停用 SNMP。
語法:<SNMP number>...</SNMP>
模組:snmp_agt_module
number 可設定 SNMP 代理程式傾聽的網路連接埠。 Number 是一個從 0 到 65635 的數;有些埠號 (特別是 1024 以下) 會保留給特定的通信協定。 請參閱 /etc/services,以取得已定義之連接埠的清單; SNMP 通信協定的標準連接埠為 161。
連接埠 161 是 Unix 的特別連接埠之一。 編號為 1024 以下的所有連接埠都會保留給系統使用,亦即, 一般 (非 root) 使用者不能使用這些埠號;它們只能使用較大的埠號。 欲使用連接埠 161,您必須以 Root 帳戶來啟動伺服器。
如果您無法使用連接埠 161,請選擇任何其它未使用的埠。 非 root 使用者必須選擇大於 1023 的埠號,例如:8000。
範例:
<SNMP 80>
SNMPcommunity public
sysContact Admins@email.address
sysLocation your-place.your-country.your-earth.your-universe
</SNMP>
另請參閱 SNMPcommunity、sysDescr、 sysContact 及 sysLocation。
語法:SNMPcommunity string
預設值:community public
模組:snmp_agt_module
團體可用來定義可存取 SNMP 代理程式的團體。 在 SNMP 版本 1 及版本 2C 中,基於安全理由,使用此團體。 只有有效的團體可以從 SNMP 代理程式存取資訊。
最常見的團體是「公用」。有許多人會使用到它,但它不是必要的。如果沒有提供任何團體,就會使用預設的團體。 「團體名稱」的字串長度最多可達 64 個字元。
安全性:如果您不想讓別人存取 SNMP 代理程式中的資訊, 則必須使用知名的名稱或字典中的字組。
範例:
SNMPcommunity public
語法: sysDescr string
預設值:以預設值來編譯,反映各種版本/通信協定旗號及其它明細。
模組:snmp_agt_module
sysDescr 指引可用來定義要執行 SNMP 代理程式 (亦即伺服器) 之主電腦的系統說明, 並可用在 SNMPv2-MIB (亦為 MIB-II 的一部份) 的 sysDescr 物件實例。
定義如下:
"實體的文字說明。此值應包含系統硬體類型、軟體作業系統及網路軟體的全名及版本識別碼。"
範例:
sysDescr IHS HTTP/1.1 with SNMP
另請參閱 sysContact 及 sysLocation。
語法: sysContact string
模組:snmp_agt_module
sysContact 指引可用來定義用於 SNMPv2-MIB (亦為 MIB-II 的一部份) 的 sysContact 物件實例之系統的聯絡位址。
定義如下:
"這個受管理節點的聯絡人文字識別方式,並附有如何聯絡這個人的資訊。 如果沒有已知的聯絡資訊,則該值的字串長度為 0。"
範例:
sysContact Admins@email.address
另請參閱 sysDescr 及 sysLocation。
語法:
sysLocation string
模組:snmp_agt_module
sysLocation 指引可用來定義要執行 SNMP 代理程式 (亦即伺服器) 之主電腦的位置, 並可用在 SNMPv2-MIB (亦為 MIB-II 的一部份) 的 sysLocation 物件實例。
定義如下:
「這個節點的實體位置(例如:`電話亭,三樓')。 如果不知道位置在哪裡,則該值的字串長度為 0。」
範例:
sysLocation Bottom Floor of building, room 44
另請參閱 sysDescr 及 sysContact。
您必須透過 apScoreBoardGroup MIB 的 LoadModule 指引來載入「狀態模組」。
如果是 Windows NT:
語法:LoadModule status_module modules/ApacheModuleStatus.dll
如果是 UNIX:
語法:LoadModule status_module libexec/mod_status.so
相對應的 AddModule 是: AddModule mod_status.c
語法:<ExtendedStatus On>
模組: mod_status
缺少 ExtendedStatus 會使 apScoreBoardGroup 資料要求無法順利完成。
語法:<LocationMatch 伺服器狀態>...</LocationMatch>
模組: mod_status
範例:
<LocationMatch 伺服器狀態>
SetHandler 伺服器狀態
</LocationMatch>