Introdução
Este documento descreve como usar o Kibana para pesquisar logs específicos entre diferentes serviços do Cisco DNA Center.
Pré-requisitos
Requisitos
Você também deve ter acesso ao Cisco DNA Center através da GUI com FUNÇÃO DE ADMINISTRADOR, você deve estar familiarizado com os nomes e o uso dos serviços do Cisco DNA Center.
Componentes Utilizados
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.
Informações de Apoio
Kibana é um plugin de visualização de dados de código aberto para Elasticsearch. Ele fornece recursos de visualização sobre o conteúdo indexado em um cluster Elasticsearch que está disponível no Cisco DNA Center.
Você pode acessar o Kibana de duas maneiras:
- https://<Cisco DNA Center ip>/kibana
- Menu principal > Sistema > System 360 -> Cluster Tools -> Log Explorer
Página Web padrão do Kibana
Configurar o Kibana para visualização de logs
Navegue até o menu da barra esquerda e clique em Discover:
Kibana tem vários campos, que estão destacados na próxima imagem:
Adicionar campos em Kibana
Navegue até Filtros > Campos disponíveis
Os campos que você deve adicionar para visualização de logs são:
- Kubernetes.labels.serviceName - Serviço que exibe o log específico
- Log - Conteúdo bruto do log
Clique no botão Adicionar
Certifique-se de ter a próxima configuração:
Observação: o campo Hora é adicionado por padrão.
Adicionar e editar filtros no Kibana
Para adicionar um filtro, execute a próxima atividade:
- Clique em Adicionar filtro
- Seleção de campo: Kubernetes.labels.serviceName
- Operador select: is
- Valor: selecione o serviço de seu interesse
- Clique no botão Salvar
Examine o próximo exemplo onde o serviço selecionado é apic-em-inventory-manager-service:
Você pode adicionar mais filtros conforme necessário.
No próximo exemplo, um novo filtro foi adicionado, onde o erro Field:log, operator:is e Value:
Obter logs de uma data específica
Você pode adicionar um elemento de tempo aos seus critérios de pesquisa.
Use uma das próximas opções do campo Intervalo de tempo:
- Absoluto - De uma data específica para outra.
- Relativo - Dos últimos X minutos, horas, dias ou semanas até uma data específica.
- Agora - Definir o horário como "agora" significa que, em cada atualização, esse horário será definido como o horário da atualização.
Casos de uso com Lucene
Lucene é uma biblioteca de mecanismo de pesquisa de texto completo de alto desempenho. É uma tecnologia adequada para praticamente qualquer aplicativo que exija pesquisa de texto completo.
Navegue para a barra de pesquisa e desative o KQL para ativar o Lucene:
Obter logs de um serviço específico
Digite a próxima consulta na barra de filtros e pressione o botão Atualizar
kubernetes.labels.serviceName:<service-name>
Dê uma olhada no próximo exemplo com task-service:
kubernetes.labels.serviceName:task-service
Obter logs que contenham uma palavra específica
Dica: as entradas de log mais comuns que indicam problemas contêm " Erro " , " Falha " e " Exceção "; no entanto, você pode modificar a string para ser qualquer outra string comum que possa orientá-lo na solução de problemas.
Digite a próxima consulta na barra de filtros e pressione o botão Atualizar
log:error
Combine e agrupe sua pesquisa
Você pode pesquisar entradas que correspondam a uma combinação de strings usando AND (ou &&) entre as strings.
log:error AND kubernetes.labels.serviceName:onboarding-service
Observação: nem todos os campos são pesquisáveis.
Se quiser ver apenas campos pesquisáveis no painel Campos disponíveis, selecione a roda dentada e personalize a exibição. Você também pode definir o tipo de pesquisa que deseja usar, por exemplo, string, Booleano, número e assim por diante.
Procurar um erro em dois serviços diferentes ao mesmo tempo
Inclua dois ou mais serviços em seus critérios de pesquisa. Certifique-se de que os nomes dos serviços sejam inseridos entre parênteses e separe-os com OR.
log:error && (kubernetes.labels.serviceName:onboarding-service OR kubernetes.labels.serviceName:telemetry-agent)
Referência