يقدم هذا المستند نظرة عامة على خادم التقارير الخاص ب Cisco Unified Customer Voice Portal (CVP) ويقدم خطوات أستكشاف الأخطاء وإصلاحها.
يتم تصنيف جداول CVP على أنها:
تبدأ الاستدعاءات في جدول الاستدعاءات ويتم ربطها بجدول VXMLSession بواسطة عمود CallGUID.
يتضمن خادم تقارير CVP الموحد عملية موجزة تجمع البيانات من جدولي "الاستدعاء" و VXMLElement في جداول ملخصة جديدة.
جداول ملخص التقارير هي:
يتم إنشاء الجداول استنادا إلى هذا الجدول الزمني:
راجع معرف تصحيح الأخطاء من Cisco CSCue65248، "لا يتم تعميم جداول ملخص تقارير CVP." في خادم تقارير CVP، لا يتم ملء الجداول الموجزة. سبب المشكلة هو النص البرمجي للملخص الشهري، الذي تم تقديمه في CVP 9.0.
قاعدة بيانات تقارير CVP 9.0(1) الموحدة مدعومة فقط على الخادم Windows 2008 R2. نظرا لأن قاعدة بيانات تقارير CVP 8.x الموحدة مدعومة من قبل Windows 2003، فلا يوجد تحديث مباشر لقاعدة بيانات التقارير الموحدة الخاصة ب CVP 9.0(1).
للحصول على تعليمات الترحيل، راجع دليل التثبيت. لاحظ ما يلي:
تتضمن الفروق في مهام التثبيت ما يلي:
هناك أختلاف رئيسي في المستخدمين وهو عدم وجود مستخدم Informix بعد الآن على الإصدار 9.x. بدلا من ذلك، يكون مستخدم cvp_dbadmin هو مالك قاعدة البيانات.
يمكن أن تتعامل خوادم التقارير Cisco MCS-7845 مع 420 رسالة في الثانية.
أستخدم هذه المعادلة لتحديد عدد رسائل التقارير التي تم إنشاؤها في الثانية لكل تطبيق VoiceXML:
a# = ٪cps * 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:
قم بإضافة النتائج للحصول على متوسط عدد الرسائل في الثانية التي يتم تلقيها بواسطة خادم التقارير.
في حالة تحميل خادم التقارير بشكل زائد، تحتوي سجلات التقارير على التنبيهات التالية:
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 رسالة. بعد الوصول إلى هذا الحد، يتم إسقاط جميع معلومات تفاصيل الرسالة الجديدة.
اتبع هذه الخطوات لتعيين عدد المخازن المؤقتة للاستقبال على إعدادات TCP الخاصة بخادم التقارير إلى 4096 (كحد أقصى):
في حالة فشل اتصال قاعدة البيانات، يرسل خادم التقارير تنبيه بروتوكول إدارة الشبكة البسيط (SNMP) ويبدأ في تخزين الرسائل إلى ملف متواصل (٪CVP_HOME٪\tmp\CVPRereporting.tmp) حتى حد يحدده المستخدم. وخلال هذا الوقت، يبقى خادم التقارير في الخدمة.عند الوصول إلى 75٪ من الحد، يتم كتابة تحذير إلى ملف السجل. عند الوصول إلى 100٪ من الحد، يتم إرسال تنبيه SNMP، ويدخل خادم التقارير في الخدمة الجزئية. قد يتم إسقاط أي رسائل جديدة.
عندما يظهر اتصال قاعدة البيانات مرة أخرى، يدخل خادم التقارير في وضع الاسترداد ويغير حالته إلى "الخدمة الجزئية" (إذا لم يكن في هذه الحالة بالفعل). ثم يبدأ في قراءة الرسائل من ملف ٪CVP_HOME٪\tmp\CVPRereporting.tmp والتزامها بقاعدة البيانات. قد يستغرق تثبيت كافة البيانات في قاعدة البيانات عدة ساعات وفقا لحجم الملف. يتم تخزين الرسائل الجديدة التي تأتي أثناء الاسترداد مؤقتا في الذاكرة.
ومع ذلك، هناك حد لعدد الرسائل التي يمكن لخادم التقارير تخزينها مؤقتا، بغض النظر عن وضع الخادم أو حالته:
في حالة وجود ملف متواصل عند بدء التشغيل، يبقى خادم التقارير في "الخدمة الجزئية" ويدخل في وضع الاسترداد.
كما يمكن لخادم التقارير الانتقال إلى "الخدمة الجزئية" عند إسترداد المكالمات غير المنتهية.
تظهر هذه الرسالة في سجلات خادم التقارير:
%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 لتجنب عملية الاسترداد وإعادة خادم التقارير إلى الخدمة. يوضح هذا الإجراء كيفية تجاوز عملية الاسترداد:
راجع معرف تصحيح الأخطاء من 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:
echo call sp_sched_agg(); | dbaccess ciscoadmin
إلى:
echo call sp_sched_agg('D'); | dbaccess ciscoadmin
تتم كتابة سجلات التصحيح في ملف cvp_home>\log\agg_debug.out.
يصف هذا الإجراء عملية أستكشاف الأخطاء وإصلاحها:
call upg_est(); UNLOAD to "c:/temp/upgvars.out" SELECT estimate1,estimate2,
retention,log_space_needed,minlog,maxlog FROM cvp_data:upg_estimate;
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.
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
);
SELECT COUNT(*) FROM systables WHERE tabname='upg_estimate';يرجع الاستعلام 0، لذلك كان يجب إنشاء الجدول.
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
onspaces -a cvp_data_dbspace -
E:\ifmxdata\cvp_db_wp17cvprpt1a\cvp_data_dbspace\new_space -o 0 -s 10240
يضيف هذا الأمر 100 ميغابايت من dbspace إلى خادم CVP Informix.
يوضح هذا المثال كيفية الاتصال بقاعدة البيانات باستخدام DBAccess:
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
30-Sep-2013 |
الإصدار الأولي |