この章では、監視およびメッセージシステムの概要を説明します。 Infrastructure Fabric (I-Fabric) 内で監視されるイベントを説明します。 この章では、次のトピックについて説明します。
N1 Provisioning Server の監視ソフトウェアは、次のタスクを実行します。
次の I-Fabric コンポーネントの可用性、健全性、およびパフォーマンスの監視
N1 Provisioning Server ソフトウェアが動作するコントロールプレーンサーバー
リソースプールサーバー
メッセージをサードパーティ製アプリケーションに転送する機能を含む、イベントに対するメッセージルーティングフレームワークの提供
監視用のプライマリソフトウェアのパッケージは、次のコンポーネントから構成されてます。
すべてのメッセージを収集するコントロールプレーンデータベース (CPDB) 上の監視マネージャプロセス
監視マネージャによる全メッセージの転送先である、CPDB のメッセージリポジトリ
リソースプールサーバーの状態と健全性を監視する、リソースプールサーバー上の 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 つの目的があります。
ネットワークアクセス可能性に関する I-Fabric デバイスの監視
I-Fabric 内部で発生しうるクリティカルな全イベントに関する、単一の連絡点しての役割
可用性に関するコントロールプレーンサーバーの監視
CPDB 上の監視マネージャは、コントロールプレーンサーバーの健全性とパフォーマンスを監視します。 メッセージの記録先は、TSPRmon および TSPRmlg パッケージの postinstall スクリプトで指定されている適切なログファイルです。 ログファイルの位置はコマンド slconfig を使用して設定しますが、このコマンドはパッケージ postinstall および preremove スクリプト以外の場所では使用がサポートされていません。
これらのログファイルの構成方法の詳細については、slconfig のマニュアルページを参照してください。 監視ログファイルのデフォルトの位置は、/var/opt/terraspring/log/snmp.log および /var/opt/terraspring/log/mon.log です。
監視マネージャを起動するには、次のように入力します。
/opt/terraspring/sbin/mmd start
監視マネージャを停止するには、次のように入力します。
/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 エージェントが含まれています。
ファームに割り当てられているリソースプールサーバーに関しては、システムは次のイベントを監視できます。
主 Ethernet インタフェースの可用性 (ICMP ECHO または ping)
CPU 利用率
ディスク利用率
RAM 利用率
スワップメモリの割り当て
監視構成の詳細については、『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 を構成する装置は、CPDB を使用した監視の対象に登録する必要があります。 システムをインストールすると、オリジナルの配備の一部としてこの登録作業が行われます。 ただし、デバイスの追加、削除、交換を行う場合は登録を変更できます。
CPDB を使用したデバイスの登録手順の詳細は、『N1 Provisioning Server 3.1, Blades Edition インストールガイド』のインストール手順で説明されています。 デバイスを登録した後は、CPDB のメッセージリポジトリまたは Control Center の監視画面で、これらのデバイスに関するメッセージを表示できます。
必要なくなった場合や (ハードウェア障害などにより) 完全に削除された場合は、監視対象に登録されている I-Fabric デバイスを削除する必要があります。
次のコマンドを入力します。
/opt/terraspring/sbin/cereg -deleteCPDevice -ipaddr IP Address
このコマンドにより、IP アドレスが 10.10.10.21 であるデバイスが削除されます。
/opt/terraspring/sbin/cereg -deleteCPDevice ipaddr 10.10.10.21 |
システムの健全性の監視には、手動による操作はほとんど必要ありません。 システムの健全性の監視に関連して、ユーザーが実行しなければならない主な作業には、次のものがあります。
Control Center の監視画面を使用した、ファームの各サーバーに関する特定の監視イベントの表示または構成。
リソースプールサーバーの監視対象への追加および監視対象からの削除。 通常この操作は、初期インストール時に処理されます。 新しい装置を追加するには、手動による操作が必要です。
I-Fabric デバイスが手動で追加または削除された場合の、I-Fabric デバイスの監視対象への登録または監視対象からの登録解除
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 に転送することもできます。 詳細については、「管理情報ベースの定義」を参照してください。
I-Fabric コンポーネントから CPDB へのメッセージの流れは自動的に行われます。 CPDB からオプションのサードパーティ製 NMS へのメッセージの流れは、ユーザーが構成できます。 次の図に、I-Fabric 要素から、I-Fabric の CPDB メッセージリポジトリへのメッセージの流れを示します。
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 メッセージルーティングプロパティの構成
コマンド行インタフェース (CLI) で監視コマンドを使用すると、デバイスのステータスの表示、手動でのデバイスの登録、トラブルシューティングなどの監査作業を実行できます。 N1 Provisioning Server の監視ソフトウェアには、次のコマンドが用意されています。
cereg
cecmd
mls
手動によるリソースプールサーバーの監視対象への登録および監視対象からの登録解除を行うには、/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 |
リソースプールサーバーを監視対象に追加する。 |
次のいずれかの操作には、/opt/terraspring/sbin/cecmd コマンドを使用します。
インタフェースの構成
リソースプールサーバーのシャットダウン
リソースプールサーバーのバックアップ
通常このコマンドはエラーやトラブルシューティングで使用します。 このコマンドの使用法と例については、第 7 章「障害追跡 」を参照してください。
/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 |