Introduzione
Questo documento descrive come risolvere il problema con CCXToCUICEngineSyncFailed RTMT Alerts a causa degli utenti inattivi su Cisco Unified Contact Center Express (UCCX).
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Cisco Unified Intelligence Center (CUIC)
- Cisco Unified Contact Center Express (UCCX)
- Cisco Unified Communications Manager (CUCM)
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Problema
Generalmente quando un agente/supervisore lascia l'organizzazione o passa a un nuovo ruolo in modo che non faccia più parte del Contact Center.
In uno scenario di questo tipo, è possibile eliminare l'utente locale da CUCM o da AD (per le integrazioni LDAP) presupponendo che l'utente venga eliminato da CCX.
Tuttavia, l'utente esiste ancora su CUIC. Quando si tenta di eliminare l'utente da CUIC, l'operazione non riesce nel caso in cui l'utente abbia la proprietà di una o più entità in CUIC, ad esempio dashboard, report, report personalizzati, elenchi di valori e così via.
Controllo rapido
Accedere a Cisco Unified Intelligence Center > Configure > Users e cercare gli utenti eliminati.
In questo scenario, viene attivato un avviso quando la sincronizzazione tra CCX e CUIC non è riuscita.
RTR L'utente con ID utente:anie non è stato sincronizzato con CUIC. Eseguire il comando sync CLI per risolvere il problema.
ID applicazione: Cisco Unified CCX Engine
ID cluster:
ID nodo: uccx-sr
Timestamp: Mer Apr 27 08:59:08 IST 2022. L'allarme è generato il mercoledì apr 27 08:59:08 IST 2022
Avviso syslog:
At Wed Apr 27 08:59:35 IST 2022 on node uccx-sr; the following SyslogSeverityMatchFound events
generated: SeverityMatch : Alert MatchedEvent : Apr 27 08:59:08 uccx-sr local7 1 : 53:
uccx-sr.cisco.local: Apr 27 2022 03:29:08.290 UTC : %UC_REST_CLIENT-1-UCCX_TO_CUIC_SYNC_FAILED:
%[RTR=User with userID:anie failed to be synced to CUIC. Please run sync CLI command to fix the issue.]
[AppID=Cisco Unified CCX Engine][ClusterID=][NodeID=uccx-sr]: Notification to CUIC failed AppID :
Cisco Syslog Agent ClusterID : NodeID : uccx-sr TimeStamp : Wed Apr 27 08:59:08 IST 2022
Verifica
Da log
Abilitare le tracce.
Passare a Cisco Unified CCX Serviceability > Trace > Configuration, selezionare Cisco Unified CCX Engine e impostare le tracce.
REST_CLIENT - Debug, Xdebug1
Salvare le modifiche dopo aver abilitato le tracce.
Raccolta dei registri Cisco Unified CCX Engine da RTMT
Frammento
1440456: Apr 27 08:59:08.286 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.client.CuicUserMgmtRestClient CuicUserMgmtRestClient.DELETE succeded, result=DELETE https://uccx-sr.cisco.local:8444/cuic/rest/cuicusers returned a response status of 200 OK
1440457: Apr 27 08:59:08.287 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.util.cuic.CuicUserMgmtRestUtils raising alert since deleteUsers API returned some failed users
1440458: Apr 27 08:59:08.287 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.util.cuic.CuicUserMgmtRestUtils Failed users list size1Failed users list : [anie]
1440459: Apr 27 08:59:08.287 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.util.cuic.CuicUserMgmtRestUtils parseFailedUsers ::anie
1440460: Apr 27 08:59:08.291 IST %MIVR-REST_CLIENT-1-UCCX_TO_CUIC_SYNC_FAILED: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.util.cuic.CuicUserMgmtRestUtils Notification to CUIC failed: UCCX TO CUIC SYNC failed for these resources:::=User with userID:anie failed to be synced to CUIC. Please run sync CLI command to fix the issue.
1440461: Apr 27 08:59:08.291 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.uccx.rest.util.cuic.CuicUserMgmtRestUtils Failed users list size1Failed users list : [anie]
1440462: Apr 27 08:59:08.291 IST %MIVR-REST_CLIENT-7-UNK: [MIVR_SS_RM_CONFIG-94-0-CONFIG] com.cisco.wf.admin.iaq.DBIAQConfiguration raiseRTMTAlertOnNotifcationFailure :: Sync API call failed for the userID ::anie
Dalla CLI
1. Dalla CLI, eseguire la query SQL per verificare se l'ID utente esiste nel database CUIC (DB).
Eseguire SQL, selezionare ID, nome, descrizione, da cuic_data:cuicuser dove nome è simile a '%anie%'.
2. Accedere alla pagina UCCX Admin. Passare a Gestione utente > Vista utente e notare che l'ID utente non esiste.
Verificare se è possibile eliminare l'utente da CUIC. Impossibile eliminare l'utente da CUIC con l'errore "Impossibile eliminare l'utente. Questo utente possiede una o più entità."
Soluzione
Come osservato, se l'utente ha accesso a una o più entità, non è possibile eliminarlo direttamente da CUIC con l'errore
"Impossibile eliminare l'utente. Questo utente possiede una o più entità."
Identificare le entità di proprietà dell'utente
Identificare le entità di proprietà dell'utente con due metodi.
Metodo 1. Utilizzo di istruzioni SQL direttamente nel database.
Metodo 2. Utilizzare il rapporto Proprietà risorsa e accesso in Rapporti > Azioni > Amministrazione centro intelligence.
Metodo 1.
Identificare l'ID utente per il quale è stato attivato l'avviso, tramite la query SQL:
admin:run sql select id, name, description from cuic_data:cuicuser where name like '%anie%'
id name description
================================ ======== ===========
6902FD2E100001800000015A0A7FFCD4 CCX\anie
Prendere nota dell'ID utente dell'output e sostituirlo con <userId> nell'elenco delle query SQL per ottenere la proprietà delle entità di proprietà dell'utente.
run sql select Id, name from cuic_data:cuicCategory where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDashboard where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReportDefinition where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReport where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDatasource where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicValueList where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicCollection where Owner = '<userId>' and ValueListId is not null
run sql select Id, ScheduledreportName from cuic_data:cuicScheduledReports where UserId = '<userId>'
Dai risultati delle query SQL è chiaro che l'utente è proprietario di una sola entità, ovvero un report personalizzato denominato "Report personalizzato CSQ agente".
Metodo 2.
Utilizzare il rapporto "Proprietà e accesso alle risorse" in Rapporti > Azioni > Amministrazione centro intelligence > Proprietà e accesso alle risorse.
Nota: Rapporto proprietà e accesso risorse: descrive i diritti di accesso di visualizzazione degli utenti e lo stato di proprietà degli utenti che utilizzano le risorse di Unified Intelligence Center, ad esempio dashboard, report e altre entità. Il report sulla proprietà delle risorse e sull'accesso di una determinata versione è disponibile come parte del modello Admin Security dalla pagina Software; https://software.cisco.com/download/home/282163829/type/284697222/release/11.5%25281%2529
Importare il report in CUIC. Eseguire il report sull'utente per identificare l'entità di proprietà dell'utente sul CUIC.
Elimina l'utente da CUIC
I due metodi consentono di individuare l'entità di proprietà dell'utente. Il passo successivo è eliminare l'utente, che può essere ottenuto come segue
Opzione 1. Accedi come per simulare l'accesso dell'utente e passare al report di proprietà dell'utente ed eliminarlo. Tuttavia, non si sa se qualcun altro utilizza questo report. Tuttavia, se il report o l'entità non è importante e al momento non viene utilizzata, è possibile procedere con l'eliminazione.
Opzione 2. Utilizzare SQL su CLI per aggiornare la proprietà e impostare l'amministratore privilegiato come proprietario di questa entità.
Opzione 1.
Accedere a CUIC con Super Admin e passare alla sezione Utenti. Cercare l'utente e selezionare l'opzione Esegui come dal menu Azione come mostrato nell'immagine.
La pagina viene reindirizzata a quando l'amministratore privilegiato è connesso e si simula l'accesso dell'utente anie. Non sono necessarie credenziali, ma CUIC le simula. L'accesso diretto per questo utente non funziona perché l'utente non esiste.
Passare ai report, cercare il nome del report identificato ed eliminarlo.
Una volta eliminato il report, procedere e arrestare il RunAs.
Dopo aver eseguito il login a CUIC con l'account di amministratore privilegiato, passare alla sezione Utenti ed è necessario essere in grado di eliminare correttamente il file utente.
Opzione 2.
Questa opzione può essere utile se non si desidera eliminare il report personalizzato e continuare a utilizzarlo. Accedere a CUIC e utilizzare l'opzione Esegui come per simulare l'account utente mancante. Passare quindi ai report, cercare i report e modificare le autorizzazioni per includere il gruppo per gli amministratori o gli utenti dei report:
Accedere alla CLI e verificare l'ID proprietario dell'utente eliminato:
Aggiornare all'amministratore privilegiato la proprietà dei report creati da questo utente.
eseguire sql update cuic_data:cuicReport set owner = '11111111111111111111111111AAAA' dove owner = '6902FD2E10000180000015A0A7FFCD4' come mostrato nell'immagine.
Accedere nuovamente a CUIC come amministratore privilegiato e notare il report.
Procedere ora all'eliminazione dell'utente da CUIC. Poiché non esistono altre entità di proprietà dell'utente. Passare a Configura > Utente > Menu Azioni > Elimina come mostrato nell'immagine.
Nella parte inferiore destra della pagina viene visualizzato un popup quando l'utente ha eliminato la pagina.
Ciò conferma che l'utente anie è stato eliminato da CUIC.