المحتويات

المقدمة

جداول قاعدة البيانات

الملخص والجداول المجمعة

الاختلافات بين قاعدة بيانات التقارير CVP 8.x و 9.0

التحميل الزائد لخادم التقارير

استكشاف الأخطاء وإصلاحها

الفشل والاستعادة - خادم التقارير جزئي

فشل خادم التقارير

فشل اتصال قاعدة البيانات

المكالمات غير المنتهية

وضع الاسترداد

تتبع مستوى ملفات السجل

سجلات وتصحيح المجمع

مشاكل مساحة قاعدة البيانات

المقدمة

يقدم هذا المستند نظرة عامة على خادم التقارير الخاص ب Cisco Unified Customer Voice Portal (CVP) ويقدم خطوات أستكشاف الأخطاء وإصلاحها.

- تتلقى خدمة إعداد التقارير بيانات التقارير من خدمة Cisco Unified IP Interactive Voice Response (IVR) وخدمة بروتوكول بدء جلسة العمل (SIP) (في حالة إستخدامها) وخادم Cisco Unified CVP Voice XML (VXML). ثم تقوم الخدمة بتحويل البيانات وكتابتها إلى قاعدة بيانات Informix Reporting، التي تعمل كإعداد تقارير تاريخية في بيئة مركز الاتصال.

- ثم تقوم خدمة إعداد التقارير بتحليل هذه الرسائل وتحويلها إلى دفعات من عبارات لغة الاستعلام المنظمة (SQL) القابلة للتطبيق، وتقوم بتنفيذها في قاعدة بيانات SQL من خلال واجهة برمجة تطبيقات اتصال قاعدة بيانات Java (JDBC).

جداول قاعدة البيانات

يتم تصنيف جداول CVP على أنها:

- جداول الاتصال

- جداول VXML

- الملخص / جداول التجميع

- جداول البحث والمرجع

- جداول CallBack المجاملة

تبدأ الاستدعاءات في جدول الاستدعاءات ويتم ربطها بجدول VXMLSession بواسطة عمود CallGUID.

ملاحظة: يتم تسجيل أوقات CVP الموحدة كوقت UTC، والاستثناء هو dbDateTime، والذي يتم تسجيله كوقت محلي. LocaltimezoneOffset هو عمود في جدول الاستدعاء يحتوي على عدد الدقائق المقابلة من التوقيت العالمي المنسق (UTC) من أجل اشتقاق التوقيت المحلي. يمكن إستخدام هذا كفاصل زمني.

الملخص والجداول المجمعة

يتضمن خادم تقارير CVP الموحد عملية موجزة تجمع البيانات من جدولي "الاستدعاء" و VXMLElement في جداول ملخصة جديدة.

جداول ملخص التقارير هي:

- ApplicationSummary_15

- ApplicationSummary_Daily

- ApplicationSummary_Weekly

- ApplicationSummary_Monthly

- Call_15

- call_daily

- Call_Weekly

يتم إنشاء الجداول استنادا إلى هذا الجدول الزمني:

- يتم ملء الجداول اليومية بيوم واحد بعد جداول ال 15 دقيقة.

- وتعمر جداول أسبوعية من الجداول اليومية، بمجرد أن تكون هذه الجداول مكتظة بالكامل خلال الأسبوع المعني.

- وتعبأ الجداول الشهرية من جداول أسبوعية، بعد أن تكون قد اكتملت في الشهر المعني.

راجع معرف تصحيح الأخطاء من Cisco 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 - لا يلزم وجود ملفات دفعة كجزء من عملية التثبيت بعد النشر.

هناك أختلاف رئيسي في المستخدمين وهو عدم وجود مستخدم Informix بعد الآن على الإصدار 9.x. بدلا من ذلك، يكون مستخدم cvp_dbadmin هو مالك قاعدة البيانات.

التحميل الزائد لخادم التقارير

يمكن أن تتعامل خوادم التقارير Cisco MCS-7845 مع 420 رسالة في الثانية.

أستخدم هذه المعادلة لتحديد عدد رسائل التقارير التي تم إنشاؤها في الثانية لكل تطبيق VoiceXML:

a# = ٪cps * CPS * MSG

حيث:

- ٪CPS = نسبة المكالمات التي تستخدم تطبيق VoiceXML هذا

- CPS = عدد المكالمات في الثانية

- MSG = عدد رسائل التقارير التي يقوم هذا التطبيق بتوليدها

أستخدم هذه المعادلة لإضافة الرسائل التي تم إنشاؤها بواسطة كل تطبيق:

A(إجمالي) = A1+ A2+؟..+A

حيث يمثل "إجمالي" العدد الإجمالي لرسائل التقارير التي تم إنشاؤها في الثانية بواسطة تطبيقات VoiceXML.

ويرد عدد رسائل الإبلاغ لكل عنصر أو نشاط في الجدول 17 في الإصدار 9.0(1) من تصميم شبكة مرجع حل بوابة الاتصالات الصوتية الموحدة للعملاء (CVP) من Cisco.

للتبسيط، يمكنك إستخدام هذا الاستعلام لحساب متوسط عدد الرسائل المكتوبة إلى جدول vxmlsession لثانية واحدة:

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

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

تشغيل هذا الاستعلام مقابل هذه الجداول ال 14:

1. مكالمة

2. CallEvent

3. CallICMInfo

4. OutgoingECCVariable (مرتبطة ب CCB)

5. VXMLCustomContent

6. VXMLElement

7. VXMLElementDetail

8. VXMLElementFlag

9. VXMLError

10. VXMLHotEvent

11. VXMLHotLink

12. VXMLSession

13. متغير VXMLSession

14. VXMLVoiceInteractionDetail

قم بإضافة النتائج للحصول على متوسط عدد الرسائل في الثانية التي يتم تلقيها بواسطة خادم التقارير.

استكشاف الأخطاء وإصلاحها

في حالة تحميل خادم التقارير بشكل زائد، تحتوي سجلات التقارير على التنبيهات التالية:

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]

الفشل والاستعادة - خادم التقارير جزئي

هناك العديد من السيناريوهات التي يذهب فيها خادم التقارير إلى "الخدمة الجزئية". ولكن الخدمة الجزئية لا تعني بالضرورة ان هنالك مشكلة.

فشل خادم التقارير

في حالة فشل خادم التقارير، يتم تخزين الرسائل الموجهة لخادم التقارير مؤقتا بواسطة خادم الاتصال، في الذاكرة، ما يصل إلى 200000 رسالة. بعد الوصول إلى هذا الحد، يتم إسقاط جميع معلومات تفاصيل الرسالة الجديدة.

ملاحظة: بالنسبة لمنصات UCS، يجب عليك تعديل عدد المخازن المؤقتة للاستقبال الموجودة على خادم التقارير من أجل زيادة التقارير الكاملة وتحميل المكالمات على النظام الأساسي الظاهري إلى الحد الأقصى. في حالة عدم تعديل هذا الإعداد بعد تثبيت نظام التشغيل، يتم إجراء نسخ إحتياطي للرسائل الموجودة على CallServer، وتعبئة قوائم انتظار الرسائل. يمكنك عندئذ مشاهدة انخفاض حاد في معدل المكالمات في الثانية (CPS).

اتبع هذه الخطوات لتعيين عدد المخازن المؤقتة للاستقبال على إعدادات TCP الخاصة بخادم التقارير إلى 4096 (كحد أقصى):

1. في خادم التقارير، انقر فوق لوحة التحكم > اتصال الشبكة.

2. انقر بزر الماوس الأيمن على اتصال الشبكة.

3. انقر فوق علامة التبويب خيارات متقدمة.

4. تحت علامة التبويب "خاصية"، حدد عدد المخازن المؤقتة للاستقبال.

5. في مربع نص القيمة، أدخل 4096.

6. قم بإعادة تشغيل خادم التقارير.

ارجع إلى المحاكاة الظاهرية ل Unified CVP: تكوين شبكة UCS للحصول على مزيد من المعلومات.

فشل اتصال قاعدة البيانات

في حالة فشل اتصال قاعدة البيانات، يرسل خادم التقارير تنبيه بروتوكول إدارة الشبكة البسيط (SNMP) ويبدأ في تخزين الرسائل إلى ملف متواصل (٪CVP_HOME٪\tmp\CVPRereporting.tmp) حتى حد يحدده المستخدم. وخلال هذا الوقت، يبقى خادم التقارير في الخدمة.عند الوصول إلى 75٪ من الحد، يتم كتابة تحذير إلى ملف السجل. عند الوصول إلى 100٪ من الحد، يتم إرسال تنبيه SNMP، ويدخل خادم التقارير في الخدمة الجزئية. قد يتم إسقاط أي رسائل جديدة.

عندما يظهر اتصال قاعدة البيانات مرة أخرى، يدخل خادم التقارير في وضع الاسترداد ويغير حالته إلى "الخدمة الجزئية" (إذا لم يكن في هذه الحالة بالفعل). ثم يبدأ في قراءة الرسائل من ملف ٪CVP_HOME٪\tmp\CVPRereporting.tmp والتزامها بقاعدة البيانات. قد يستغرق تثبيت كافة البيانات في قاعدة البيانات عدة ساعات وفقا لحجم الملف. يتم تخزين الرسائل الجديدة التي تأتي أثناء الاسترداد مؤقتا في الذاكرة.

ومع ذلك، هناك حد لعدد الرسائل التي يمكن لخادم التقارير تخزينها مؤقتا، بغض النظر عن وضع الخادم أو حالته:

- عندما يصل عدد الرسائل المخزن مؤقتا إلى 100000، يتم إرسال تنبيه SNMP كتحذير للمستخدم.

- عند إرسال 200000 رسالة، يتم إرسال تنبيه SNMP آخر، ويتم إسقاط معلومات التفاصيل لجميع الرسائل الجديدة، ويتم الاحتفاظ بالبيانات الأساسية فقط مثل الاتصال وحدث الاتصال ومعلومات جلسة العمل. عند ظهور 200000 رسالة، يقوم خادم التقارير أيضا بتغيير حالته إلى "الخدمة الجزئية" (إذا لم يكن موجودا بالفعل في هذه الحالة).

- عندما يصل العدد الإجمالي للرسائل التي يتم تخزينها مؤقتا إلى 300000، يتم إرسال تنبيه SNMP آخر، ويتم إسقاط جميع الرسائل الجديدة من تلك النقطة للأمام.

- عندما ينخفض عدد الرسائل في الذاكرة إلى أقل من 50000، يتم إرسال تنبيه 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\CVPRereporting.tmp لتجنب عملية الاسترداد وإعادة خادم التقارير إلى الخدمة. يوضح هذا الإجراء كيفية تجاوز عملية الاسترداد:

1. قم بإيقاف خدمة CVP Call Server.

2. انتقل إلى ٪CVP_HOME٪\tmp.

3. أعد تسمية ملف CVPRereporting.tmp.

4. بدء خدمة CVP Call Server.

راجع معرف تصحيح الأخطاء من Cisco CSCtu43570، "ينمو CVPRereporting.tmp خارج حد الحجم ولا يتم إسترداده في الوقت المناسب." تم فقد بيانات تقرير مكالمة جديدة بسبب تعذر قراءة الملف بالكامل. كان محرك الأقراص الثابتة يمتلئ مما تسبب في حالة "عدم توفر مساحة على القرص".

تم إصلاح هذه المشكلة في قاعدة بيانات التقارير الموحدة CVP 8.5(1)SR18 و 8.5(1)SR6.

تتبع مستوى ملفات السجل

قم بتحرير ملف <install_dir>\Cisco\CVP\conf\reporting.properties لتعيين مستوى التتبع في سجلات خادم التقارير. وفيما يلي مثال على هذا:

RPT.traceMask = 0x810000

RPT.logLevel = DEBUG

سجلات وتصحيح المجمع

تستخدم الملخصات جدولين في قاعدة بيانات CiscoAdmin: agg_schedule and agg_statements.

يظهر الملف <CVP_HOME>\log\reporting.txt ما إذا كان التجميع قد تم تشغيله أم لا.

يصف هذا الإجراء كيفية تمكين التتبع الإضافي لوظيفة aggregation.bat:

1. انتظر لمدة 15 دقيقة على الأقل.

2. قم بتحرير ملف <CVP_HOME>\bin\aggregation.bat. قم بتغيير قيمة ملف .bat من هذا الافتراضي:

echo call sp_sched_agg(); | dbaccess ciscoadmin

إلى:

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

تتم كتابة سجلات التصحيح في ملف cvp_home>\log\agg_debug.out.

مشاكل مساحة قاعدة البيانات

ملاحظة: لقد شوهدت مسألة الفضاء هذه في عمليات تنفيذ مختلفة. لأن حل هذه المشكلة يتضمن معرفة فنية عميقة ب Informix، اتصل ب cisco مساعدة التقنية مركز (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. سجل الدخول إلى مربع معلومات CVP كمستخدم 'Informix'.

11. قم بإنشاء ملف فارغ جديد باسم new_space ضمن E:\ifmxdata\cvp_db_wp17cvprpt1a\. افتح موجه الأوامر، وأدخل الأوامر التالية. عدم النسخ واللصق:

onspaces -a cvp_data_dbspace -

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

ملاحظة: يشير-s إلى حجم الجزء الجديد ويتم تحديده بالكيلوبايت. بالنسبة ل 100 ميغابايت، تكون 100 * 1024 = 102400.

يضيف هذا الأمر 100 ميغابايت من dbspace إلى خادم CVP Informix.

12. أعد تشغيل ملف cvp_database_config.bat. والآن سوف يعمل على النحو اللائق.

يوضح هذا المثال كيفية الاتصال بقاعدة البيانات باستخدام DBAccess: