Introdução
Este documento descreve a configuração básica e a solução de problemas para o recurso de Reprodução em uma integração de servidor DNAC (Digital Network Architecture Center) e CMX (Connected Mobile Experience).
A reprodução faz parte dos serviços de localização CMX, que fornecem localização ao vivo do host final e rastreamento por mapas de piso sem fio que podem ser integrados à funcionalidade do DNA Analytics.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- O DNA Center e o CMX já devem estar integrados.
- O mapa de piso foi adicionado ou importado na seção WebGUI do DNAC > Design > Network Hierarchy.
- Os hosts finais são exibidos no mapa correspondente.
- Fundamentos básicos do linux.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- DNA Center executando a versão 2.1.2.5
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Troubleshooting
Esta seção disponibiliza informações para a solução de problemas de configuração.
DNA Center
Etapa 1. Verificar o status do serviço DNA Maps na CLI do DNAC
$ magctl appstack status | egrep "STATUS|dna-maps-service"
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
fusion dna-maps-service-7dffd9d6b6-58qjb 1/1 Running 3 133d <none>
Seria necessário ter o serviço com o status Pronto e Em Execução.
$ magctl service status dna-maps-service
Name: dna-maps-service-7dffd9d6b6-58qjb
Namespace: fusion
Node:
Start Time: Tue, 01 Dec 2020 19:43:27 +0000
Labels: pod-template-hash=3899858262
serviceName=dna-maps-service
version=7.14.117.62009
Annotations: <none>
Status: Running
IP:
Controlled By: ReplicaSet/dna-maps-service-7dffd9d6b6
Containers:
dna-maps-service:
Container ID: docker://ddbe6999823a6830983611c1900c4a5d255b40b5a1957bef2d2ecddcd606a0b9
Image: maglev-registry.maglev-system.svc.cluster.local:5000/fusion/dna-maps-service:7.14.117.62009
Image ID: docker-pullable://maglev-registry.maglev-system.svc.cluster.local:5000/fusion/dna-maps-service@sha256:0b6510c1c29d260492647b586ffb714f1689ae7ec9d5f63905bb0ad4dac738c9
Ports: 22222/TCP, 11111/TCP
Host Ports: 0/TCP, 0/TCP
State: Running
.
.
.
.
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
.
.
.
.
Events: <none>
Note: É recomendável executar esse conjunto de comandos algumas vezes (a cada 10 minutos) para garantir que o serviço não esteja tendo reinicializações constantes. Caso o serviço esteja sendo recarregado constantemente, consulte o segundo comando para verificar a seção Eventos do último serviço para obter mais detalhes.
Etapa 2. Verificar se o servidor CMX está configurado na interface Web do DNA Center e se pode ser acessado por ping
1. Clique no botão
na parte superior esquerda da GUI da Web do DNAC.
2. Vá para Sistema > Configurações > Servidores DNA Spaces/CMX.
3. Confirme se os servidores CMX foram adicionados à seção correta e marcados como Registered.
4. No DNAC CLI, faça ping no Servidor CMX.
5. Clique no botão
na parte superior esquerda da GUI da Web do DNAC.
6. Vá para Design > Network Settings > Wireless.
7. Confirme na seção DNA Spaces/CMX Servers que o servidor desejado está Selecionado e Salvo na Hierarquia global ou no site desejado.
Etapa 3. Ativar o nível de depuração dos mapas dna
1. Clique no botão
no canto superior esquerdo da GUI da Web do DNAC
2. Vá para Sistema > Configurações > Logs de depuração.
3. Na lista Serviço, selecione dna-maps-service. Em seguida, selecione Debug como Logging Level e defina um carimbo de data/hora.

4. Clique em Salvar e isso inicia automaticamente a depuração do serviço selecionado.
Note: Antes do DNAC versão 2.1.2.x (Wolverine), a execução da depuração de mapas de dna não era suportada através da GUI Web do DNAC. Portanto, é necessário ativar manualmente as depurações de serviço na CLI do DNAC
Para gerar o nível de depuração em dna-maps-service, precisaríamos nos conectar à CLI do DNAC e modificar os parâmetros da API para o valor necessário:
Gerar token de autenticação
$ curl -s -k -u admin -X POST https:///dna/system/api/v1/auth/token | jq -r .Token
Use este comando CURL para habilitar a depuração para o serviço dna-maps. Certifique-se de que a resposta retorne como 200 OK
$ curl -k -i -X POST 'https:///api/v1/dna-maps-service/testing/logging/level?loggingLevel=5 ' --header 'X-Auth-Token:' --form 'Content-Type='
Exemplo:
$ curl -k -i -X POST 'https://x.x.x.x/api/v1/dna-maps-service/testing/logging/level?loggingLevel=5 ' --header 'X-Auth Token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ZjQ2NDZkOGE3NmQ4ZDAwY2UzNzA4ZWYiLCJhdXRoU291cmNlIjoiaW50ZXJuYWwiLCJ0ZW5hbnROYW1lIjoiVE5UMCIsInJvbGVzIjpbIjVmNDY0NmQ4YTc2ZDhkMDBjZTM3MDhlZSJdLCJ0ZW5hbnRJZCI6IjVmNDY0NmQ3YTc2ZDhkMDBjZTM3MDhlYyIsImV4cCI6MTYxODQyNDE3OCwiaWF0IjoxNjE4NDIwNTc4LCJqdGkiOiIwYTU4YWVmYS03ZTgwLTRlOGUtODg4OC0wODBiNTk4ZWM0NTciLCJ1c2VybmFtZSI6ImFkbWluIn0.Li0BGN3VeVRIeWlrUsd94hnQt0xlCx0fJHCAtg0pQ7wx9MMC1UMImcuFabHXUgVmHcDrIAgds5GyBnNaPKfgs9qsvmjhJyVHZdT7_f8YJ2BihkgEokfJbIkcb7Ulp7AqIzceACYpZXeBmfQtDCNDyJveoz1XLaKu69JYzArf8UaPzg3jHVoq9m6N5ohypMC-pmsp87-SbOoD-2x660K7Ankzqqtxw4vhyAp0atcYujPg0-8G4fkOPrLE-Cw6SXb8YonrjWVPbrBwfqENTr6sUj7SrPlH_CVBGzRG20YxaYvn_yeGG8E1pbCgDEK2UjyRaH-FM9BHIqY3TNUIf0mdvQ' --form 'Content-Type='
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Etapa 4. Iniciar a coleta de logs de serviço para análise
$ magctl service logs -rf dna-maps-service | lql
Isso começa a exibir os logs na CLI. É recomendável salvar o log no terminal do aplicativo ou adicionar a opção > log.txt no final do comando para armazenar automaticamente as saídas em um arquivo de log no caminho /home/maglev.
Etapa 5. Dispare a API do DNAC para enviar a solicitação GET ao servidor CMX. Na GUI Web do DNAC
1. Vá para o Mapa onde um host final não funcional está localizado.
2. Clique no ícone azul do host final. Isso abre uma nova guia lateral com as informações do Client 360 com o endereço MAC, IP e informações relacionadas.
3. Clique novamente na guia Reprodução.
Nesse ponto, o DNA Center exibiria na CLI as depurações do serviço de back-end com a conversão entre o DNAC e o servidor CMX.
Exemplo:
|2021-03-31 16:23:13,024 | DEBUG | scheduler-12 | | o.s.web.client.RestTemplate | - Created GET request for "https://x.x.x.x/api/location/v3/clients/count?associatedOnly=true "
|2021-03-31 16:23:13,024 | DEBUG | scheduler-12 | | o.s.web.client.RestTemplate | - Setting request Accept header to [application/xml, text/xml, application/json, application/*+xml, application/*+json]
|2021-03-31 16:23:16,028 | DEBUG | scheduler-12 | | o.s.web.client.RestTemplate | - GET request for "https://x.x.x.x/api/location/v3/clients/count?associatedOnly=true " resulted in 503 (Service Unavailable); invoking error handler
|2021-03-31 16:23:16,030 | ERROR | scheduler-12 | | c.c.a.m.c.p.i.CMXVerificationRestClientImpl | - Error occurred during interaction with CMX to get client counts for CMX IpAddr x.x.x.x org.springframework.web.client.HttpServerErrorException: 503 Service Unavailable at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:89)
~[spring-web-4.3.19.RELEASE.jar:4.3.19.RELEASE] at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:708)
~[spring-web-4.3.19.RELEASE.jar:4.3.19.RELEASE] at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:661)
~[spring-web-4.3.19.RELEASE.jar:4.3.19.RELEASE] at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621)
~[spring-web-4.3.19.RELEASE.jar:4.3.19.RELEASE] at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:539)
~[spring-web-4.3.19.RELEASE.jar:4.3.19.RELEASE] at com.cisco.apicem.maps.cmx.proxy.impl.CMXVerificationRestClientImpl.checkCMXServiceability(CMXVerificationRestClientImpl.java:169)
~[cmx-proxy-7.14.264.62702.jar:7.14.264.62702] at com.cisco.csg.ngmaps.impl.apicem.integration.diagnostic.cmx.CMXDiagnosticJob.diagnose(CMXDiagnosticJob.java:114)
~[classes/:na] at jdk.internal.reflect.GeneratedMethodAccessor118.invoke(Unknown Source) ~[na:na]
Caution: Depois que a solução de problemas for feita, será necessário definir novamente o nível de depuração como padrão caso ele tenha sido configurado na CLI do DNAC
$ curl -k -i -X POST 'https:///api/v1/dna-maps-service/testing/logging/level?loggingLevel=3 ' --header 'X-Auth-Token:' --form 'Content-Type='
Exemplo:
$ curl -k -i -X POST 'https://x.x.x.x/api/v1/dna-maps-service/testing/logging/level?loggingLevel= 3' --header 'X-Auth-Token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ZjQ2NDZkOGE3NmQ4ZDAwY2UzNzA4ZWYiLCJhdXRoU291cmNlIjoiaW50ZXJuYWwiLCJ0ZW5hbnROYW1lIjoiVE5UMCIsInJvbGVzIjpbIjVmNDY0NmQ4YTc2ZDhkMDBjZTM3MDhlZSJdLCJ0ZW5hbnRJZCI6IjVmNDY0NmQ3YTc2ZDhkMDBjZTM3MDhlYyIsImV4cCI6MTYxODQyNDE3OCwiaWF0IjoxNjE4NDIwNTc4LCJqdGkiOiIwYTU4YWVmYS03ZTgwLTRlOGUtODg4OC0wODBiNTk4ZWM0NTciLCJ1c2VybmFtZSI6ImFkbWluIn0.Li0BGN3VeVRIeWlrUsd94hnQt0xlCx0fJHCAtg0pQ7wx9MMC1UMImcuFabHXUgVmHcDrIAgds5GyBnNaPKfgs9qsvmjhJyVHZdT7_f8YJ2BihkgEokfJbIkcb7Ulp7AqIzceACYpZXeBmfQtDCNDyJveoz1XLaKu69JYzArf8UaPzg3jHVoq9m6N5ohypMC-pmsp87-SbOoD-2x660K7Ankzqqtxw4vhyAp0atcYujPg0-8G4fkOPrLE-Cw6SXb8YonrjWVPbrBwfqENTr6sUj7SrPlH_CVBGzRG20YxaYvn_yeGG8E1pbCgDEK2UjyRaH-FM9BHIqY3TNUIf0mdvQ' --form 'Content-Type='
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Informações Relacionadas