소개
이 문서에서는 UCCX(Cisco Unified Contact Center Express)의 비활성 사용자로 인한 CCXToCUICEngineSyncFailed RTMT Alerts 관련 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco CUIC(Unified Intelligence Center)
- Cisco UCCX(Unified Contact Center Express)
- CUCM(Cisco Unified Communications Manager)
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제
일반적으로 상담원/수퍼바이저가 조직을 떠나거나 새 역할로 이동하여 더 이상 컨택 센터의 일부가 되지 않는 경우
이러한 시나리오에서는 사용자가 CCX에서 삭제된다는 가정하에 CUCM 또는 AD(LDAP 통합용)에서 로컬 사용자를 삭제할 수 있습니다.
그러나 사용자가 CUIC에 여전히 존재합니다. CUIC에서 사용자를 삭제하려고 하면 사용자가 대시보드, 보고서, 사용자 지정 보고서, 값 목록 등과 같은 CUIC의 하나 이상의 엔터티에 대한 소유권을 가지고 있는 경우 실패합니다.
빠른 확인
Cisco Unified Intelligence Center > Configure > Users에 로그인하고 삭제된 사용자를 검색합니다.
이러한 시나리오에서는 CCX와 CUIC 간의 동기화가 실패하여 알림이 트리거됩니다.
RTR: userID:anie의 사용자를 CUIC에 동기화하지 못했습니다. 문제를 해결하려면 sync CLI 명령을 실행하십시오.
앱 ID: Cisco Unified CCX 엔진
클러스터 ID:
노드 ID: uccx-sr
타임스탬프: 2022년 4월 27일 수요일 08:59:08 IST 경보는 4월 27일 수요일 08:59:08 IST 2022에 생성됩니다.
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
다음을 확인합니다.
로그에서
추적을 활성화합니다.
Cisco Unified CCX Serviceability(Cisco Unified CCX 서비스 가용성) > Trace(추적) > Configuration(컨피그레이션)으로 이동하고 Cisco Unified CCX Engine(Cisco Unified CCX 엔진)을 선택하고 추적을 설정합니다.
REST_CLIENT - Debug, Xdebug1
추적을 활성화한 후 변경 사항을 저장합니다.
RTMT에서 Cisco Unified CCX Engine 로그 수집
스니펫
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
CLI에서
1. CLI에서 SQL 쿼리를 실행하여 사용자 ID가 CUIC 데이터베이스(DB)에 있는지 확인합니다.
SQL을 실행하고 ID, 이름, 설명을 cuic_data:cuicuser에서 선택합니다. 여기서 name like '%anie%'.
2. UCCX 관리 페이지에 로그인합니다. User management(사용자 관리) > User View(사용자 보기)로 이동하고 USERID가 없음을 확인합니다.
CUIC에서 사용자를 삭제할 수 있는지 확인합니다. "사용자를 삭제할 수 없습니다. 이 사용자는 하나 이상의 엔터티를 소유하고 있습니다."
솔루션
관찰한 바와 같이 사용자가 하나 이상의 엔티티에 액세스할 수 있는 경우 오류가 발생한 CUIC에서 사용자를 직접 삭제할 수 없습니다
"사용자를 삭제할 수 없습니다. 이 사용자는 하나 이상의 엔터티를 소유하고 있습니다."
사용자가 소유한 엔터티 식별
두 가지 방법으로 사용자가 소유한 엔터티를 식별합니다.
방법 1. DB에 대한 SQL을 직접 사용합니다.
방법 2. Reports(보고서) > Stock(재고) > Intelligence Center Admin(인텔리전스 센터 관리)의 Resource Ownership and Access(리소스 소유권 및 액세스) 보고서를 사용합니다.
방법 1.
SQL 쿼리를 사용하여 경고가 트리거된 사용자 ID를 식별합니다.
admin:run sql select id, name, description from cuic_data:cuicuser where name like '%anie%'
id name description
================================ ======== ===========
6902FD2E100001800000015A0A7FFCD4 CCX\anie
출력에서 사용자 ID를 기록해 두고 SQL 쿼리 목록에서 <userId>로 대체하여 사용자가 소유한 엔터티의 소유권을 가져옵니다.
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>'
SQL 쿼리의 출력에서 사용자는 '에이전트 CSQ 사용자 지정 보고서'라는 이름의 사용자 지정 보고서인 하나의 엔터티에 대한 소유권을 갖습니다.
방법 2.
Reports(보고서) > Stock(재고) > Intelligence Center Admin(인텔리전스 센터 관리자) > Resource Ownership and Access(리소스 소유권 및 액세스) 아래의 'Resource Ownership and Access(리소스 소유권 및 액세스)' 보고서를 사용합니다.
참고: 리소스 소유권 및 액세스 보고서 - 사용자의 보기 액세스 권한과 대시보드, 보고서 및 기타 엔터티와 같은 Unified Intelligence Center 리소스를 사용하는 사용자의 소유권 상태를 설명합니다. 특정 버전의 리소스 소유권 및 액세스 보고서는 소프트웨어 페이지에서 관리자 보안 템플릿의 일부로 사용할 수 있습니다. https://software.cisco.com/download/home/282163829/type/284697222/release/11.5%25281%2529
CUIC에 보고서를 가져옵니다. 사용자에 대해 보고서를 실행하여 CUIC에서 사용자가 소유한 엔터티를 식별합니다.
CUIC에서 사용자 삭제
두 가지 방법을 사용하여 사용자가 소유한 엔터티를 찾았습니다. 다음 단계는 사용자를 삭제하는 것이며, 이는 다음과 같이 이루어질 수 있다
옵션 1. 사용자 별칭의 로그인을 시뮬레이션하려면 다음으로 로그인하고 사용자가 소유한 보고서로 이동하여 삭제합니다. 그러나 다른 사람이 이 보고서를 사용하는지 여부는 알 수 없습니다. 그러나 이 보고서 또는 엔티티가 중요하지 않고 현재 사용되지 않는 경우 이 항목을 삭제할 수 있습니다.
옵션 2. CLI에서 SQL을 사용하여 소유권을 업데이트하고 수퍼 관리자를 이 엔터티의 소유자로 설정합니다.
옵션 1.
수퍼 관리자로 CUIC에 로그인하고 Users(사용자) 섹션으로 이동합니다. 사용자를 검색하고 이미지에 표시된 대로 작업 메뉴에서 실행 옵션을 선택합니다.
수퍼 관리자가 로그인하면 리디렉션되는 페이지를 확인하고 사용자 이름에 대한 로그인을 시뮬레이션할 수 있습니다. 여기에는 자격 증명이 필요하지 않지만 CUIC에서 이를 시뮬레이션합니다. 이 사용자가 없으므로 이 사용자의 직접 로그인이 작동하지 않습니다.
보고서로 이동하여 식별된 보고서 이름을 검색하고 삭제합니다.
보고서가 삭제되면 다음 계정으로 실행을 중지합니다.
CUIC가 수퍼 관리자로 다시 로그인한 상태에서 Users(사용자) 섹션으로 이동한 다음 사용자 비밀번호를 성공적으로 삭제할 수 있어야 합니다.
옵션 2.
이 옵션은 사용자 지정 보고서를 삭제하지 않고 계속 사용할 때 유용합니다. CUIC에 로그인하고 Run As(실행) 옵션을 사용하여 누락된 사용자 계정을 시뮬레이션합니다. 그런 다음 보고서로 이동하고, 보고서를 검색하고, 관리자 또는 보고 사용자에 대한 그룹을 포함하도록 권한을 변경합니다.
CLI에 로그인하여 삭제된 사용자의 소유자 ID를 확인합니다.
이 사용자가 만든 보고서의 소유권을 슈퍼 관리자에게 업데이트합니다.
그림과 같이 sql update cuic_data:cuicReport set owner = '1111111111111111111111111111AAAA'를 실행합니다. 여기서 owner = '6902FD2E100001800000015A0A7FFCD4'를 실행합니다.
슈퍼 관리자로 CUIC에 다시 로그인하고 보고서를 확인합니다.
CUIC에서 사용자를 삭제하십시오. 사용자가 소유한 다른 엔터티가 없기 때문입니다. 이미지에 표시된 대로 Configure > User > Actions Menu > Delete로 이동합니다.
페이지의 오른쪽 하단에 사용자가 성공적으로 삭제되었다는 팝업이 나타납니다.
이렇게 하면 사용자 anie가 CUIC에서 성공적으로 삭제되었습니다.