デバイス履歴
この項では、デバイス履歴機能について説明します。この機能を使用すると、デバイス プロビジョニングのライフサイクルで発生する重要なイベントの詳細な履歴を表示できます。この機能は、トラブルシューティングを行う場合に便利です。
デバイス履歴の表示は、API または管理者のユーザ インターフェイスから行うことができます。
• 特定のデバイスの履歴を取得するには、次の API を呼び出します。
com.cisco.provisioning.cpe.api.ipdevice.history getHistory (DeviceID deviceID)
• 管理者のユーザ インターフェイスを使用して特定のデバイスの履歴を取得するには、「デバイスの履歴の表示」を参照してください。
表8-1 は、BAC のデバイス履歴機能でサポートされる特定のレコード タイプを示しています。
表8-1 サポートされるデバイス履歴レコード
|
|
|
AddedAutomatically |
以前に登録解除されたデバイスが、DPE との交信後に BAC に自動的に追加されたときに記録されます。 |
time : Device record was automatically created. |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device record was automatically created.
|
AddedViaAPI |
デバイスがクライアント API を使用して BAC に追加されたときに記録されます。 |
time : Device record was added via API by user username. |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device record was added via API by user "admin".
|
UpdatedViaAPI |
RDU に格納されているデバイス レコードが、クライアント API を使用して変更されたときに記録されます。 |
time : Device record was updated reason by user username . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device record was updated via API command "IPDevice.changeClassOfService" by user "admin".
|
FirstContact |
デバイスが BAC と最初に交信したときに記録されます。 |
time : Device made first contact with BAC. |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device made first contact with BAC.
|
CPEDiscoveredData Updated |
デバイスがデバイス パラメータの新しい値を報告したときに記録されます。この値は、検出されたデータとして RDU でトラッキングされます。 検出されたパラメータの詳細については、「CPE パラメータの検出」を参照してください。 |
time : Recorded updates of number parameter values discovered from device. |
例:
Tue Jul 11 18:41:42 EDT 2006:
Recorded updates of 2 parameter values discovered from device.
|
ConfigGenRequested |
デバイスに対する命令の再生成が開始されたときに記録されます。再生成された命令は、デバイスのプロビジョニング グループ内の DPE すべてに送信されます。 |
time : Device policy instructions regeneration initiated as a result of reason by user username . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device policy instructions regeneration initiated as a result of execution of API Command "IPDevice.performOperation" by user "admin".
|
ConfigUpdated |
BAC がデバイスの新しい構成を有効にしたときに記録されます。 |
time : Device was configured according to configuration version: configuration revision . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device was configured according to configuration version: 215438bb.
|
UpdatedConfigAvailable |
デバイス用の新しい構成命令が RDU から DPE に送信されたときに記録されます。 |
time : Configuration policy for device was updated; new version: configuration revision . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Configuration policy for device was updated; new version: 215438bb.
|
ReportedNewConfig |
デバイスが新しい構成を使用して、Inform メッセージに含まれている ParameterKey を介して報告したときに記録されます。 |
time : Device reported new configuration version: configuration revision . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device reported new configuration version: 215438bb.
|
NewOperationQueued |
新しいデバイス操作が、クライアント API または管理者のユーザ インターフェイスから開始され、BAC によってデバイス用の実行キューに入れられたときに記録されます。 |
time : On-connect operation operation name with ID operation ID was queued by user username . |
例:
Tue Jul 11 18:41:42 EDT 2006:
On-connect operation "SetParamValues" with ID "15e2ccd:10c5f4b2ad0:80000024" was queued by user "admin".
|
OperationExecuted |
クライアント API または管理者のユーザ インターフェイスから開始した操作が、デバイスに対して正常に実行されたときに記録されます。 |
time : Operation mode operation name with ID operation id was executed on the device. |
例:
Tue Jul 11 18:41:42 EDT 2006:
On-connect operation "SetParamValues" with ID "15e2ccd:10c5f4b2ad0:80000024" was executed on the device.
|
OperationRemoved |
BAC 内のキューに入っているデバイス操作が削除されたときに記録されます。 |
time : On-connect operation operation name with ID operation id was removed. |
例:
Tue Jul 11 18:41:42 EDT 2006:
On-connect operation "GetParamValues" with ID "15e2ccd:10c5f4b2ad0:80000025" was removed.
|
ReportedNewFirmware |
デバイスが新しいファームウェアを使用して、Inform メッセージを介して報告したときに記録されます。 |
time : Device reported new firmware/software version: firmware/software version . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Device reported new firmware/software version: 6d9bfec2.
|
UpdatedFirmwareRules Available |
デバイス用の新しいファームウェア ルールが RDU から DPE に送信されたときに記録されます。 |
time : Firmware rules for device were updated; new version: firmware rules revision . |
例:
Tue Jul 11 18:41:42 EDT 2006:
Firmware rules for device were updated; new version: 6d9bfec2.
|
デバイス履歴の設定
デバイス履歴機能を使用すると、デバイス プロビジョニングのライフサイクルで発生する重要なイベントを記録できます。この項では、この機能をイネーブルまたはディセーブルにする方法について説明します。
デバイス履歴のイネーブル化
デバイス履歴は、デフォルトでイネーブルになっています。この機能を API からイネーブルまたはディセーブルにするには、 SERVER_DEVICE_HISTORY_ENABLE_KEY
プロパティを使用します。
(注) デバイス履歴をイネーブルまたはディセーブルにするたびに、メッセージが audit.log に記録されます。また、デバイス履歴はトラブルシューティングのログにも格納されます。
デバイス履歴を管理者のユーザ インターフェイスからイネーブルまたはディセーブルにするには、次の手順に従います。
ステップ 1 プライマリ ナビゲーション バーまたは Main Menu ページで、 Configuration を選択します。
ステップ 2 セカンダリ ナビゲーション バーの Defaults を選択します。
ステップ 3 Configure Defaults ページが表示されます。 System Defaults をクリックします。
ステップ 4 デフォルト ページで、Device History に対応する Enabled オプション ボタンをクリックします。
(注) デバイス履歴機能をディセーブルにするには、Disabled オプション ボタンをクリックします。デバイス履歴をディセーブルにすると、既存のデバイスの新しい更新や新しいデバイスの詳細がデバイス履歴に記録されなくなります。ただし、既存のイベントは保持されます。
ステップ 5 Submit をクリックするか、または Reset をクリックしてデフォルト値に戻します。
デバイス履歴の表示
管理者のユーザ インターフェイスからデバイス履歴を表示するには、次の手順に従います。
ステップ 1 Devices ページで、履歴を表示するデバイスを検索します。そのためには、いずれかの検索タイプを使用します。
ステップ 2 該当のデバイスに対応する View Details アイコン( )をクリックします。
ステップ 3 Device Details ページが表示されます。View Device History Details に対応する View Details アイコンをクリックします。
Device History Details ページが表示されます。
デバイス履歴を取得するには、API コマンドの IPDevice.getDeviceHistory()
を使用します。
デバイス履歴のサイズの設定
管理者のユーザ インターフェイスからデバイス履歴エントリの最大数を設定するには、
Configuration > Defaults > System Defaults の順に選択します。Maximum Device History Entries に対応するフィールドに値を入力します。デフォルトのエントリ数は 40 です。
この数を API から設定するには、 SERVER_MAX_DEVICE_HISTORY_SIZE
プロパティを設定します。
Maximum Device History Entries の値を小さくした場合、制限を超える既存のレコードが削除されるのは、新しいデバイス履歴が記録されたときです。このとき、デバイスの履歴は、管理者が設定したデバイス履歴エントリの最大数に従って更新されます。最大数を増やした場合、その時点より古いエントリは保持されます。最大数を減らした場合は、最も古いエントリから削除されます。
デバイス履歴レコード
デバイス履歴レコードは、循環リストに記録されます。リストが、管理者によって指定された制限に到達すると、最も古いエントリが削除されます。ただし、次に示すレコードは削除されません。
• AddedViaAPI(事前登録されたデバイスの場合)
• AddedAutomatically(登録解除されたデバイスの場合)
• FirstContact
デバイス アクティビティを幅広く記録する場合に影響を受ける可能性がある BAC のパフォーマンスを最適化するには、API から次のシステム プロパティを使用して、特定のイベント タイプをイネーブルまたはディセーブルにします。
(注) これらのプロパティは、デフォルトでディセーブルになっています。これらのオプションがデバイス履歴に影響を与えるのは、デバイス履歴機能をイネーブルにした場合だけです。
• SERVER_DEVICE_HISTORY_IMMEDIATE_OP_ENABLE_KEY
即時操作に関する OperationExecuted 履歴を記録する。
• SERVER_DEVICE_HISTORY_PROXY_OP_ENABLE_KEY
接続時のデバイス操作に関する NewOperationQueued、OperationRemoved、および OperationExecuted 履歴を記録する。
(注) SERVER_DEVICE_HISTORY_IMMEDIATE_OP_ENABLE_KEY
プロパティをディセーブルにし、SERVER_DEVICE_HISTORY_PROXY_OP_ENABLE_KEY
プロパティをイネーブルにした場合、即時操作はディセーブルになり、接続時操作はイネーブルになります。
• SERVER_DEVICE_HISTORY_GEN_CONFIG_ENABLE_KEY
ConfigGenRequested 履歴を記録する。
これらのプロパティを管理者のユーザ インターフェイスからイネーブルまたはディセーブルにするには、次の手順に従います。
ステップ 1 Configuration > Defaults ページの順に選択します。
ステップ 2 画面の左隅にある System Defaults リンクをクリックします。
ステップ 3 イネーブルまたはディセーブルにする操作に対応するオプション ボタンをクリックします。
• 即時操作の履歴の記録をイネーブルにするには、Immediate Operation History に対応する Enabled オプション ボタンをクリックします。
• 接続時操作の履歴の記録をイネーブルにするには、On-Connect Operation History に対応する Enabled オプション ボタンをクリックします。
• 構成生成の履歴の記録をイネーブルにするには、Instruction Generation History に対応する Enabled オプション ボタンをクリックします。
これらの操作をディセーブルにするには、対応する Disabled オプション ボタンをクリックします。
ステップ 4 Submit をクリックします。
デバイス障害
大規模のインストールでは、デバイスで障害が繰り返し発生すると、ボトルネックとなってパフォーマンスに影響を及ぼす場合があります。障害が繰り返し発生する原因としては、デバイスの誤動作や BAC の設定ミスが考えられます。BAC を使用すると、Recurring Device Faults 機能を通じて、RDU および DPE サーバで繰り返し発生する障害を検出できます。
繰り返し発生する障害とは、短期間に何度も発生する障害や、高い確率で繰り返し発生する障害を指します。たとえば、BAC 構成ポリシーに基づいてデバイスを構成しようとしたときに、デバイスでパラメータが欠落していることが原因で障害が発生する場合があります。このような障害は、1 回しか発生していなくても、繰り返し発生する障害と見なされます。これは、この操作がデバイス交信ごとに実行されるためです。ただし、単発のデバイス操作を API から開始したときに障害が発生した場合、この障害は操作への応答として API クライアントに返されるため、繰り返し発生する障害とは見なされません。
また、次のシナリオを考慮してください。
• RDU にある設定テンプレートが、システムから削除されたプロパティを参照する場合がある。RDU がこのテンプレートを使用してデバイス用の命令を生成しようとすると、毎回エラーが発生します。このエラーにより、このデバイスは障害が繰り返し発生するデバイスと見なされます。そのため、このエラーはユーザに報告されます。
• デバイスのファームウェアのバグが原因で、デバイスが無効または不完全な Inform メッセージを送信する。この状態の Inform メッセージは、デバイス交信ごとに生成されます。この問題の場合も、繰り返し発生する障害と見なされます。
この機能を使用すると、特定のデバイスに関する最新の障害の詳細と、システム全体、RDU サーバ、および各 DPE サーバについて集約した障害の統計情報を表示できます。
次の操作の実行中は、RDU および DPE においてデバイス障害がモニタリングされます。
|
命令の生成中の障害 |
拡張の実行時の障害 |
|
CPE WAN Management Protocol の違反 |
DataSync 命令の処理中の障害。この命令は、デバイスからのデータを検出し、RDU を更新するように指示します。 |
Failures during FirmwareRules 命令の処理中の障害。この命令は、RDU ファームウェア ルール テンプレートで設定されたファームウェア ルールを実行するように指示します。 |
ConfigSync 命令の処理中の障害。この命令は、RDU 設定テンプレートに従ってデバイス構成を更新するように指示します。 |
UnknownDevice 命令の処理中の障害。この命令は、不明なデバイスまたは登録解除されたデバイスを処理するように指示します。 |
RDU および DPE では、繰り返し発生する障害のリストが保守されます。障害ごとに、発生日時、デバイスの ID、および障害の説明が加えられます。
障害のライフタイムが満了するとすぐに、その障害は期限切れとなって自動的にシステムから削除されます。障害がシステムから削除されると、それに応じて統計情報が調整されます。
(注) BAC では、管理者のユーザ インターフェイス上のデバイス障害リストに返されるデバイスの数が 1,000 に制限されています。障害デバイスの数が 1,000 を超えた場合は、メッセージが表示され、画面に表示されない障害デバイスも存在することが示されます。
パフォーマンスへの影響を避けるため、BAC では障害情報がディスク上に格納されません。サーバを再起動すると、そのサーバのメモリに保持されていた障害データは失われます。ただし、障害が再度繰り返し発生した場合、障害は報告されます。
デバイス障害の取得
デバイス障害の情報は、API および管理者のユーザ インターフェイスから取得できます。
API からは、次のプロパティを呼び出すことができます。
• Configuration.getRDUDetails
:RDU にある障害デバイスのリストを返します。
• Configuration.getDPEDetails
:DPE にある障害デバイスのリストを返します。
• IPDevice.getDetails
:デバイスに関連する障害の情報を返します。
管理者のユーザ インターフェイスでは、次のように選択します。
• Servers > RDU: RDU レベルのデバイス障害の統計情報と、すべての DPE について集約した障害の統計情報が表示されます。デフォルトでは、1、3、12、および 72 時間間隔の統計情報が表示されます。
• Servers > Provisioning Groups > Manage Provisioning Groups > View Provisioning Group Details :プロビジョニング グループ内の各 DPE に関するデバイス障害の統計情報が表示されます。
• Servers > DPEs > Manage Device Provisioning Engines > View Device Provisioning Engines Details :障害デバイスの数が表示されます(ある場合)。Device with Faults に対応する View Details アイコンをクリックします。Device Detailsページが表示され、DPE レベルのデバイス障害の統計情報が詳細に示されます。
(注) View Device Provisioning Engines Details ページで View Details アイコンの横に Device with Faults オプションが表示されるのは、障害デバイスがある場合だけです。
• Devices > Manage Devices > Device Details :選択されたデバイスに関する最新の障害が表示されます(ある場合)。図8-1 を参照してください。
図8-1 Device Details ページに表示される障害の説明
BAC は、最新の障害デバイスの詳細を、各サーバで保守します。DPE の冗長性により、特定のデバイスが、時間とともに複数の DPE と交信するようになり、そのいずれかまたはすべての DPE 上の障害リストに加えられる場合があります。また、この同じデバイスが、RDU で障害を繰り返し発生する場合もあります。BAC では、すべてのサーバにあるデバイス障害を集約して表示することができます。ただし、各サーバでトラッキングされる障害は、常に、デバイスごとに最大 1 つであり、障害データは有効期限が切れるとメモリから削除されます。
デバイスのトラブルシューティング
この機能を使用すると、1 つ以上の特定のデバイスに関する、きわめて詳細なトラブルシューティング情報を収集できます。トラブルシューティング情報には、特定のデバイスまたはデバイス グループに関連するサーバ インタラクションがすべて含まれます。この情報には、管理者のユーザ インターフェイスの操作、RDU API 操作、DPE と CPE とのインタラクション、およびサーバ間の DPE と RDU とのインタラクションも含まれます。
1 つ以上の特定のデバイスに対して、トラブルシューティングをイネーブルまたはディセーブルにできます。この場合、ロギングをオンにしたり、特定のデバイス情報についてのログ ファイルを検索したりする必要はありません。
BAC は、詳細なトラブルシューティング情報を収集するデバイスのリストを、デバイス ID に基づいて保守します。トラブルシューティング情報は、RDU で一元的に保管され、デバイス単位で保守されます。DPE は、このデータを保管しません。反対に、DPE は、この情報を RDU に転送します。RDU は、この情報を受信すると、 BPR_DATA/rdu/logs ディレクトリ内の troubleshooting.log デバイス ログ ファイルに書き込みます。
DPE から RDU への接続が失われた場合、DPE で発生している新しいトラブルシューティング イベントはすべて廃棄されます。トラブルシューティング情報のロギングが再開されるのは、RDU と DPE 間の接続が復元された場合だけです。
troubleshooting.log ファイルは、その他の rdu.log、dpe.log 、および audit.log などのログ ファイルとは異なります。 troubleshooting.log ファイルに記録されるのは、トラブルシューティング モードになっている特定のデバイス セットに関連する詳細なトラブルシューティング情報だけです。
(注) トラッキング機能は、トラブルシューティング グループに 1 つ以上のデバイスを追加しない限り、オフになっています。
特定のデバイスのトラブルシューティングをイネーブルまたはディセーブルにすると、その変更は即時にすべてのサーバ(RDU および DPE)で有効になるため、RDU または DPE をリブートする必要はありません。各サーバのログ ファイルには、トラブルシューティング モードになっているデバイスの現在のリストが示されます。
注意
デバイスのトラブルシューティング機能を使用する場合は、追加のメモリおよびディスク領域が必要になります。トラッキング対象のデバイス数が増えると、作成されたログの数をサポートするのに必要なメモリおよびディスク領域の容量も増えます。
デバイスのトラブルシューティングの設定
デバイスのトラブルシューティング機能は、1 つ以上のデバイスをトラブルシューティング モードに移行するまで、ディセーブルになっています。この項では、管理者のユーザ インターフェイスからデバイスのトラブルシューティングをイネーブルまたはディセーブルにする方法について説明します。また、トラブルシューティング モードのデバイスのリストを表示する方法や、特定のデバイスのトラブルシューティング ログを表示する方法についても説明します。
トラブルシューティング モードになるデバイスの最大数を設定すると、気付かないうちに膨大な数のデバイスをこのモードに移行して、サーバのパフォーマンスを低下させてしまうことを回避できます。デフォルトでは、この数は 100 に設定されています。管理者のユーザ インターフェイスからトラブルシューティング モードに移行できるデバイスの最大数を設定するには、Systems Defaults ページで Configuration > Defaults タブの順にクリックします。Maximum Troubleshooting Device Count フィールドに値を入力します。
デバイスのトラブルシューティングのイネーブル化
デバイスのトラブルシューティングをイネーブルにするには、そのデバイスを BAC RDU で事前登録しておく必要があります。デバイスが事前登録されていない場合は、Manage Devices ページで Add ボタンをクリックして、デバイスを追加します。デバイスの追加については、「デバイス レコードの追加」を参照してください。
RDU データベース内にすでに存在するデバイスのトラブルシューティングをイネーブルにするには、次の手順に従います。
ステップ 1 Manage Devices ページで、Search Type ドロップダウン リストをクリックし、Device Identifier Option Search オプションを選択します。この検索にはワイルドカード機能を使用できます( 表16-1 を参照してください)。 Search をクリックします。
ステップ 2 デバイスのリストが表示されます。トラッキングするデバイスに対応する Identifier リンクをクリックします。
ステップ 3 Modify Device ページが表示され、各種のデバイス パラメータが示されます。Troubleshooting パラメータに対応する Enabled オプション ボタンをクリックします。
ステップ 4 Submit をクリックします。これで、デバイスのトラブルシューティングがイネーブルになりました。
特定のデバイスのトラブルシューティングがイネーブルになっているかどうかを確認するには、Device Details ページにアクセスし、Troubleshooting に対応するステータスを確認します。
デバイスのトラブルシューティングのディセーブル化
デバイスのトラブルシューティングをディセーブルにするには、次の手順に従います。
ステップ 1 Devices タブで、削除するデバイスを検索します。そのためには、いずれかの検索タイプを使用します。
ステップ 2 トラブルシューティング リストから削除するデバイスに対応する Identifier リンクをクリックします。
ステップ 3 Modify Device ページが表示されます。Troubleshootingパラメータに対応する Disabled オプション ボタンをクリックします。
ステップ 4 Submit をクリックします。
トラブルシューティング モードになっているデバイスのリストの表示
デバイスのトラブルシューティングをイネーブルにすると、そのデバイスは、トラブルシューティング モードのデバイスのリストを含む、特別なデバイス グループに自動的に追加されます。グループ タイプは system で、グループ名は troubleshooting です。このグループ内のデバイスのリストには、API または管理者のユーザ インターフェイスからアクセスできます。
トラブルシューティングが現在イネーブルになっているデバイスのリストを表示するには、次の手順に従います。
ステップ 1 Manage Devices ページで、Search Type ドロップダウン リストをクリックし、Group Search を選択します。
ステップ 2 Group (Group Type) ドロップダウン リストから、トラブルシューティング モードのデバイスすべてを表示するための、troubleshooting (system)オプションを選択します。
ステップ 3 Search をクリックします。
(注) 上記のほか、トラブルシューティング モードのデバイスのリストを表示するには、RDU ログ(rdu.log)および DPE ログ(dpe.log)を調べるという方法もあります。デバイスのリストの記録は、サーバが起動するたび、およびトラブルシューティングがイネーブルになっているデバイスのリストが変更されるたびに行われます。
トラブルシューティングがイネーブルになっているデバイスは、ログ レベルが 5(通知)に設定された状態でログ ファイルに表示されます。ログ ファイルの詳細については、「ロギング」を参照してください。
デバイスのトラブルシューティング ログの表示
特定のデバイスのトラブルシューティング ログ ファイルは、次のどちらかの方法で表示できます。
• 「トラブルシューティング モードになっているデバイスのリストの表示」で説明されている手順に従う。その後、次の手順に従います。
ステップ 1 トラブルシューティング モードのデバイスのリストが表示された状態で、特定のデバイスに対応する View Details アイコンをクリックします。
ステップ 2 Device Details ページが表示されます。View Troubleshooting Log に対応する View Details アイコンをクリックします。
View Log File Contents ページが表示されます。
• 次の手順に従う。
ステップ 1 Manage Detailsページの Devices タブで、Search Type ドロップダウン リストをクリックし、Device Identifier Option Search オプションを選択します。この検索にはワイルドカード文字(*)を使用できます。
ステップ 2 Search をクリックします。
ステップ 3 デバイスのリストが表示されます。ログ ファイルを確認するデバイスに対応する View Details アイコンをクリックします。
ステップ 4 Device Details ページが表示されます。View Troubleshooting Log に対応する View Details アイコンをクリックします。
View Log File Contents ページが表示されます。
デバイスのトラブルシューティング ログ エントリのカラー コーディングは、次のとおりです。
• BAC-TROUBLESHOOTINGINFO:情報メッセージは白色でマークされます。
• BAC-TROUBLESHOOTINGINPUT:BAC サーバで受信されたメッセージの詳細は灰色でマークされます。
• BAC-TROUBLESHOOTINGOUTPUT:BAC サーバから送信されたメッセージの詳細は緑色でマークされます。
• BAC-TROUBLESHOOTINGERROR:エラー メッセージは赤色でマークされます。