이 문서에서는 Cisco CVP(Unified Customer Voice Portal) 보고 서버를 개괄적으로 소개하고 문제 해결 단계를 제공합니다.
CVP 테이블은 다음과 같이 분류됩니다.
CallGUID 열에 의해 Call 테이블에서 시작되며 VXMLSession 테이블에 연결됩니다.
Unified CVP 보고 서버에는 통화 및 VXMLElement 테이블의 데이터를 새 요약 테이블로 집계하는 요약 프로세스가 포함되어 있습니다.
보고 요약 테이블은 다음과 같습니다.
테이블은 이 일정을 기반으로 생성됩니다.
Cisco Bug ID CSCue65248, "CVP 보고 요약 테이블이 채워지지 않음"을 참조하십시오. CVP 보고 서버에서는 요약 테이블이 채워지지 않습니다.이 문제는 CVP 9.0에 도입된 월별 요약 스크립트로 인해 발생합니다.
Unified CVP 9.0(1) 보고 데이터베이스는 Windows 2008 R2 서버에서만 지원됩니다.Unified CVP 8.x 보고 데이터베이스는 Windows 2003에서 지원되므로 Unified CVP 9.0(1) 보고 데이터베이스에 대한 직접 업데이트가 없습니다.
마이그레이션 지침은 설치 가이드를 참조하십시오.참고:
설치 후 작업의 차이점은 다음과 같습니다.
9.x를 사용할 경우 Informix 사용자가 더 이상 없다는 것이 사용자의 주요 차이점입니다.대신 cvp_dbadmin 사용자가 데이터베이스의 소유자입니다.
Cisco MCS-7845 보고 서버는 초당 420개의 메시지를 처리할 수 있습니다.
각 VoiceXML 응용 프로그램에 대해 초당 생성된 보고 메시지 수를 확인하려면 다음 공식을 사용합니다.
A# = %CPS * CPS * MSG
위치:
각 응용 프로그램에서 생성된 메시지를 추가하려면 다음 공식을 사용합니다.
A(합계) = A1+ A2+?..+An
여기서 A(total)는 VoiceXML 애플리케이션에서 초당 생성된 총 보고 메시지 수입니다.
요소 또는 활동당 보고 메시지 수는 Cisco CVP(Unified Customer Voice Portal) SRND(Solution Reference Network Design) 릴리스 9.0(1)의 표 17에 있습니다.
간단히 하기 위해 이 쿼리를 사용하여 vxmlsession 테이블에 기록된 평균 메시지 수를 1초 동안 계산할 수 있습니다.
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]
보고 서버가 Partial Service로 이동하는 시나리오에는 여러 가지가 있습니다.그러나 부분 서비스가 반드시 문제가 있음을 의미하지는 않습니다.
보고 서버가 실패하면 보고 서버로 향하는 메시지는 메모리에서 최대 200,000개의 메시지에 의해 버퍼링됩니다.이 제한에 도달하면 새 메시지 세부 정보 정보가 모두 삭제됩니다.
보고 서버 TCP 설정의 수신 버퍼 수를 4096(최대)으로 설정하려면 다음 단계를 수행합니다.
데이터베이스 연결이 실패하면 보고 서버는 SNMP(Simple Network Management Protocol) 알림을 보내고 사용자가 지정한 제한까지 메시지를 영구 파일(%CVP_HOME%\tmp\CVPReporting.tmp)에 저장하기 시작합니다.이 시간 동안 보고 서버는 계속 작동 중입니다.제한의 75%에 도달하면 로그 파일에 경고가 기록됩니다.제한 100%에 도달하면 SNMP 알림이 전송되고 보고 서버가 부분 서비스로 전환됩니다.새 메시지가 삭제될 수 있습니다.
데이터베이스 연결이 복구되면 보고 서버가 복구 모드로 전환되고 상태가 부분 서비스로 변경됩니다(해당 상태가 아직 해당 상태가 아닌 경우). 그런 다음 %CVP_HOME%\tmp\CVPReporting.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]
완료되지 않은 통화가 완료되면 이러한 메시지가 표시되고 보고 서버는 In Service 상태로 돌아갑니다.
%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 파일을 제거할 수 있습니다.이 절차에서는 복구 프로세스를 우회하는 방법에 대해 설명합니다.
Cisco Bug ID CSCtu43570을 참조하십시오. "CVPReporting.tmp는 크기 제한을 초과하여 적시에 복구되지 않습니다." 파일을 완전히 읽을 수 없으므로 새 통화 보고 데이터가 손실되었습니다.하드 드라이브가 가득 차 결국 디스크 공간 부족 상태가 되었습니다.
이 문제는 Unified 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 및 agg_statements
<CVP_HOME>\logs\reporting.txt 파일은 집계가 실행되었는지 여부를 표시합니다.
이 절차에서는 aggregator.bat 작업에 대해 추가 추적을 활성화하는 방법에 대해 설명합니다.
echo call sp_sched_agg(); | dbaccess ciscoadmin
대상:
echo call sp_sched_agg('D'); | dbaccess ciscoadmin
디버그 로그는 CVP_HOME>\logs\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
이 명령은 CVP Informix 서버에 100MB의 dbspace를 추가합니다.
다음 예에서는 DBAccess를 사용하여 데이터베이스에 연결하는 방법을 보여 줍니다.