N1 Provisioning Server 3.1, Blades Edition システム管理ガイド

第 4 章 監視とメッセージ

この章では、監視およびメッセージシステムの概要を説明します。 Infrastructure Fabric (I-Fabric) 内で監視されるイベントを説明します。 この章では、次のトピックについて説明します。

監視システムの概要

N1 Provisioning Server の監視ソフトウェアは、次のタスクを実行します。

監視用のプライマリソフトウェアのパッケージは、次のコンポーネントから構成されてます。

N1 Provisioning Server は、I-Fabric 内のすべての監視プロセスを管理します。 N1 Provisioning Server は、I-Fabric 内のデバイスの状態と健全性を積極的に監視します。

障害の発生したプロセスのフェイルオーバーまたは再起動

監視によって、コントロールプレーン、リソースプール、およびファブリック層において、障害の発生したプロセスに対し、デバイスのフェイルオーバーと回復を行うか、再起動を行うかをファームマネージャで決定するために必要な情報が提供されます。

Control Center から監視を定義する方法の詳細については、『N1 Provisioning Server 3.1, Blades Edition Control Center 管理ガイド』を参照してください。

コントロールプレーン内部での監視

コントロールプレーンの監視には、次の 3 つの目的があります。

CPDB 上の監視マネージャは、コントロールプレーンサーバーの健全性とパフォーマンスを監視します。 メッセージの記録先は、TSPRmon および TSPRmlg パッケージの postinstall スクリプトで指定されている適切なログファイルです。 ログファイルの位置はコマンド slconfig を使用して設定しますが、このコマンドはパッケージ postinstall および preremove スクリプト以外の場所では使用がサポートされていません。

これらのログファイルの構成方法の詳細については、slconfig のマニュアルページを参照してください。 監視ログファイルのデフォルトの位置は、/var/opt/terraspring/log/snmp.log および /var/opt/terraspring/log/mon.log です。

Procedure監視マネージャを起動および停止する

手順
  1. 監視マネージャを起動するには、次のように入力します。

    /opt/terraspring/sbin/mmd start

  2. 監視マネージャを停止するには、次のように入力します。

    /opt/terraspring/sbin/mmd stop

リソースプール内部での監視

N1 Provisioning Server には、CPDB に保存されている構成により指定されたファームを監視する役割があります。 また N1 Provisioning Server には、追加のネットワークインタフェースの構成など、一部のシステム構成と制御コマンドの制御ゲートウェイの役割もあります。 N1 Provisioning Server 上で動作する監視ソフトウェアは、監視メッセージを CPDB に転送します。

リソースプールサーバーの監視

N1 Provisioning Server エージェントは、インストールと構成の時点でリソースプールサーバーに配備されます。 エージェントソフトウェアは、リソースプールサーバーからさまざまな監視データを収集し、そのデータを N1 Provisioning Server に送信します。

N1 Provisioning Server は、監視データを処理して、そのデータを CPDB のメッセージリポジトリに保存します。 CPDB には、サーバーにより処理されるメッセージ用のローカルデータベースがあります。 また、Network Monitoring System (NMS) などの外部アプリケーションにメッセージを送信することもできます。

監視システムには、Solaris 8 オペレーティング環境用の TSPRagsol エージェントパッケージや、RedHat AS2.1 オペレーティング環境用の TSPRaglinx エージェントが含まれています。

ファームに割り当てられているリソースプールサーバーに関しては、システムは次のイベントを監視できます。

監視構成の詳細については、『N1 Provisioning Server 3.1, Blades Edition Control Center 管理ガイド』の第 4 章「Building, Updating, and Monitoring Server Farms」を参照してください。

リソースプールサーバーの監視プロセスの停止

ファームでアクティブになっているリソースプールサーバーをリブートする必要がある場合は、監視プロセスを停止します。 アプリケーションなどのソフトウェアパッケージをサーバーに追加した後は、多くの場合リブートが必要になります。 監視プロセスを停止するには、/opt/terraspring/sbin/tsprmonitor コマンドを使用して監視プロセスを停止します。 これにより、replaceFailedDevice 要求が発生しなくなります。 リソースプールサーバーを使用禁止にする期間は、ユーザーが設定できます。 詳細については、tsprmonitor のマニュアルページを参照してください。

ファブリック層内部での監視

CPDB 上の監視マネージャは、Ethernet など、ファブリック層内のデバイスの健全性とパフォーマンスを監視します。 監視マネージャは、ログ記録の構成に従って情報を記録します。

I-Fabric デバイスの監視対象への登録

コントロールプレーンサーバー、ルーター、スイッチなど、I-Fabric を構成する装置は、CPDB を使用した監視の対象に登録する必要があります。 システムをインストールすると、オリジナルの配備の一部としてこの登録作業が行われます。 ただし、デバイスの追加、削除、交換を行う場合は登録を変更できます。

CPDB を使用したデバイスの登録手順の詳細は、『N1 Provisioning Server 3.1, Blades Edition インストールガイド』のインストール手順で説明されています。 デバイスを登録した後は、CPDB のメッセージリポジトリまたは Control Center の監視画面で、これらのデバイスに関するメッセージを表示できます。

I-Fabric デバイスの監視対象からの削除

必要なくなった場合や (ハードウェア障害などにより) 完全に削除された場合は、監視対象に登録されている I-Fabric デバイスを削除する必要があります。

ProcedureCPDB からコントロールプレーンデバイスを削除する

手順
  1. 次のコマンドを入力します。

    /opt/terraspring/sbin/cereg -deleteCPDevice -ipaddr IP Address

    このコマンドにより、IP アドレスが 10.10.10.21 であるデバイスが削除されます。


例 4–1 CPDB からのコントロールプレーンデバイスの削除


/opt/terraspring/sbin/cereg -deleteCPDevice ipaddr 10.10.10.21

監視プロセスの自動化

システムの健全性の監視には、手動による操作はほとんど必要ありません。 システムの健全性の監視に関連して、ユーザーが実行しなければならない主な作業には、次のものがあります。

日常の監視作業

CPDB は、すべてのクリティカルなイベントとメッセージを監視できる、単一の場所を提供します。

デバイスに障害が発生した場合は、修正作業を決定する必要があります。 必要な作業の多くは、第 6 章「エラーメッセージ」で説明されています。 第 7 章「障害追跡 」「監視の問題の障害追跡 」の節でも、トラブルシューティングのシナリオが説明されています。

監視とメッセージのログファイル

監視ログファイルは、Farm Manager によるノードの登録と登録解除からのメッセージを保持します。 またこのファイルには、監視デーモンにより生成されたすべてのメッセージも保持されます。 日常作業の一部としてこのログファイルを確認し、必要に応じてエラーを修正する適切な作業を行います。 詳細については、第 7 章「障害追跡 」を参照してください。

ログファイルのローテーションは、インストール時に postinstall パッケージで使用される slconfig コマンドによって自動的に構成されます。 /etc/opt/terraspring/logfile_rotation のデフォルトのログサイズは 5M バイトです。

監視のデバッグレベルにより、/var/opt/terraspring/log/mon.log ファイルに記録される監視システムのメッセージの詳細レベルが決まります。

デフォルトでは、デバッグレベルは 9 に設定されています。 デバッグレベルを変更するには、N1 Provisioning Server 上の /etc/opt/terraspring/tspr.properties ファイルを次のように編集します。


com.terraspring.mon.MonLog.debugLevel=debug level value

NMS に転送される全メッセージのログは /var/opt/terraspring/log/snmp.log ファイルに配置されます。

デフォルトの Simple Network Management Protocol (SNMP) の詳細レベルは 9 に設定されています。 SNMP メッセージは /var/opt/terraspring/log/snmp.log ファイルに記録されます。

SNMP の詳細レベルを変更するには、N1 Provisioning Server 上の /etc/opt/terraspring/tspr.properties ファイルを次のように編集します。


com.terraspring.mon.snmpLog.debugLevel=debug level value

メッセージ

N1 Provisioning Server ソフトウェアは、ファームと監視作業に関連するメッセージを、CPDB の中央リポジトリまたは外部の NMS に送信する、メッセージルーティングフレームワークを提供します。

N1 Provisioning Server ソフトウェアは、次の 3 種類のメッセージを生成します。

すべてのメッセージは N1 Provisioning Server に転送されます。 続いて N1 Provisioning Server により、メッセージは CPDB のメッセージリポジトリに送信されます。 ファームサーバーの監視データは、Control Center の監視画面から表示できます。

オプションで、CPDB を構成してメッセージを外部の NMS に転送することもできます。 詳細については、「管理情報ベースの定義」を参照してください。

CPDB へのメッセージの流れ

I-Fabric コンポーネントから CPDB へのメッセージの流れは自動的に行われます。 CPDB からオプションのサードパーティ製 NMS へのメッセージの流れは、ユーザーが構成できます。 次の図に、I-Fabric 要素から、I-Fabric の CPDB メッセージリポジトリへのメッセージの流れを示します。

図 4–1 I-Fabric 要素から CPDB へのメッセージの流れ

>

NMS へのメッセージの転送

NMS に送信されるすべての N1 Provisioning Server 監視メッセージは SNMP トラップの形式であるため、NMS にメッセージを転送する場合は、SNMP 接続を設定する必要があります。 SNMP では、トラップのバージョンを実装するための管理情報ベース (MIB) を実装する必要あります。 N1 Provisioning Server の監視メカニズムでは、バージョン 2 のトラップのみが送信されます。 ただし、CPDB はトラップのバージョンを変換できます。 NMS へメッセージを転送するように監視メカニズムを構成するには、/etc/opt/terraspring ディレクトリの tspr.properties ファイルで次のように編集します。

com.terraspring.mlg.SnmpConf.forwardingIP=IP address of NMS

このプロパティを構成した後、次のように SnmpTrap デーモンを再起動します。


/opt/terraspring/sbin/snmpd stop
/opt/terraspring/sbin/snmpd start

監視プロパティの詳細については、第 2 章「I-Fabric の操作」を参照してください。

メッセージルーティングの構成

/etc/opt/terraspring ディレクトリの tspr.properties ファイルでは、次のように、CPDB と NMS の一方にどの種類のメッセージ (ファーム、ビリング、または情報) を送信するかを構成できます。

表 4–1 メッセージルーティングプロパティの構成

プロパティ 

説明 

com.terraspring.mlg.MonLogPolicy.userMsgMode=DB

ファームメッセージをどこに送信するかを指定する。 

  1. 可能な値: DB、NMS、NONE

  2. デフォルト: DB

com.terraspring.mlg.MonLogPolicy.infoMsgMode=DB

情報メッセージをどこに送信するかを指定する。 

  1. 可能な値: DB、NMS、NONE

  2. デフォルト: NMS

監視コマンド

コマンド行インタフェース (CLI) で監視コマンドを使用すると、デバイスのステータスの表示、手動でのデバイスの登録、トラブルシューティングなどの監査作業を実行できます。 N1 Provisioning Server の監視ソフトウェアには、次のコマンドが用意されています。

cereg 監視コマンドの使用法

手動によるリソースプールサーバーの監視対象への登録および監視対象からの登録解除を行うには、/opt/terraspring/sbin/cereg コマンドを使用します。 通常の操作では、I-Fabric のインストール時にリソースプールサーバーの監視対象への登録は自動的に行われるため、ユーザーがこのコマンドを使用するのは、エラーやトラブルシューティングの場合のみです。 このコマンドの使用法と例については、第 7 章「障害追跡 」を参照してください。

コマンドの使用法 

説明 

-addAllCPDevices

コントロールプレーンですべてのデバイスを登録する。 

-deleteCPDevice -ipaddr IP address

コントロールプレーンサーバーを監視対象から登録解除する。 

-deletenode -ipaddr IP address -netmask netmask -nodetype node type

リソースプールサーバーを監視対象から登録解除する。 

-addnode -ipaddr IP address -netmask netmask -nodetype node type

リソースプールサーバーを監視対象に追加する。 

cecmd 監視コマンドの使用法

次のいずれかの操作には、/opt/terraspring/sbin/cecmd コマンドを使用します。

通常このコマンドはエラーやトラブルシューティングで使用します。 このコマンドの使用法と例については、第 7 章「障害追跡 」を参照してください。

コマンドの使用法 

説明  

-addipinterface -ipAddress IPaddress -waitTime wait-time -mac MAC-address -vlanId VLAN-ID -ip IP-address -netMask netmask

次の情報を指定して、リソースプールサーバーにインタフェースを追加する。  

  • リソースプールサーバーの IP アドレス

  • DHCP のタイムアウト

  • インタフェースの MAC アドレス

  • インタフェースの VLAN ID

-deleteipinterface -ipAddress IP- address -waitTime wait-time -mac MAC-address -vlanId VLAN-ID -ip IP-address -netMask netmask

次の情報を指定して、リソースプールサーバーからインタフェースを削除する。  

  • リソースプールサーバーの IP アドレス

  • DHCP のタイムアウト

  • インタフェースの MAC アドレス

  • インタフェースの VLAN ID

-shutdown-ipAddress IP- address -nodetype node-type

サーバーの IP アドレスと種類を指定して、リソースプールサーバーをシャットダウンする。  

-backup -ipAdress IP-address [-start | -stop]

リソースプールサーバーのバックアップを開始または停止する。  

-addgw -ipAddress IP- address -ipaddr IP-address

リソースプールサーバーの IP アドレスとデフォルトゲートウェイの IP アドレスを指定して、リソースプールサーバーにデフォルトゲートウェイを追加する。  

-cleararp -ipAddress IP-address

リソースプールサーバーの IP アドレスを指定して、ARP テーブルをクリアする。  

-diskChange -ipAddress IP-address -operation [-add|-delete] -information [-channel:target:LUN:size:name]

IP アドレスと (チャネル、ターゲット、名前などの) ディスク情報を指定して、ディスク情報を追加または削除する。  

-clbconf -ipAddress resource-pool-server-IP- address -operation [-add|-remove] -ipaddr load-balancer -IP-address -vip VIP-address -mask VIP-netmask -vlanid load-balancer-VLAN-ID

次の情報を指定して、ロードバランサを追加または削除する。 

  • リソースプールサーバーの IP アドレス

  • ロードバランサの IP アドレス

  • 仮想 IP アドレス

  • ネットマスク

  • VLAN ID

mis 監視コマンドの使用法

/opt/terraspring/sbin/mls 監視コマンドを実行すると、I-Fabric コンポーネントの状態、N1 Provisioning Server のすべてのエージェントのステータス、または N1 Provisioning Server の特定のエージェントのステータスを表示できます。 mls コマンドは、トラブルシューティングだけでなく、システムの健全性の日常的な監視に便利です。

表 4–2 mls コマンドの使用法

コマンドの使用法 

説明 

mls -l

現在のコントロールプレーンサーバー上の全ノードを表示する。 

mls -all

照会範囲をコントロールプレーンサーバーに変更する。 

mls -c

現在のコントロールプレーンサーバーで登録されているノードに関する、カスタムの監視値を表示する。 

mls -a

現在のコントロールプレーンサーバーで登録されているすべてのノードに関する、エージェントのステータスを表示する。  

mls -x

コントロールプレーンサーバーにより制御されているリソースに関する、エージェントのバージョン情報を表示する。 

mls -f

照会範囲を特定のファームに変更する。 

mls -i

照会範囲を特定のリソースプールサーバーに変更する。 

mls -v

詳細な出力。 

mls -d

ヘッダー情報を打ち切る。 

mls -h

コマンドの使用法に関する情報を表示する。 

管理情報ベースの定義

MIB の定義は、次の標準 SNMP 構成ファイルに記述されています。 このファイルには、SNMP N1 Provisioning Server エージェントによるサポートされているメッセージが記述されています。


-- N1 Provisioning Server  Monitoring MIB.

N1PS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, 
        enterprises, IpAddress
                FROM SNMPv2-SMI
        OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF;

smiModuleIdentity MODULE-IDENTITY
        LAST-UPDATED "200303172342Z"
        ORGANIZATION 
                "Sun Microsystems, Inc.
                 4150 Network Circle, 
                 Santa Clara, CA 95054 USA"
        CONTACT-INFO 
                "http://www.sun.com/service/contacting/index.html"
        DESCRIPTION 
                "N1 Provisioning Server MIB."
::= { enterprises 12816 }


-- The root of N1 Provisioning Server MIB Tree.

SMI          OBJECT IDENTIFIER ::= { enterprises 12815 }

-- The version 1 branch.

version1             OBJECT IDENTIFIER ::= { SMI 1 }

-- A tspr.log message.

tsprlogmessage  NOTIFICATION-TYPE
        OBJECTS { severity, 
                type, 
                farmid, 
                message, 
                originatingIPAddress }
        STATUS     current
        DESCRIPTION 
                "A message with type debug."
        ::= { ifabricLog 11 }

-- A message sent on change of state of a node monitored by the N1 Provisioning Server.

nodeEvents  NOTIFICATION-TYPE
        OBJECTS { severity, 
                message, 
                originatingIPAddress }
        STATUS     current
        DESCRIPTION 
                "A message sent on change of state of a node monitored by the N1 Provisioning Server."
        ::= { monLog 11 }

-- A message sent on change of Customer Monitoring Values detected  by the N1 Provisioning Server.

cmEvents  NOTIFICATION-TYPE
        OBJECTS { severity, 
                message, 
                originatingIPAddress }
        STATUS     current
        DESCRIPTION 
                "A message sent on change of Customer Monitoring Values detected  by the N1 Provisioning Server."
        ::= { monLog 21 }

-- A message sent on change of the state of the Agent on a Resource Pool Server detected  by the N1
PS.

agentEvents  NOTIFICATION-TYPE
        OBJECTS { severity, 
                message, 
                originatingTimeStamp }
        STATUS     current
        DESCRIPTION 
                "A message sent on change of the state of the Agent on a Resource Pool Server
detected  by the N1 Provisioning Server."
        ::= { monLog 31 }

-- A message received from a Control Plane Node that is to be forwarded.

controPoolTraps  NOTIFICATION-TYPE
        OBJECTS { message, 
                originatingIPAddress, 
                originatingTimeStamp }
        STATUS     current
        DESCRIPTION 
                "A message received from a Control Plane Node that is to be forwarded."
        ::= { deviceTraps 11 }

-- A message received from a Resource Pool Node that is to be forwarded.

resoursePoolTraps  NOTIFICATION-TYPE
        OBJECTS { message, 
                originatingIPAddress, 
                originatingTimeStamp }
        STATUS     current
        DESCRIPTION 
                "A message received from a Resource Pool Node that is to be forwarded."
        ::= { deviceTraps 21 }

-- The type of message.

type  OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                "The type of message."
        ::= { trapVariables 1 }

-- The severity of the message.

severity  OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                "The severity of the message."
        ::= { trapVariables 2 }

-- The Farmid for which the message is sent.

farmid  OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                "The Farmid for which the message is sent."
        ::= { trapVariables 3 }

-- The actual body of the message.

message  OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                "The actual body of the message."
        ::= { trapVariables 4 }

originatingIPAddress  OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                ""
        ::= { trapVariables 5 }

-- The TimeStamp of the original Trap.

originatingTimeStamp  OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS     current
        DESCRIPTION 
                "The TimeStamp of the original Trap."
        ::= { trapVariables 6 }

-- All notifications send for tsprlog messages.

ifabricLog  NOTIFICATION-GROUP
        NOTIFICATIONS { tsprlogmessage }
        STATUS     current
        DESCRIPTION 
                "All notifications send for tsprlog messages."
        ::= { version1 100 }

-- All monitoring log messages.

monLog  NOTIFICATION-GROUP
        NOTIFICATIONS { agentEvents, 
                cmEvents, 
                nodeEvents }
        STATUS     current
        DESCRIPTION 
                "All monitoring log messages."
        ::= { version1 200 }

-- All traps received from nodes that need to be forwarded onwards.

deviceTraps  NOTIFICATION-GROUP
        NOTIFICATIONS { controPoolTraps, 
                resoursePoolTraps }
        STATUS     current
        DESCRIPTION 
                "All traps received from nodes that need to be forwarded onwards."
        ::= { version1 300 }

trapVariables  OBJECT-GROUP
        OBJECTS { severity, 
                type, 
                farmid, 
                message, 
                originatingIPAddress, 
                originatingTimeStamp }
        STATUS     current
        DESCRIPTION 
                ""
        ::= { version1 400 }
END