Sun Java logo     上一頁      目錄      索引      下一頁     

Sun logo
Sun Java(TM) System Directory Server 5.2 2005Q1 管理指南 

第 14 章
使用 SNMP 監視目錄伺服器

簡易網路管理通訊協定 (SNMP) 是一個標準化的管理通訊協定,可用來即時監視與管理裝置及應用程式。Directory Server 提供一個次代理程式介面,讓它可以受到 SNMP 管理員應用程式監視。這讓網路應用程式能夠決定目錄伺服器的狀態,並取得有關其活動的資訊。

Directory Server SNMP 次代理程式含有唯讀值。SNMP 管理應用程式無法在伺服器上執行動作。

一般而言,第 13 章「使用記錄檔監視 Directory Server」中所述的存取與錯誤記錄檔可以提供更詳盡的伺服器資訊,而 LDAP 是用來安全存取及修改伺服器配置的所選通訊協定。不過,SNMP 次代理程式確實允許 Directory Server 實例參與現有的網路管理系統。

本章包含下列主題:


Sun Java System 伺服器中的 SNMP

SNMP 讓管理應用程式能夠對應用程式和執行代理程式或次代理程式的裝置進行查詢。SNMP 代理程式或次代理程式會收集來自應用程式或裝置的資訊,以回應來自 SNMP 管理員的查詢。在由代理程式的管理資訊庫 (MIB) 所定義的表格中,資訊是以變數的型式建構而成。

網路管理員會經常查詢次代理程式中的 SNMP 變數,次代理程式則傳回要求的值。SNMP 也定義一套機制,讓代理程式能夠傳送 Trap 訊息給所有網路管理員,以報告事件。如果在啟動 Directory Server 常駐程式之前正在執行次代理程式和主代理程式,則 Directory Server 次代理程式在 Directory Server 啟動或關閉時傳送 SMUX Trap 至主代理程式。主代理程式將此轉換成 SNMP Trap。

主機上可以安裝多個次代理程式。例如,如果將 Directory Server、應用程式伺服器和郵件伺服器 (Messaging Server) 全部安裝在同一台主機上,則每一個伺服器的次代理程式都會與同一個主代理程式進行通訊。

在 UNIX 環境中,當已安裝 Administration Server 時,會為 Directory Server 及其他 Sun Java System 產品提供 SNMP 主代理程式 (MAGT) 。

如需關於使用 SNMP 監視伺服器的詳細資訊,請參閱 Administration Server Administration Guide

設定伺服器能夠透過 SNMP 接受監視的一般程序如下:

  1. 編譯 Directory Server MIB,並將它整合進您的 SNMP 管理系統。請參閱系統文件。
  2. 在您的電腦上設定 SNMP,如設定 SNMP所述。
  3. 透過 Directory Server Console 配置 SNMP 次代理程式。請參閱在 Directory Server 中配置 SNMP
  4. 透過 Directory Server Console 啟動 SNMP 次代理程式。請參閱啟動與停止 SNMP 次代理程式
  5. 存取由 MIB 定義的 SNMP 受管理物件,並透過代理程式將它公開。這個步驟完全依您的 SNMP 管理系統而定。

下列各節描述 Directory Server 配置特定的步驟。


Directory Server MIB 概述

Directory Server 的 MIB 有下列物件識別碼:

iso.org.dod.internet.private.enterprises.netscape.nsldap
(nsldapd OBJECT IDENTIFIER ::= { 1.3.6.1.4.1.1450.7 })

它定義在下列檔案中:

ServerRoot/plugins/snmp/netscape-ldap.mib

MIB 定義了可透過 SNMP 監視的變數,以及變數內含的數值類型。目錄 MIB 分成四個不同的受管理物件表:

在可以使用目錄的 MIB 之前,必須將它與您可以在下列目錄中找到的 MIB 一起編譯:

ServerRoot/plugins/snmp/mibs

如需關於 MIB 編譯方式的資訊,請參閱 SNMP 產品文件。


設定 SNMP

在 Solaris 平台上

Solaris 上建議的配置為將 Directory Service 主代理程式 (MPS/MAGT) 插入 Solaris 原生代理程式架構中。在此配置中,Solaris 代理程式 snmpdx 負責啟動 MPS 代理程式並將 Directory Server SNMP 要求轉送到 MPS 代理程式。這表示不論要求是否與 Directory Server 相關,所有 SNMP 管理用戶端都可以聯絡標準連接埠 161 上的 Solaris 代理程式。

您必須重新配置 MPS 代理程式,使它在不同的連接埠 (建議為 1161) 上執行,從而不會與 Solaris 代理程式衝突。下列提供的範例程序包含該步驟。在 Administration Server Administration Guide 中,提供有配置 MPS 代理程式的進一步說明。但請注意,此配置需要以 Solaris 代理程式啟動 MPS 代理程式,所以您不能使用 Administration Server 來啟動或停止 MPS 代理程式。


插入 snmpdx SNMP 主代理程式 - Solaris 範例

依照此程序插入 Solaris snmpdx 代理程式 (man snmpdx(1M))。Solaris snmpdx 代理程式可以在標準連接埠 161 上執行,並將 Directory SNMP 要求轉送到 Directory Server。

以您的目錄實例名稱取代 slapd-instance

  1. 以超級使用者身份登入。
  2. 為 MPS 代理程式建立註冊檔:/etc/snmp/conf/mps.reg
  3. 將下列內容加入該檔案中:

    #

    # Registration file for MPS Agent.

    #

    ##########

    # agents #

    ##########

    agents = {

    {

    name = "mps"

    subtrees = {

    # Directory Server

    1.3.6.1.4.1.1450.7,

    # Web Server

    1.3.6.1.4.1.1450.1.60

    }

    timeout = 2000000

    watch-dog-time = 86400

    port = 1161

    }

    }

  4. 為 MPS 代理程式建立資源檔案:/etc/snmp/conf/mps.rsrc
  5. 將下列內容加入該檔案中:

    #

    # Resource file for MPS Agent.

    #

    resource =

    {

    {

    registration_file = "/etc/snmp/conf/mps.reg"

    policy = "spawn"

    type = "legacy"

    command = "install-dir/plugins/snmp/magt/magt
    install-dir/plugins/snmp/magt/CONFIG
    install-dir/plugins/snmp/magt/INIT"

    }

    }

  6. 將下列各行加入 install-dir/plugins/snmp/magt/CONFIG 的結尾
  7. TRANSPORT extraordinary SNMP

    OVER UDP SOCKET

    AT PORT 1161

  8. 重新開機,然後檢查 magt 程序是否在連接埠 1161 上執行。例如:
  9. $ pgrep magt

    21954

    $ netstat -a | grep 1161

    *.1161 Idle

    *.1161 Idle

  10. 在 Directory Server 中配置 SNMP 所述,配置 Directory Server 次代理程式。使用預設連接埠 199。
  11. 您可以在 /etc/init.d 中建立一個含有下列幾行的啟動程序檔以在開機時自動啟動次代理程式。次代理程式只在 MPS 代理程式已啟動時啟動。

    $ cd install-dir/bin/slapd/server

    [ -x ./64/ns-slapd ] && [ "?bin/isainfo -b 2> /dev/null? = 64 ] && cd ./64

    ./ns-ldapagt -d install-dir/slapd-instance

  12. 檢查次代理程式是否執行。例如:
  13. $ pgrep ns-ldapagt

    22411

在 Linux 平台上

  1. 在 Red Hat Linux Advanced Server 上,進行檢查以確保原生 snmpd 未執行。請使用以下指令:
  2. $ pgrep snmpd

    如果原生 snmpd 在執行中,請使用以下指令將其停止:

    /etc/rc.d/init.d/snmpd stop

  3. 如果您要執行原生 snmpd,請變更原生 snmpd 的連接埠號碼。這是因為依據預設 Directory Server MPS (MAGT) 主代理程式及原生 snmpd 都使用連接埠號 161。
  4. 若要變更連接埠號碼,請修改 /etc/rc.d/init.d/snmpd 中的 OPTIONS 變數,如下所示:

    OPTIONS="-s -l /dev/null -P /var/run/snmpd.pid -a -p 1161" adding -p 1161

    這樣就會將 snmpd 連接埠變更為 1161。

  5. 啟動原生 snmpd,請執行:
  6. /etc/rc.d/init.d/snmpd start

Linux 上的 SNMP 提示

當在 Linux 上配置 SNMP 時,請考量下列幾點:


在 Directory Server 中配置 SNMP

在平台上設定 SNMP 代理程式或服務後,您必須配置 Directory Server 實例中的 SNMP 參數。若要從 Directory Server Console 配置 SNMP 設定:

  1. 在 Directory Server Console 最上層的 [配置] 標籤上,選取配置樹狀目錄根部的伺服器節點,再選取右面板中的 [SNMP] 標籤。
  2. 選取 [啟用統計資料收集] 核取方塊。為改善資源使用情形,預設狀況下不會收集 SNMP 變數的統計資料。如果您不使用 SNMP,也不透過 LDAP 監視 cn=snmp,cn=monitor 項目的屬性,您應該讓這個核取方塊保持停用狀態。
  3. 在對應的文字欄位中,輸入主代理程式的主機名稱和連接埠號碼。
  4. 預設值分別是 localhost 和連接埠 199

  5. 在 [描述屬性] 方塊的文字欄位中輸入資訊。這些值將反映在此伺服器公開的 SNMP 實體表中:
    • 描述 - 輸入目錄伺服器的描述,類似 Server Console 的拓樸樹中此實例的描述欄位。
    • 組織 - 輸入目錄伺服器所屬的公司或內部組織的名稱。
    • 位置 - 輸入目錄伺服器主機的地理位置。
    • 聯絡人 - 輸入目錄伺服器管理員的電子郵件地址或聯絡資訊。
  6. 按一下 [儲存] 以儲存變更。
  7. 依以下章節所述,啟動或重新啟動 SNMP 次代理程式。


啟動與停止 SNMP 次代理程式

以下程序描述如何從 Directory Server Console 啟動、重新啟動或停止 SNMP 次代理程式。


備註

如果在同一部主機上加入另一個伺服器實例,而且您希望該實例成為 SNMP 網路的一部分,您必須重新啟動 SNMP 次代理程式。


啟動、停止和重新啟動 SNMP 次代理程式:

  1. 在 Directory Server Console 最上層的 [配置] 標籤上,選取配置樹狀目錄根部的伺服器節點,再選取右面板中的 [SNMP] 標籤。
  2. 使用 [描述屬性] 下的次代理程式控制按鈕以啟動、停止或重新啟動次代理程式。
  3. 停止目錄並不會停止目錄次代理程式。如果要停止次代理程式,您必須從這個標籤執行停止作業。



上一頁      目錄      索引      下一頁     


文件號碼 819-2014。   Copyright 2005 Sun Microsystems, Inc. 版權所有。