目次

はじめに

データベーステーブル

要約および集約表

CVP 8.x および 9.0 レポート データベース間の違い

レポート サーバー過負荷

トラブルシューティング

失敗およびリストア-部分的なレポート サーバー

レポート サーバー失敗

データベース接続失敗

未完成コール

復旧モード

トレース レベルおよびログ ファイル

集約機能デバッグおよびログ

データベース領域問題

概要

このドキュメントでは、Cisco Unified Customer Voice Portal（CVP）レポート サーバの概要とトラブルシューティングの手順を示します。

- レポート サービスは Cisco Unified IP Interactive Voice Response（IVR）サービス、セッション開始プロトコル（SIP）サービス（もし使用するなら）、および Cisco Unified CVP 音声 XML （VXML）サーバからレポート データを受け取ります。 サービスはコール センターの環境の史的記事として動作する Informix レポート データベースにそしてデータをトランスフォームし、書き込みます。

- レポート サービスはそしてそれらのメッセージを解析し、適当な構造化照会言語 （SQL）文のバッチに変換し、SQL データベースに Java Database 接続（JDBC）によって API 実行します。

データベーステーブル

CVP 表はとして分類されます:

- コール表

- VXML 表

- 要約/集約表

- ルックアップおよび参照テーブル

- 礼儀コールバック表

コール表のコール 開始するは CallGUID カラムによって VXMLSession 表にリンクされ。

注: 統一された CVP DateTimes は UTC 時間として記録されます; 例外はローカル タイムとして記録される dbdatetime です。 Localtimezoneoffset はローカル タイムを得るために UTC からの分オフセットの数が含まれているコール表のカラムです。 これは間隔として使用することができます。

要約および集約表

新しい要約テーブルにコールおよび VXMLElement 表からのデータを集約する統一された CVP レポート サーバーはサマリ プロセスが含まれています。

レポート要約テーブルは次のとおりです:

- ApplicationSummary_15

- ApplicationSummary_Daily

- ApplicationSummary_Weekly

- ApplicationSummary_Monthly

- Call_15

- Call_Daily

- Call_weekly

表はこのスケジュールに基づいていました作成されます:

- 毎日表は 1 日 15 の分表の後ろの読み込まれます。

- 週間表は毎日表からそれらが疑わしい週の間完全に読み込まれたら、読み込まれます。

- 月例表は週間表からそれらが疑わしい月の間完全に読み込まれたら、読み込まれます。

参照して下さい Cisco バグ ID CSCue65248 を、「CVP レポート要約テーブル読み込まれません」。 CVP レポート サーバーでは、要約テーブルは読み込まれません。 問題は CVP 9.0 でもたらされた月例要約のためのスクリプトによって引き起こされています。

CVP 8.x および 9.0 レポート データベース間の違い

データベースを報告する統一された CVP 9.0(1) は Windows 2008 R2 サーバでだけサポートされます。 データベースを報告する統一された CVP 8.x が Windows 2003 によってサポートされるので、直接アップデートはデータベースを報告する統一された CVP 9.0(1) へありません。

移行手順に関しては、インストール ガイドを参照して下さい。 次の注意してください。

- レポート サーバー コンポーネントはマシンが既にドメインの一部である場合インストールすることができません。

- レポート サーバー コンポーネントはサーバでインストールすることができませんドメインの一部である。 コンポーネントのインストールはローカル セキュリティ ポリシーがサーバがドメインの一部である場合可能性のあるではないグループ ポリシー コンソールの同じセキュリティポリシーより高い優先順位を優先することを必要とします。 ただし、インストールの後で、サーバはドメインに戻ってこれがローカル ポリシーをサーバで動作するように要求しないので追加することができます。

ポスト インストール タスクの違いは下記のものを含んでいます:

- 4.x、7.x レポート データベース- Informix ユーザとしてログイン、およびこれらのバッチファイル実行される:

- ReportingRunAsInformix.bat.

- ReportingRunAsCVP_DbAdmin.bat.

- 8.x レポート データベース- Informix ユーザとしてログイン、およびこのバッチファイル実行される:

- CVP_Database_Config.bat.

- 9.x レポート データベース-ポスト インストール処理の一部としてバッチファイルが必要となりません。

ユーザの重要な違いは、9.x と、Informix これ以上のユーザがないことです。 その代り、cvp_dbadmin ユーザはデータベースのオーナーです。

レポート サーバー過負荷

Cisco MCS-7845 レポート サーバーは毎秒 420 のメッセージを処理できます。

各 VoiceXML アプリケーションのための毎秒生成されるレポート メッセージの数を判別するためにこの同等化を使用して下さい:

A# = %CPS * CPS * MSG

ここで、

- %CPS = この VoiceXML アプリケーションを使用するコールのパーセント

- CPS = 毎秒コールの数

- MSG = このアプリケーションが生成するレポート メッセージの数

各アプリケーションによって生成されるメッセージを追加するためにこの同等化を使用して下さい:

A（total） = A1+ A2+?..+An

A（total）が VoiceXML アプリケーションによって毎秒生成されるレポート メッセージの総数であるところ。

要素またはアクティビティごとのレポート メッセージの数は Cisco Unified Customer Voice Portal （CVP）ソリューション リファレンス ネットワーク デザイン（SRND）リリース 9.0(1) の表 17 にあります。

わかりやすくするために、1秒の間 vxmlsession 表に書き込まれるメッセージの平均数を計算するためにこのクエリを使用できます:

select count(*)/86400 from vxmlsession where dbdatetime between

'2012-12-12 00:00:00' and '2012-12-13 00:00:00'"

この 14 の表に対してこのクエリを実行して下さい:

1. call

2. CallEvent

3. CallICMInfo

4. OutgoingECCVariable （関連する CCB）

5. VXMLCustomContent

6. VXMLElement

7. VXMLElementDetail

8. VXMLElementFlag

9. VXMLError

10. VXMLHotEvent

11. VXMLHotLink

12. VXMLSession

13. VXMLSessionVariable

14. VXMLVoiceInteractDetail

レポート サーバーによって受け取った毎秒メッセージの平均数を得るために結果を追加して下さい。

トラブルシューティング

レポート サーバーが過剰になる場合、レポート ログはこれらのアラートが含まれています:

CVP_8_0_RPT-1-REPORTING_DB_ALERT_RAISE ALERT!!!!! The total JDBC messages queue

size has exceeded the critical limit 300000 .... All the JDBC messages will

be dropped. [id:4014]

CVP_8_0_RPT-1-REPORTING_DB_ALERT_RAISE ALERT!!!!! The total JDBC messages queue

size has exceeded the max limit 250000 .... Some of the JDBC messages may be

dropped. [id:4014]

失敗およびリストア-部分的なレポート サーバー

レポート サーバーが部分的なサービスに行く複数のシナリオがあります。 ただし、部分的なサービスは問題があることを必ずしも意味します。

レポート サーバー失敗

レポート サーバーが壊れた場合、レポート サーバーに向かうメッセージはコール サーバによって、メモリで、200,000 までのメッセージ バッファリングされます。 後制限が達すること、すべての新しいメッセージ詳細情報は廃棄されます。

注: UCS プラットフォームに関しては、バーチャル プラットフォームの詳報およびコール負荷を最大化するためにレポート サーバーで設定 する レシーブ バッファの数を修正して下さい。 OS をインストールした後この設定が修正されなければ、メッセージは CallServer でバックアップし、メッセージ キューは充満します。 それから Calls Per Second （CPS） 比率の急降を参照します。

4096 にレポート サーバー TCP 設定のレシーブ バッファの数を設定 するためにこれらのステップを踏んで下さい（最大値）:

1. レポート サーバーで、> ネットワーク接続『Control Panel』 をクリック して下さい。

2. ネットワーク接続を右クリックして下さい。

3. [Advanced] タブをクリックします。

4. Property タブの下で、レシーブ バッファの『Number』 を選択 して下さい。

5. 値 テキストボックスでは、4096 を入力して下さい。

6. レポート サーバーを再起動して下さい。

統一された CVP のための仮想化を参照して下さい: 追加情報のための UCS ネットワーク構成。

データベース接続失敗

データベース接続が失敗した場合、レポート サーバーは簡易ネットワーク管理プロトコル（SNMP）アラートを送信し、ユーザが指定する制限まで耐久性があるファイル（%CVP_HOME% \ tmp \ CVPReporting.tmp）にメッセージを保存し始めます。 この時間の間に、制限の Service.When 75% のレポート サーバー滞在はログ ファイルに、警告書かれています達します。 制限の 100% が達するとき、SNMP アラートは送信され、レポート サーバーは部分的なサービスに入ります。 どの新しいメッセージでも廃棄されるかもしれません。

データベース接続が戻って来るとき、レポート サーバーは復旧モードに（その状態にまだあっていなければ）入り、部分的なサービスに状態を変更します。 それはそれから %CVP_HOME% \ tmp \ CVPReporting.tmp ファイルからのメッセージを読み込み、データベースに託し始めます。 ファイルのサイズによっては、データベースにデータすべてを託すために時間かかるかもしれません。 リカバリの間に入る新しいメッセージはメモリでバッファリングされます。

しかしサーバのモードか状態に関係なくバッファリング レポート サーバーができるメッセージ数への制限があります:

- バッファー内のメッセージの数が 100,000 に達するとき、SNMP アラートはユーザへの警告として送信されます。

- 200,000 のメッセージで、別の SNMP アラートは送信されます、すべての新しいメッセージのための詳細情報は廃棄され、コール、呼出しイベントおよびセッション情報のような基本 データだけ保存されます。 200,000 のメッセージで、レポート サーバーはまた部分的なサービスに（その状態にまだあっていなければ）状態を変更します。

- バッファー内のメッセージの総数が 300,000 に達するとき、別の SNMP アラートは送信され、すべての新しいメッセージはその時から廃棄されます。

- メモリのメッセージ数が 50,000 を下回るとき、示すキューサイズは標準に戻ってあり、レポート サーバーの状態は稼働中に戻ることを SNMP アラートは送信されます。

始動で存在 する耐久性があるファイルが部分的なサービスにレポート サーバーとどまり、復旧モードに入れば。

未完成コール

レポート サーバーはまた部分的なサービスに未完成コールを回復とき行くことができます。

このメッセージはレポート サーバー ログで見られます:

%CVP_8_0_RPT-1-REPORTING_STATE_CHANGE:  REPORTING Subsystem state changed to

RPT SS RPT1 changes its state to Partial Service cause Unfinished calls

recovery started [id:4001]

ログはまたこれらのコールのリカバリについての情報が含まれています。 リカバリプロセスが長時間をかけることができることを覚えていて下さい!

%CVP_8_0_RPT-6-REPORTING_INFO:  Recover Uncompleted call: 73

CallGUID:90DAAAC91000013C01075FC253EF37A4 Event Id: 11 CauseId: 0 [id:4000]

...

%CVP_8_0_RPT-6-REPORTING_INFO:  Recover Uncompleted call:

129 CallGUID:673A58361000013C087A209E53EF37A5 Event Id: 0 CauseId: 0 [id:4000]

未完成コールが完了すれば、これらのメッセージは見られ、レポート サーバーは稼働中状態に戻ります:

%CVP_8_0_RPT-6-REPORTING_INFO:  Recover CallRegistry finished [id:4000]

%CVP_8_0_RPT-6-REPORTING_INFO:  initKeepAliver() -- processed unfinished calls

[id:4000]

%CVP_8_0_RPT-1-REPORTING_STATE_CHANGE:  REPORTING Subsystem state changed to RPT

SS RPT1 changes its state to In Service cause Normal Operation [id:4001]

復旧モード

リカバリプロセスを避け、レポート サーバー稼働中を思い出させるために %CVP_HOME% \ tmp \ CVPReporting.tmp ファイルを取除くことができます。 このプロシージャはリカバリプロセスをバイパスする方法を記述します:

1. CVP コール サーバサービスを停止して下さい。

2. %CVP_HOME% \ tmp にナビゲートして下さい。

3. CVPReporting.tmp ファイルの名前を変更して下さい。

4. CVP コール サーバサービスを開始して下さい。

参照して下さい Cisco バグ ID CSCtu43570 を、「CVPReporting.tmp なり、サイズ制限を越えて回復時機を得ている」。 新しいコール レポート データはファイルが完全に読み込むことができなかったので失われました。 「ディスク領域」から結局状態を引き起こしたハード ドライブはいっぱいになっていました。

この問題は統一された CVP 8.5(1)SR18 および 8.5(1)SR6 レポート データベースで解決されました。

トレース レベルおよびログ ファイル

レポート サーバー ログのトレース レベルを設定 するために <install_dir> \ Cisco \ CVP を\ CONF \ reporting.properties ファイル編集して下さい。 次に例を示します。

RPT.traceMask = 0x810000

RPT.logLevel = DEBUG

集約機能デバッグおよびログ

要約 使用 ciscoadmin データベースの 2 つの表: agg_schedule および agg_statements。

<CVP_HOME> \ログ\ reporting.txt ファイルは集計が動作したかどうか示します。

このプロシージャは aggregator.bat ジョブのための追加トレースを有効に する方法を記述します:

1. 最低 15 分を待って下さい。

2. <CVP_HOME> \ビン\ aggregator.bat ファイルを編集して下さい。 このデフォルトから .bat ファイルの値を変更して下さい:

echo call sp_sched_agg(); | dbaccess ciscoadmin

次のようにします。

echo call sp_sched_agg('D'); | dbaccess ciscoadmin

デバッグ ログは CVP_HOME> \ログ\ Agg_Debug.out ファイルに書かれます。

データベース領域問題

注: この領域問題は異なる実装で見られました。 この問題へのソリューションが Informix の深い専門知識を含むので、この問題に直面する場合 Cisco Technical Assistance Center （TAC）に連絡して下さい。

このプロシージャはトラブルシューティング プロセスを説明します:

1. 統一された CVP 8.0(1) レポート データベースにアップグレードして下さい。

2. CVP_Database_Config.bat ファイルを実行し、問題を参照して下さい:

3. c:\temp\cvpupg.sql ファイルを検討して下さい。 内容は次のとおりです:

call upg_est(); UNLOAD to "c:/temp/upgvars.out" SELECT estimate1,estimate2,

retention,log_space_needed,minlog,maxlog FROM cvp_data:upg_estimate;

4. データベースへの接続応答。 upg_estimate 表をチェックするように試みるときありません。

5. c:\Temp\CiscoUnifiedCVPDB.log ファイルをチェックし、これらのエラーを参照して下さい:

23:41:54 Wed Dec 19 2012 : dbaccess cvp_data

C:\Cisco\CVP\informix_frag\upg_est.sql

Database selected.

312: Cannot update system catalog (sysprocbody).

131: ISAM error: no free disk space

Error in line 26

Near character position 11

23:41:54 Wed Dec 19 2012 : dbaccess cvp_data c:/temp/cvpupg.sql 2>NUL

Database selected.

206: The specified table (upg_estimate) is not in the database.

6. upg_est.sql をチェックして下さい。 upg_estimate 表の内容は次のとおりです:

SELECT COUNT(*)

INTO tmp_int

FROM systables

WHERE tabname='upg_estimate';

IF tmp_int=0 THEN

CREATE TABLE upg_estimate (

estimate1 INTERVAL HOUR TO MINUTE,

estimate2 INTERVAL HOUR TO MINUTE,

retention SMALLINT,

log_space_needed INTEGER,

minlog INTEGER,

maxlog INTEGER

);
しかし、この表は作成されません。

7. DBAccess に接続し、このクエリを実行して下さい:

SELECT COUNT(*) FROM systables     WHERE tabname='upg_estimate';
クエリは 0 を戻します、従って表は作成する必要があります。

8. DBAccess で表を手動で作成することを試みて下さい:

CREATE TABLE upg_estimate (

estimate1 INTERVAL HOUR TO MINUTE,

estimate2 INTERVAL HOUR TO MINUTE,

retention SMALLINT,

log_space_needed INTEGER,

minlog INTEGER,

maxlog INTEGER

);
エラー メッセージを受け取ります:

261: Cannot Create file for table (informix.upg_estimate).

131: ISAM error: no free disk space

9. onstat - d コマンドを実行し、最後の固まりに十分なスペースがないことを確認して下さい:

10. 「Informix」ユーザとして CVP Informix ボックスへのログイン。

11. E:\ifmxdata\cvp_db_wp17cvprpt1a\ の下で new_space と呼ばれる新しい空のファイルを作成して下さい。 コマンド プロンプトを開き、これらのコマンドを入力して下さい。 コピー アンド ペーストしないで下さい:

onspaces -a cvp_data_dbspace -

E:\ifmxdata\cvp_db_wp17cvprpt1a\cvp_data_dbspace\new_space -o 0 -s 10240

注: - s は新しいチャンクのサイズを表示し、KB で与えられます。 100 MB に関しては、100 時* 1024 = 102400 です。

このコマンドは CVP Informix サーバに dbspace の 100 MB を追加します。

12. CVP_Database_Config.bat ファイルを再実行して下さい。 それは今きちんとはたらきます。

この例に DBAccess とデータベースに接続する方法を示されています: