Introduction
Este documento descreve como solucionar o problema com CCXToCUICEngineSyncFailed RTMT Alerts devido aos usuários inativos no Cisco Unified Contact Center Express (UCCX).
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco Unified Intelligence Center (CUIC)
- Cisco Unified Contact Center Express (UCCX)
- Cisco Unified Communications Manager (CUCM)
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Problema
Geralmente, quando um agente/supervisor deixa a organização ou muda para uma nova função, de forma que não faça mais parte do Contact Center.
Nesse cenário, você pode excluir o usuário local do CUCM ou do AD (para integrações LDAP) supondo que o usuário seja excluído do CCX.
No entanto, observe que o usuário ainda existe no CUIC. Quando você tenta excluir o usuário do CUIC, ele falha caso o usuário tenha a propriedade de uma ou mais entidades no CUIC, como painel, relatórios, relatórios personalizados, listas de valores e assim por diante.
Verificação rápida
Faça login no Cisco Unified Intelligence Center > Configurar > Usuários e procure os usuários excluídos.
Nesse cenário, um alerta é acionado quando há falha de sincronização entre o CCX e o CUIC.
RTR: O usuário com userID:anie não pôde ser sincronizado com o CUIC. Execute o comando CLI sync para corrigir o problema.
ID do aplicativo: Mecanismo do Cisco Unified CCX
ID do cluster:
ID do nó: uccx-sr
Carimbo de Data/Hora: Qua 27 de abril de 2022 08:59:08 IST 2022. O alarme é gerado no dia 27 de abril 08:59:08 IST 2022
Alerta de 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
Verificar
De Logs
Habilitar rastreamentos.
Navegue até Cisco Unified CCX Serviceability > Trace > Configuration, selecione Cisco Unified CCX Engine e defina os rastreamentos.
REST_CLIENT - Debug, Xdebug1
Salve as alterações depois de ativar os rastreamentos.
Coletar logs do Mecanismo do Cisco Unified CCX do RTMT
Trecho
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
Do CLI
1. Na CLI, execute a consulta SQL para verificar se a ID de usuário existe no banco de dados CUIC (BD).
Execute SQL, selecione ID, nome, descrição, em cuic_data:cuicuser, onde nome como '%anie%'.
2. Faça login na página UCCX Admin. Navegue até Gerenciamento de usuário > Exibição de usuário e observe que a ID de usuário não existe.
Verifique se você pode excluir o usuário do CUIC. O usuário não pode ser excluído do CUIC com o erro "Não é possível excluir o usuário. Este usuário possui uma ou mais entidades."
Solução
Como observado, se o usuário tiver acesso a uma ou mais entidades, você não poderá excluir o usuário diretamente do CUIC com o erro
"Não é possível excluir o usuário. Este usuário possui uma ou mais entidades."
Identificar as Entidades de Propriedade do Usuário
Identifique as entidades de propriedade do usuário com dois métodos.
Método 1. Uso de SQLs diretamente no BD.
Método 2. Use o relatório Propriedade e Acesso a Recursos em Relatórios > Estoque > Administração do Centro de Inteligência.
Método 1.
Identifique o ID de usuário para o qual o alerta foi disparado, com a consulta SQL:
admin:run sql select id, name, description from cuic_data:cuicuser where name like '%anie%'
id name description
================================ ======== ===========
6902FD2E100001800000015A0A7FFCD4 CCX\anie
Anote o ID do usuário na saída e substitua-o por <userId> na lista de consultas SQL para obter a propriedade das entidades de propriedade do usuário.
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>'
A partir das saídas de consultas SQL, fica claro que o usuário possui apenas uma entidade, que é um relatório personalizado chamado "Relatório personalizado da fila do Contact Service do agente".
Método 2.
Use o relatório ‘Propriedade e Acesso a Recursos’ em Relatórios > Estoque > Administração do Intelligence Center > Propriedade e Acesso a Recursos.
Nota: Relatório de Acesso e Propriedade de Recurso - descreve os direitos de acesso de exibição dos usuários e o status de propriedade dos usuários que usam recursos do Unified Intelligence Center, como Painéis, Relatórios e outras entidades. O relatório de Propriedade e Acesso a Recursos de uma determinada versão está disponível como parte do modelo de Segurança Administrativa na página Software; https://software.cisco.com/download/home/282163829/type/284697222/release/11.5%25281%2529
Importe o relatório para o CUIC. Execute o relatório no usuário para identificar a entidade de propriedade do usuário no CUIC.
Excluir o usuário do CUIC
Com os dois métodos, você encontrou a entidade de propriedade do Usuário. A próxima etapa é excluir o usuário, o que pode ser feito da seguinte maneira
Opção 1. Efetue login como para simular o login do usuário anie, navegue até o relatório de propriedade do usuário e exclua-o. No entanto, você não sabe se mais alguém usa esse relatório. Mas, se esse relatório ou entidade não for importante e não estiver sendo usado no momento, você poderá excluir esse relatório ou entidade.
Opção 2. Use SQL no CLI para atualizar a propriedade e fazer do superadministrador o proprietário desta entidade.
Opção 1.
Faça login no CUIC com o Super Admin e navegue até a seção Usuários. Procure o usuário e selecione a opção Executar como no menu Ação como mostrado na imagem.
Você pode observar a página redirecionada para como super administrador está conectado e simular o login para o usuário anie. Isso não requer credenciais, mas o CUIC as simula. O logon direto para este usuário não funciona porque este usuário não existe.
Navegue até relatórios, procure o nome do relatório identificado e exclua-o.
Depois que o relatório for excluído, vá em frente e pare Executar como.
Com o CUIC conectado novamente com o super administrador, navegue até a seção Usuários e você deve ser capaz de excluir com êxito o usuário anie.
Opção 2.
Essa opção pode ser útil quando você não quiser excluir o Relatório personalizado e continuar a usá-lo. Faça login no CUIC e use a opção Executar como para simular a conta de usuário ausente. Em seguida, navegue até relatórios, procure relatórios e altere as permissões para incluir o grupo para administradores ou usuários de relatórios:
Faça login na CLI e verifique a ID do proprietário do usuário que foi excluído:
Atualize a propriedade de todos os relatórios criados por este usuário para o superadministrador.
execute sql update cuic_data:cuicReport set owner = '1111111111111111111111111111AAAA' onde owner = '6902FD2E100001800000015A0A7FFCD4' como mostrado na imagem.
Faça login novamente no CUIC como super administrador e observe o relatório.
Continue para excluir o usuário no CUIC agora. Como não há outras entidades de propriedade do usuário. Navegue para Configurar > Usuário > Menu Ações > Excluir como mostrado na imagem.
No lado inferior direito da página, um pop-up é exibido quando o usuário é excluído com êxito.
Isso confirma que o usuário anie foi excluído com êxito do CUIC.