Contenu

Introduction

Tableaux de base de données

Tableaux de résumé et d'agrégat

Différences entre la base de données 8.x et 9.0 signalante CVP

Signaler la surcharge de serveur

Dépannage

Panne et restauration - Signalant le serveur partiel

Signaler la panne de serveur

Panne de Connexion de la base de données

Appels non finis

Mode de reprise

Niveau et fichiers journal de suivi

Debugs et logs d'agrégateur

Questions de l'espace de base de données

Introduction

Ce document donne un aperçu du serveur d'enregistrement du Portail Cisco Unified Customer Voice (CVP) et offre des étapes de dépannage.

- Le service de création de rapports reçoit des données d'enregistrement du service du Cisco Unified IP Interactif Voice Response (RVI), du service de Protocole SIP (Session Initiation Protocol) (si utilisé), et du serveur de la Voix XML (VXML) de Cisco Unified CVP. Le service alors transforme et écrit les données à la base de données d'enregistrement d'Informix, qui sert de rapport historique dans un environnement de centre d'appels.

- Le service de création de rapports analyse alors ces messages, les convertit en séries de déclarations applicables du SQL (SQL), et les exécute dans une base de données SQL par l'intermédiaire de la Connectivité de base de données de Javas (JDBC) API.

Tableaux de base de données

Des tables CVP sont classées par catégorie en tant que :

- Tables d'appel

- Tables VXML

- Tables de résumé/agrégat

- Tables de consultation et de référence

- Tables de rappel de courtoisie

Les appels commencent à la table d'appel et sont liés à la table de VXMLSession par la colonne de CallGUID.

Note: CVP unifiés DateTimes sont enregistrés comme temps UTC ; l'exception est un dbdatetime, qui est enregistré comme heure locale. Localtimezoneoffset est une colonne dans la table d'appel qui contient le nombre de décalage de minutes d'UTC afin de dériver l'heure locale. Ceci peut être utilisé comme intervalle.

Tableaux de résumé et d'agrégat

Le serveur unifié d'enregistrement CVP inclut un processus récapitulatif qui agrège des données des tables d'appel et de VXMLElement dans de nouveaux tableaux synoptiques.

Les tableaux synoptiques d'enregistrement sont :

- ApplicationSummary_15

- ApplicationSummary_Daily

- ApplicationSummary_Weekly

- ApplicationSummary_Monthly

- Call_15

- Call_Daily

- Call_weekly

Les tables sont créées ont basé sur ce programme :

- Des tables quotidiennes sont remplies pendant un jour derrière les 15 tables minute.

- Des tables hebdomadaires sont remplies des tables quotidiennes, une fois que ceux ont été entièrement remplis pour la semaine en question.

- Des tables mensuelles sont remplies des tables hebdomadaires, une fois que ceux ont été entièrement remplis pour le mois en question.

Voir l'ID de bogue Cisco CSCue65248, « CVP signalant les tableaux synoptiques ne sont pas remplis. » Dans le serveur d'enregistrement CVP, les tableaux synoptiques ne sont pas remplis. La question est provoqué par par le script pour le résumé mensuel, qui a été introduit dans CVP 9.0.

Différences entre la base de données 8.x et 9.0 signalante CVP

Le CVP unifié 9.0(1) signalant la base de données est pris en charge seulement sur le serveur R2 de Windows 2008. Puisque la base de données unifiée d'enregistrement CVP 8.x est prise en charge par Windows 2003, il n'y a aucune mise à jour directe au CVP unifié 9.0(1) signalant la base de données.

Pour des instructions de transfert, voyez le guide d'installation. Notez cela :

- Le composant de serveur d'enregistrement ne peut pas être installé si l'ordinateur est déjà une partie du domaine.

- Le composant de serveur d'enregistrement ne peut pas être installé sur un serveur qui fait partie d'un domaine. L'installation du composant exige que les stratégies de sécurité locale ont la priorité plus élevée que les mêmes stratégies de sécurité dans la console de stratégie de groupe, qui n'est pas possible si le serveur fait partie d'un domaine. Cependant, après installation, le serveur peut être ajouté de nouveau au domaine parce que ceci n'exige d'aucune stratégie locale d'être menée sur le serveur.

Les différences dans des tâches d'installation de courrier incluent :

- 4.x, base de données de l'enregistrement 7.x - Procédure de connexion en tant qu'utilisateur d'Informix, et exécuté ces fichiers batch :

- ReportingRunAsInformix.bat.

- ReportingRunAsCVP_DbAdmin.bat.

- base de données de l'enregistrement 8.x - Procédure de connexion en tant qu'utilisateur d'Informix, et exécuté ce fichier batch :

- CVP_Database_Config.bat.

- base de données de l'enregistrement 9.x - Aucun fichier batch n'est exigé en tant qu'élément du processus d'installation de courrier.

Une différence principale dans les utilisateurs est que, avec 9.x, il n'y a plus d'utilisateur d'Informix. Au lieu de cela, l'utilisateur de cvp_dbadmin est le propriétaire de la base de données.

Signaler la surcharge de serveur

Les serveurs d'enregistrement de Cisco MCS-7845 peuvent manipuler 420 messages par seconde.

Employez cette équation afin de déterminer le nombre de messages d'enregistrement générés par seconde pour chaque application de VoiceXML :

A# = %CPS * CPS * MSG

where:

- %CPS = le pourcentage des appels qui utilisent cette application de VoiceXML

- CPS = le nombre d'appels par seconde

- MSG = le nombre de messages d'enregistrement que cette application génère

Employez cette équation afin d'ajouter les messages générés par chaque application :

A(total) = A1+ A2+?..+An

là où A(total) est le nombre total de messages d'enregistrement générés par seconde par vos applications de VoiceXML.

Le nombre de messages d'enregistrement par élément ou activité est dans le tableau 17 dedans de la version de la conception de réseaux de référence de solution du Portail Cisco Unified Customer Voice (CVP) (SRND) 9.0(1).

Pour la simplicité, vous pouvez employer cette requête afin de calculer nombre de messages moyen écrits à la table de vxmlsession pour une seconde :

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

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

Exécutez cette requête contre ces 14 tables :

1. Appel

2. CallEvent

3. CallICMInfo

4. OutgoingECCVariable (CCB associés)

5. VXMLCustomContent

6. VXMLElement

7. VXMLElementDetail

8. VXMLElementFlag

9. VXMLError

10. VXMLHotEvent

11. VXMLHotLink

12. VXMLSession

13. VXMLSessionVariable

14. VXMLVoiceInteractDetail

Ajoutez les résultats afin d'obtenir nombre de messages moyen par seconde reçu par le serveur d'enregistrement.

Dépannage

Si le serveur d'enregistrement est surchargé, les logs d'enregistrement contiennent ces alertes :

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]

Panne et restauration - Signalant le serveur partiel

Il y a plusieurs scénarios où le serveur d'enregistrement va au service partiel. Cependant, le service partiel ne signifie pas nécessairement qu'il y a un problème.

Signaler la panne de serveur

Si le serveur d'enregistrement échoue, des messages destinés pour le serveur d'enregistrement sont mis en mémoire tampon par le serveur d'appel, dans la mémoire, jusqu'à 200,000 messages. Ensuite que la limite est atteinte, toutes les nouvelles informations détaillées de message sont abandonnées.

Note: Pour des Plateformes UCS, vous devez modifier le nombre de mémoires tampons Receive plaçant sur le serveur d'enregistrement afin de maximiser le plein enregistrement et appeler le chargement sur la plate-forme virtuelle. Si cette configuration n'est pas modifiée après que vous installiez le SYSTÈME D'EXPLOITATION, les messages sauvegardent sur le CallServer, et les files d'attente de messages se remplissent. Vous voyez alors une diminution sensible dans les appels par débit de la seconde (CPS).

Prenez ces mesures afin de placer le nombre de mémoires tampons Receive sur les configurations de TCP de serveur d'enregistrement à 4096 (maximum) :

1. Sur le serveur d'enregistrement, panneau de configuration > connexion réseau de clic.

2. Connexion réseau de clic droit.

3. Cliquez sur l'onglet Advanced.

4. Sous l'onglet Propriétés, sélectionnez le nombre de mémoires tampons Receive.

5. Dans la zone de texte de valeur, écrivez 4096.

6. Redémarrez le serveur d'enregistrement.

Référez-vous à la virtualisation pour CVP unifié : Configuration réseau UCS pour information les informations complémentaires.

Panne de Connexion de la base de données

Si la Connexion de la base de données échoue, le serveur d'enregistrement envoie une alerte et des débuts de Protocole SNMP (Simple Network Management Protocol) pour enregistrer des messages à un fichier persistant (%CVP_HOME% \ tmp \ CVPReporting.tmp) jusqu'à une limite personnalisée par l'utilisateur. Pendant ce temps, le serveur d'enregistrement que des séjours dans Service.When 75% de la limite est atteints, un avertissement est écrit au fichier journal. Quand 100% de la limite est atteint, une alerte SNMP est envoyée, et le serveur d'enregistrement entre dans le service partiel. Tous les nouveaux messages pourraient être abandonnés.

Quand la Connexion de la base de données se réactive, le serveur d'enregistrement entre dans le mode de reprise et change son état au service partiel (s'il n'est pas dans cet état déjà). Il puis débuts pour lire des messages à partir du fichier de %CVP_HOME% \ tmp \ CVPReporting.tmp et pour les investir dans la base de données. Selon la taille du fichier, il peut prendre des heures pour investir toutes les données dans la base de données. Nouveaux messages qu'entré pendant la reprise sont mis en mémoire tampon dans la mémoire.

Il y a, cependant, une limite à nombre de messages que le serveur d'enregistrement peut mettre en mémoire tampon, indépendamment du mode ou de l'état du serveur :

- Quand le nombre de messages mis en mémoire tampon atteint 100,000, une alerte SNMP est envoyée comme avertissement à l'utilisateur.

- À 200,000 messages, une autre alerte SNMP est envoyée, les informations détaillées pour tous les nouveaux messages sont abandonnées, et seulement des données fondamentales comme l'appel, l'événement d'appel, et les informations de session sont gardées. À 200,000 messages, le serveur d'enregistrement change également son état au service partiel (s'il n'est pas déjà dans cet état).

- Quand le nombre total de messages mis en mémoire tampon atteint 300,000, une autre alerte SNMP est envoyée, et tous les nouveaux messages sont abandonnés de ce point en avant.

- Quand nombre de messages dans la mémoire chute de retour en-dessous de 50,000, on envoie une alerte SNMP qui énonce que la taille de file d'attente est de nouveau à la normale, et l'état du serveur d'enregistrement retourne à en service.

Si un fichier persistant existe sur le startup, le serveur d'enregistrement reste dans le service partiel et entre dans le mode de reprise.

Appels non finis

Le serveur d'enregistrement peut également aller au service partiel quand il récupère des appels non finis.

Ce message est vu dans les journaux du serveur d'enregistrement :

%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]

Les logs incluent également des informations sur la reprise de ces appels. Souvenez-vous que le processus de reprise peut prendre un longtemps !

%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]

Des appels une fois non finis sont terminés, ces messages sont vus, et le serveur d'enregistrement retourne à dans l'état de 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]

Mode de reprise

Vous pouvez retirer le fichier de %CVP_HOME% \ tmp \ CVPReporting.tmp afin d'éviter le processus de reprise et rapporter le serveur d'enregistrement en service. Cette procédure décrit comment sauter le processus de reprise :

1. Arrêtez le service de serveur d'appel CVP.

2. Naviguez vers %CVP_HOME% \ tmp.

3. Renommez le fichier CVPReporting.tmp.

4. Commencez le service de serveur d'appel CVP.

Voir l'ID de bogue Cisco CSCtu43570, « CVPReporting.tmp se développe au delà de la limite de taille et n'est pas opportun récupéré. » De nouvelles données d'enregistrement d'appel ont été perdues parce que le fichier ne pourrait pas être complètement indiqué dedans. Le disque dur se remplissait, qui a par la suite entraîné un état « hors d'espace disque ».

Cette question a été réparée base de données dans CVP unifié enregistrement 8.5(1)SR18 et 8.5(1)SR6.

Niveau et fichiers journal de suivi

Éditez le <install_dir> \ Cisco \ CVP \ fichier du conf \ reporting.properties afin de placer le niveau de suivi dans les journaux du serveur d'enregistrement. Voici un exemple :

RPT.traceMask = 0x810000

RPT.logLevel = DEBUG

Debugs et logs d'agrégateur

Les résumés utilisent deux tables dans la base de données de ciscoadmin : agg_schedule et agg_statements.

Le fichier <CVP_HOME> \ logs \ reporting.txt affiche si l'agrégation a fonctionné.

Cette procédure décrit comment activer le suivi supplémentaire pour le travail aggregator.bat :

1. Attente un minimum de 15 minutes.

2. Éditez le fichier <CVP_HOME> \ coffre \ aggregator.bat. Changez la valeur du fichier .bat de ce par défaut :

echo call sp_sched_agg(); | dbaccess ciscoadmin

à :

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

Des logs de debug sont écrits dans le fichier CVP_HOME> \ logs \ Agg_Debug.out.

Questions de l'espace de base de données

Note: Cette question de l'espace a été vue sur différentes réalisations. Puisque la solution à cette question implique des connaissances techniques profondes d'Informix, entrez en contact avec le centre d'assistance technique Cisco (TAC) si vous rencontrez ce problème.

Cette procédure décrit le processus de dépannage :

1. Améliorez au CVP unifié 8.0(1) signalant la base de données.

2. Exécutez le fichier CVP_Database_Config.bat, et voyez la question :

3. Examinez le fichier de c:\temp\cvpupg.sql. Le contenu est :

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

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

4. Connectez à la base de données. Quand vous tentez de vérifier la table d'upg_estimate, elle n'existe pas.

5. Vérifiez le fichier de c:\Temp\CiscoUnifiedCVPDB.log, et voyez les ces erreurs :

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. Contrôle upg_est.sql. Le contenu de la table d'upg_estimate est :

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

);
Mais, cette table n'obtient pas créé.

7. Connectez à DBAccess, et exécutez cette requête :

SELECT COUNT(*) FROM systables     WHERE tabname='upg_estimate';
La requête renvoie 0, ainsi la table devrait avoir été créée.

8. Essayez de créer la table manuellement dans 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

);
Vous recevez le message d'erreur :

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

131: ISAM error: no free disk space

9. Exécutez l'onstat - commande d, et le vérifiez que le dernier bloc n'a pas assez d'espace :

10. Procédure de connexion dans la case CVP Informix en tant qu'utilisateur de « Informix ».

11. Créez un nouveau fichier vide appelé le new_space sous E:\ifmxdata\cvp_db_wp17cvprpt1a\. Ouvrez une invite de commande, et sélectionnez ces commandes. Ne copiez pas et le collez :

onspaces -a cvp_data_dbspace -

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

Note: - s dénote la taille du nouveau bloc et est donné dans le KBS. Pour 100 Mo, il est 100 * 1024 = 102400.

Cette commande ajoute 100 Mo de dbspace au serveur Informix CVP.

12. Réexécutez le fichier CVP_Database_Config.bat. Cela fonctionnera maintenant correctement.

Cet exemple affiche comment se connecter à la base de données à DBAccess :