O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve as diferentes ferramentas disponíveis para solucionar problemas de produtos Nexus que você pode utilizar para diagnosticar e corrigir um problema.
É importante entender quais ferramentas estão disponíveis e em que cenário você as usaria para obter o máximo de ganho. Na verdade, algumas vezes uma determinada ferramenta não é viável simplesmente porque é projetada para trabalhar em outra coisa.
Esta tabela compila as várias ferramentas para solucionar problemas na plataforma Nexus e seus recursos. Para obter detalhes e exemplos de CLI, consulte a seção Nexus Tools.
FERRAMENTAS |
FUNÇÃO |
EXEMPLOS DE CASOS DE USO |
PROS |
CONS |
PERSISTÊNCIA |
PLANO AFETADO |
COMANDOS CLI USADOS |
Ethanalyzer |
Capturar o tráfego destinado à CPU ou proveniente dela. |
Problemas de lentidão de tráfego, latência e congestionamento |
Excelente para problemas de lentidão, congestionamento e latência. |
Geralmente vê apenas o tráfego do plano de controle, taxa limitada. |
N/A |
Plano de controle. Pode ser usado para plano de dados em alguns cenários (SPAN para CPU). |
#ethanalyzer interface local inband #ethanalyzer local interface [interface ID] display filter [WORD] exemplo: #ethanalyzer ICMP de filtro de exibição de Ethernet 6/4 da interface local |
SPAN | Capture e espelhe vários pacotes. |
Falha no ping s, pacotes fora de ordem e assim por diante. |
Excelente para perda intermitente de tráfego. |
Requer um dispositivo externo que execute o software farejador Requer recursos TCAM. |
A sessão de SPAN precisa ser configurada e ativada/desativada. |
Controle + Dados |
#monitor session [#] #description [NAME] #source interface [port ID] #destination interface [port ID] #no shut |
DMirror |
Capture o tráfego destinado à CPU ou proveniente dela somente para dispositivos Broadcom Nexus. |
Problemas de lentidão de tráfego, latência e congestionamento. |
Excelente para problemas de lentidão, congestionamento e latência. |
Somente para dispositivos Broadcom Nexus. Taxa limitada (o CloudScale Nexus 9k tem SPAN para CPU) |
N/A |
Plano de controle. Pode ser usado para plano de dados em alguns cenários. |
Varia de acordo com a plataforma, consulte |
ELAM |
Captura um único pacote que entra [ou sai, se Nexus 7K] do switch Nexus |
Verifique se o pacote alcança o Nexus, verifique as decisões de encaminhamento, verifique se há alterações no pacote, verifique a interface/VLAN do pacote e assim por diante. |
Excelente para problemas de fluxo e encaminhamento de pacotes. Não intrusivo |
Requer compreensão profunda do hardware. Utiliza mecanismos de acionamento exclusivos que são específicos da arquitetura. Útil somente se você souber qual tráfego deseja inspecionar. |
N/A |
Controle + Dados |
# attach module [MODULE NUMBER] # debug platform internal <> |
Packet Tracer do Nexus 9k |
Detecta o caminho do pacote. |
Problemas de conectividade e perda de pacotes. |
Fornece contador para estatísticas de fluxo úteis para perda intermitente/completa. Perfeito para placas de linha sem entalhes TCAM. |
Não é possível capturar o tráfego ARP. Só funciona para o Nexus 9k. |
N/A |
Dados + controle |
# test packet-tracer src_IP [SOURCE IP] dst_IP [DESTINATION IP] # test packet-tracer start # test packet-tracer stop # test packet-tracer show |
Traceroute |
Detecta o caminho do pacote em relação aos saltos de L3. |
Falha nos pings, não é possível acessar host/destino/internet e assim por diante. |
Detecta os vários saltos no caminho para isolar falhas de L3. |
Identifica apenas onde o limite L3 foi quebrado (não identifica o problema em si). |
N/A |
Dados + controle |
# traceroute [IP DE DESTINO] Os argumentos incluem: porta, número da porta, origem, interface, vrf, interface de origem |
Ping |
Teste a conectividade entre dois pontos em uma rede. |
Teste a acessibilidade entre os dispositivos. |
Uma ferramenta rápida e simples para testar a conectividade. |
Apenas identifica se o host está acessível ou não. |
N/A |
Dados + controle |
# ping [DESTINATION IP] Os argumentos incluem: contagem, tamanho do pacote, interface de origem, intervalo, multicast, loopback, tempo limite |
PACL/RACL/VACL |
Capturar a entrada/saída de tráfego em uma determinada porta ou VLAN |
Perda intermitente de pacotes entre hosts, confirme se os pacotes chegam/saem do Nexus e assim por diante. |
Excelente para perda intermitente de tráfego. |
Requer recursos TCAM. Para alguns módulos é necessário o entalhe TCAM manual. |
Persistente (aplicado à configuração atual) |
Dados + controle |
# ip access-list [ACL NAME] # ip port access-group [ACL NAME] # ip access-group [ACL NAME] Os argumentos incluem: deny, fragments, no, permit, remark, show, statistics, end, exit, pop, push, where |
LogFlash |
Armazena globalmente dados históricos para o switch, como logs de contas, arquivos de travamento e eventos, independentemente da recarga do dispositivo. |
Recarga/desligamento repentino do dispositivo, sempre que um dispositivo é recarregado, os dados de log flash fornecem algumas informações que podem ser úteis na análise. |
As informações são retidas na recarga do dispositivo (armazenamento persistente). |
Externo no Nexus 7K = Deve ser instalado/integrado na plataforma do supervisor para que esses registros sejam coletados (con não se aplica a 3K/9K, pois logflash é uma partição do dispositivo de armazenamento interno). |
Reload-Persistent |
Dados + controle |
# dir logflash: |
OBFL |
Armazena dados históricos em um módulo específico, como informações sobre falhas e ambiente. |
Recarregamento/desligamento repentino do dispositivo, sempre que um dispositivo é recarregado, os dados do flash de registro fornecem algumas informações que podem ser úteis. |
As informações são retidas na recarga do dispositivo (armazenamento persistente). |
Suporta um número limitado de leituras e gravações. |
Reload-Persistent |
Dados + controle |
# show logging onboard module [#] Os argumentos incluem: boot-uptime, card-boot-history, card-first-power-on, counter-stats, device-version, endtime, environmental-history, error-stats, exception-log, internal, interrupt-stats, obfl-history, stat-trace, starttime, status |
Históricos de eventos |
Quando você precisa de informações para um processo específico que está em execução no momento. |
Cada processo no Nexus tem seu próprio histórico de eventos, como CDP, STP, OSPF, EIGRP, BGP, vPC, LACP e assim por diante. |
Solucionar problemas de um processo específico executado no Nexus. |
As informações são perdidas quando o dispositivo é recarregado (não persistente). |
Não Persistente |
Dados + controle |
# show [PROCESS] internal event-history [ARGUMENTO] Os argumentos incluem: Adjacência, cli, evento, inundação, ha, hello, ldp, lsa, msgs, objstore, redistribuição, rib, segrt, spf, spf-trigger, statistics, te |
Debugs |
Quando você precisa de informações em tempo real/ao vivo mais granulares para um processo específico. |
A depuração em todos os processos no Nexus pode ser feita, como CDP, STP, OSPF, IGRP, BGP, vPC, LACP e assim por diante. |
Solucionar problemas de um processo específico em execução no Nexus em tempo real para obter mais granularidade. |
Pode afetar o desempenho da rede. |
Não Persistente |
Dados + controle |
# debug process [PROCESS] exemplo: # debug ip ospf [?] |
OURO |
Fornece Inicialização, tempo de execução e diagnósticos sob demanda nos componentes de hardware (como Módulos de E/S e Supervisor). |
Teste hardware como USB, Bootflash, OBFL, memória ASIC, PCIE, loopback de porta, NVRAM e assim por diante. |
Pode detectar falhas no hardware e tomar as ações corretivas necessárias somente na versão 6(2)8 e posterior. |
Detecta apenas problemas de hardware. |
Não Persistente |
N/A |
# show diagnostic content module all # show diagnostic description module [#] test all |
EEM |
Monitore eventos no dispositivo e tome as ações necessárias. |
Qualquer atividade de dispositivo que exija alguma ação/solução/notificação, como desligamento da interface, mau funcionamento do ventilador, utilização da CPU e assim por diante. |
Suporta scripts Python. |
É necessário ter privilégios de administrador de rede para configurar o EEM. |
O script e o acionador do EEM residem na configuração. | N/A |
Varia, consulte |
Se precisar de mais esclarecimentos sobre vários comandos e sua sintaxe ou opções, consulte Switches Cisco Nexus 9000 Series - Referências de comandos - Cisco.
O Ethanalyzer é uma ferramenta NX-OS projetada para capturar o tráfego da CPU dos pacotes. Qualquer coisa que atinja a CPU, seja de ingresso ou saída, pode ser capturada com essa ferramenta. Ele é baseado no amplamente utilizado analisador de protocolo de rede de código aberto Wireshark. Para obter mais detalhes sobre essa ferramenta, consulte o Guia de solução de problemas do Ethanalyzer no Nexus 7000 - Cisco
É importante observar que, em geral, o Ethanalyzer captura todo o tráfego de e para o supervisor. Ou seja, ele não suporta capturas específicas de interface. Melhorias específicas de interface estão disponíveis para plataformas selecionadas em pontos de código mais recentes. Além disso, o Ethanalyzer captura apenas o tráfego que é comutado pela CPU, e não pelo hardware. Por exemplo, você pode capturar o tráfego na interface inband, na interface de gerenciamento ou em uma porta do painel frontal (onde houver suporte):
Nexus9000_A(config-if-range)# ethanalyzer local interface inband Capturing on inband 2020-02-18 01:40:55.183177 cc:98:91:fc:55:8b -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/cc:98:91:fc:55:80 Cost = 0 Port = 0x800b 2020-02-18 01:40:55.184031 f8:b7:e2:49:2d:f2 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:40:55.184096 f8:b7:e2:49:2d:f5 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:40:55.184147 f8:b7:e2:49:2d:f4 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:40:55.184190 f8:b7:e2:49:2d:f3 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:40:55.493543 dc:f7:19:1b:f9:85 -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/dc:f7:19:1b:f9:80 Cost = 0 Port = 0x8005 2020-02-18 01:40:56.365722 0.0.0.0 -> 255.255.255.255 DHCP DHCP Discover - Transaction ID 0xc82a6d3 2020-02-18 01:40:56.469094 f8:b7:e2:49:2d:b4 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:40:57.202658 cc:98:91:fc:55:8b -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/cc:98:91:fc:55:80 Cost = 0 Port = 0x800b 2020-02-18 01:40:57.367890 0.0.0.0 -> 255.255.255.255 DHCP DHCP Discover - Transaction ID 0xc82a6d3 10 packets captured Nexus9000_A(config-if-range)# ethanalyzer local interface mgmt Capturing on mgmt0 2020-02-18 01:53:07.055100 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:09.061398 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:11.081596 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:13.080874 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:15.087361 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:17.090164 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:19.096518 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:20.391215 00:be:75:5b:d9:00 -> 01:00:0c:cc:cc:cc CDP Device ID: Nexus9000_A(FDO21512ZES) Port ID: mgmt0 2020-02-18 01:53:21.119464 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 2020-02-18 01:53:23.126011 cc:98:91:fc:55:94 -> 01:80:c2:00:00:00 STP RST. Root = 32768/46/84:8a:8d:7d:a2:80 Cost = 4 Port = 0x8014 10 packets captured
Nexus9000-A# ethanalyzer local interface front-panel eth1/1
Capturing on 'Eth1-1'
1 2022-07-15 19:46:04.698201919 28:ac:9e:ad:5c:b8 → 01:80:c2:00:00:00 STP 53 RST. Root = 32768/1/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
2 2022-07-15 19:46:04.698242879 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/1/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
3 2022-07-15 19:46:04.698314467 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/10/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
4 2022-07-15 19:46:04.698386112 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/20/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
5 2022-07-15 19:46:04.698481274 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/30/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
6 2022-07-15 19:46:04.698555784 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/40/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
7 2022-07-15 19:46:04.698627624 28:ac:9e:ad:5c:b8 → 01:00:0c:cc:cc:cd STP 64 RST. Root = 32768/50/28:ac:9e:ad:5c:b7 Cost = 0 Port = 0x8001
Esta saída mostra algumas das mensagens que podem ser capturadas com o Ethanalyzer.
Note: Por padrão, o Ethanalyzer captura apenas até 10 pacotes. No entanto, você pode usar esse comando para solicitar que a CLI capture pacotes indefinidamente. Use CTRL+C para sair do modo de captura.
Nexus9000_A(config-if-range)# ethanalyzer local interface inband limit-captured-frames 0 Capturing on inband 2020-02-18 01:43:30.542588 f8:b7:e2:49:2d:f2 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:30.542626 f8:b7:e2:49:2d:f5 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:30.542873 f8:b7:e2:49:2d:f4 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:30.542892 f8:b7:e2:49:2d:f3 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:31.596841 dc:f7:19:1b:f9:85 -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/dc:f7:19:1b:f9:80 Cost = 0 Port = 0x8005 2020-02-18 01:43:31.661089 f8:b7:e2:49:2d:b2 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:31.661114 f8:b7:e2:49:2d:b3 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:31.661324 f8:b7:e2:49:2d:b5 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:31.776638 cc:98:91:fc:55:8b -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/cc:98:91:fc:55:80 Cost = 0 Port = 0x800b 2020-02-18 01:43:33.143814 f8:b7:e2:49:2d:b4 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:33.596810 dc:f7:19:1b:f9:85 -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/dc:f7:19:1b:f9:80 Cost = 0 Port = 0x8005 2020-02-18 01:43:33.784099 cc:98:91:fc:55:8b -> 01:80:c2:00:00:00 STP RST. Root = 32768/1/cc:98:91:fc:55:80 Cost = 0 Port = 0x800b 2020-02-18 01:43:33.872280 f8:b7:e2:49:2d:f2 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:33.872504 f8:b7:e2:49:2d:f5 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 2020-02-18 01:43:33.872521 f8:b7:e2:49:2d:f4 -> 01:80:c2:00:00:0e LLC U, func=UI; SNAP, OUI 0x00000C (Cisco), PID 0x0134 15 packets captured
Você também pode usar filtros com o Ethanalyzer para se concentrar em tráfego específico. Há dois tipos de filtros que você pode usar com o ethanalzyer. Eles são conhecidos como filtros de captura e filtros de exibição. Um filtro de captura só captura o tráfego que corresponde aos critérios definidos no filtro de captura. Um filtro de exibição ainda captura todo o tráfego, mas somente o tráfego que corresponde aos critérios definidos no filtro de exibição é mostrado.
Nexus9000_B# ping 10.82.140.106 source 10.82.140.107 vrf management count 2 PING 10.82.140.106 (10.82.140.106) from 10.82.140.107: 56 data bytes 64 bytes from 10.82.140.106: icmp_seq=0 ttl=254 time=0.924 ms 64 bytes from 10.82.140.106: icmp_seq=1 ttl=254 time=0.558 ms Nexus9000_A(config-if-range)# ethanalyzer local interface mgmt display-filter icmp Capturing on mgmt0 2020-02-18 01:58:04.403295 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 01:58:04.403688 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 2020-02-18 01:58:04.404122 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 01:58:04.404328 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 4 packets captured
Você também pode capturar pacotes com a opção detail e visualizá-los em seu terminal, semelhante ao que você faria no Wireshark. Isso permite que você veja as informações completas do cabeçalho com base no resultado do setor do pacote. Por exemplo, se um quadro for criptografado, você não poderá ver o payload criptografado. Veja este exemplo:
Nexus9000_A(config-if-range)# ethanalyzer local interface mgmt display-filter icmp detail Capturing on mgmt0 Frame 2 (98 bytes on wire, 98 bytes captured) Arrival Time: Feb 18, 2020 02:02:17.569801000 [Time delta from previous captured frame: 0.075295000 seconds] [Time delta from previous displayed frame: 0.075295000 seconds] [Time since reference or first frame: 0.075295000 seconds] Frame Number: 2 Frame Length: 98 bytes Capture Length: 98 bytes [Frame is marked: False] [Protocols in frame: eth:ip:icmp:data] Ethernet II, Src: 00:be:75:5b:de:00 (00:be:75:5b:de:00), Dst: 00:be:75:5b:d9:00 (00:be:75:5b:d9:00) Destination: 00:be:75:5b:d9:00 (00:be:75:5b:d9:00) Address: 00:be:75:5b:d9:00 (00:be:75:5b:d9:00) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: IP (0x0800) >>>>>>>Output Clipped
Com o Ethanalyzer você pode:
Veja exemplos disso para várias fontes de interface e opções de saída:
Nexus9000_A# ethanalyzer local interface mgmt capture-filter "host 10.82.140.107" write bootflash:TEST.PCAP Capturing on mgmt0 10 Nexus9000_A# dir bootflash: 4096 Feb 11 02:59:04 2020 .rpmstore/ 4096 Feb 12 02:57:36 2020 .swtam/ 2783 Feb 17 21:59:49 2020 09b0b204-a292-4f77-b479-1ca1c4359d6f.config 1738 Feb 17 21:53:50 2020 20200217_215345_poap_4168_init.log 7169 Mar 01 04:41:55 2019 686114680.bin 4411 Nov 15 15:07:17 2018 EBC-SC02-M2_303_running_config.txt 13562165 Oct 26 06:15:35 2019 GBGBLD4SL01DRE0001-CZ07- 590 Jan 10 14:21:08 2019 MDS20190110082155835.lic 1164 Feb 18 02:18:15 2020 TEST.PCAP >>>>>>>Output Clipped Nexus9000_A# copy bootflash: ftp: Enter source filename: TEST.PCAP Enter vrf (If no input, current vrf 'default' is considered): management Enter hostname for the ftp server: 10.122.153.158 Enter username: calo Password: ***** Transfer of file Completed Successfully ***** Copy complete, now saving to disk (please wait)... Copy complete. Nexus9000_A# ethanalyzer local read bootflash:TEST.PCAP 2020-02-18 02:18:03.140167 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 02:18:03.140563 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 2020-02-18 02:18:15.663901 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 02:18:15.664303 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 2020-02-18 02:18:15.664763 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 02:18:15.664975 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 2020-02-18 02:18:15.665338 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 02:18:15.665536 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply 2020-02-18 02:18:15.665864 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request 2020-02-18 02:18:15.666066 10.82.140.106 -> 10.82.140.107 ICMP Echo (ping) reply RTP-SUG-BGW-1# ethanalyzer local interface front-panel eth1-1 write bootflash:e1-1.pcap Capturing on 'Eth1-1' 10 RTP-SUG-BGW-1# ethanalyzer local read bootflash:e1-1.pcap detail Frame 1: 53 bytes on wire (424 bits), 53 bytes captured (424 bits) on interface Eth1-1, id 0 Interface id: 0 (Eth1-1) Interface name: Eth1-1 Encapsulation type: Ethernet (1) Arrival Time: Jul 15, 2022 19:59:50.696219656 UTC [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1657915190.696219656 seconds [Time delta from previous captured frame: 0.000000000 seconds] [Time delta from previous displayed frame: 0.000000000 seconds] [Time since reference or first frame: 0.000000000 seconds] Frame Number: 1 Frame Length: 53 bytes (424 bits) Capture Length: 53 bytes (424 bits) [Frame is marked: False] [Frame is ignored: False] [Protocols in frame: eth:llc:stp]
O SwitchPort Analyzer (SPAN) é usado para capturar todo o tráfego de uma interface e espelhá-lo em uma porta de destino. A porta de destino geralmente se conecta a uma ferramenta de análise de rede (como um PC que executa o Wireshark) que permite analisar o tráfego que atravessa essas portas. Você pode SPAN para tráfego de uma única porta ou de várias portas e VLANs.
As sessões de SPAN incluem uma porta origem e uma porta destino. Uma porta de origem pode ser uma porta Ethernet (sem subinterfaces), canais de porta, interfaces inband do supervisor e não pode ser uma porta de destino simultaneamente. Além disso, para alguns dispositivos como a plataforma 9300 e 9500, as portas FEX (Fabric Extender) também são suportadas. Uma porta de destino pode ser uma porta Ethernet (acesso ou tronco), canal de porta (acesso ou tronco) e, para alguns dispositivos, como as portas de uplink 9300, também são suportadas enquanto portas FEX não são suportadas. destino.
Você pode configurar várias sessões de SPAN para serem uma entrada/saída/ambas. Há um limite para o número total de sessões de SPAN que um dispositivo individual pode suportar. Por exemplo, um Nexus 9000 pode suportar até 32 sessões, enquanto um Nexus 7000 pode suportar apenas 16. Você pode verificar isso na CLI ou consultar os guias de configuração de SPAN para o produto que você usa.
Note: Cada versão do NX-OS, o tipo de produto, os tipos de interfaces compatíveis e a funcionalidade são diferentes. Consulte as últimas diretrizes e limitações de configuração para o produto e a versão que você usa.
Estes são os links para o Nexus 9000 e o Nexus 7000, respectivamente:
Há vários tipos de sessões de SPAN. Alguns dos tipos mais comuns estão listados aqui:
Note: O RSPAN não é compatível com o Nexus.
sniffing
uma ou mais interfaces de origem que excedem o vigilante podem resultar em quedas para a sessão SPAN para CPU. Se isso acontecer, os dados não refletirão 100% do que está no fio, de modo que o SPAN para a CPU nem sempre é apropriado para cenários de solução de problemas com alta taxa de dados e/ou perda intermitente. Depois de configurar uma sessão de SPAN para CPU e ativá-la administrativamente, você precisa executar o Ethanalyzer para ver o tráfego enviado à CPU para executar a análise de acordo.Este é um exemplo de como você pode configurar uma sessão de SPAN local simples em um switch Nexus 9000:
Nexus9000_A(config-monitor)# monitor session ? *** No matching command found in current mode, matching in (config) mode *** <1-32> all All sessions Nexus9000_A(config)# monitor session 10 Nexus9000_A(config-monitor)# ? description Session description (max 32 characters) destination Destination configuration filter Filter configuration mtu Set the MTU size for SPAN packets no Negate a command or set its defaults show Show running system information shut Shut a monitor session source Source configuration end Go to exec mode exit Exit from command interpreter pop Pop mode from stack or restore from name push Push current mode to stack or save it under name where Shows the cli context you are in Nexus9000_A(config-monitor)# description Monitor_Port_e1/1 Nexus9000_A(config-monitor)# source interface ethernet 1/1 Nexus9000_A(config-monitor)# destination interface ethernet 1/10 Nexus9000_A(config-monitor)# no shut
Este exemplo mostra a configuração de uma sessão de SPAN para CPU que foi ativada e, em seguida, o uso do Ethanalyzer para capturar o tráfego:
N9000-A# show run monitor
monitor session 1
source interface Ethernet1/7 rx
destination interface sup-eth0 << this is what sends the traffic to CPU
no shut
RTP-SUG-BGW-1# ethanalyzer local interface inband mirror limit-c 0
Capturing on 'ps-inb'
2020-02-18 02:18:03.140167 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request
2020-02-18 02:18:15.663901 10.82.140.107 -> 10.82.140.106 ICMP Echo (ping) request
O Dmirror é um tipo de sessão SPAN-TO-CPU para plataformas Nexus baseadas em Broadcom. O conceito é o mesmo de SPAN para CPU e sua taxa é limitada a 50 pps (pacotes por segundos). O recurso foi implementado para depurar o caminho de dados interno com a CLI bcm-shell. Devido às limitações associadas, não há CLI do NX-OS para permitir que os usuários configurem sessões de SPAN para o Sup porque ele pode afetar o tráfego de controle e consumir classes CoPP.
O ELAM (Embedded Logic Analyzer Module) permite examinar o ASIC e determinar quais decisões de encaminhamento são tomadas para um pacote SINGLE. Assim, com o ELAM, você pode identificar se o pacote alcança o mecanismo de encaminhamento e em que portas/informações de VLAN. Você também pode verificar a estrutura do pacote L2 - L4 e se foram feitas alterações no pacote ou não.
É importante entender que o ELAM depende da arquitetura e que o procedimento para capturar um pacote varia de plataforma para plataforma com base na arquitetura interna. Você deve conhecer os mapeamentos ASIC do hardware para aplicar corretamente a ferramenta. Para o Nexus 7000, duas capturas são feitas para um único pacote, uma antes de ser tomada a decisão, o BARRAMENTO DE DADOS (DBUS), e a outra depois de tomada a decisão, o BARRAMENTO DE RESULTADO (RBUS). Ao visualizar as informações de DBUS, você pode ver o que/onde o pacote foi recebido, bem como as informações das camadas 2 a 4. Os resultados no RBUS podem mostrar para onde o pacote é encaminhado e se o quadro foi alterado. Você precisa configurar os disparadores para DBUS e RBUS, garantir que estejam prontos e, em seguida, tentar capturar o pacote em tempo real. Os procedimentos para várias placas de linha são os seguintes:
Para obter detalhes sobre vários procedimentos do ELAM, consulte os links nesta tabela:
VISÃO GERAL DO ELAM |
|
Módulo Nexus 7K F1 |
|
Módulo Nexus 7K F2 |
|
Módulo Nexus 7K F3 |
|
Módulo Nexus 7K M |
|
Módulo Nexus 7K M1/M2 e F2 |
|
Módulo Nexus 7K M3 |
ELAM para Nexus 7000 - M1/M2 (plataforma Eureka)
Nexus7000(config)# show module Mod Ports Module-Type Model Status --- ----- ----------------------------------- ------------------ ---------- 1 0 Supervisor Module-2 N7K-SUP2E active * 2 0 Supervisor Module-2 N7K-SUP2E ha-standby 3 48 1/10 Gbps Ethernet Module N7K-F248XP-25E ok 4 24 10 Gbps Ethernet Module N7K-M224XP-23L ok Nexus7000(config)# attach module 4 Attaching to module 4 ... To exit type 'exit', to abort type '$.' Last login: Fri Feb 14 18:10:21 UTC 2020 from 127.1.1.1 on pts/0 module-4# show hardware internal dev-port-map -------------------------------------------------------------- CARD_TYPE: 24 port 10G >Front Panel ports:24 -------------------------------------------------------------- Device name Dev role Abbr num_inst: -------------------------------------------------------------- > Skytrain DEV_QUEUEING QUEUE 4 > Valkyrie DEV_REWRITE RWR_0 4 > Eureka DEV_LAYER_2_LOOKUP L2LKP 2 > Lamira DEV_LAYER_3_LOOKUP L3LKP 2 > Garuda DEV_ETHERNET_MAC MAC_0 2 > EDC DEV_PHY PHYS 6 > Sacramento Xbar ASIC DEV_SWITCH_FABRIC SWICHF 1 +-----------------------------------------------------------------------+ +----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+ +-----------------------------------------------------------------------+ FP port | PHYS | SECUR | MAC_0 | RWR_0 | L2LKP | L3LKP | QUEUE |SWICHF 1 0 0 0 0,1 0 0 0,1 0 2 0 0 0 0,1 0 0 0,1 0 3 0 0 0 0,1 0 0 0,1 0 4 0 0 0 0,1 0 0 0,1 0 5 1 0 0 0,1 0 0 0,1 0 6 1 0 0 0,1 0 0 0,1 0 7 1 0 0 0,1 0 0 0,1 0 8 1 0 0 0,1 0 0 0,1 0 9 2 0 0 0,1 0 0 0,1 0 10 2 0 0 0,1 0 0 0,1 0 11 2 0 0 0,1 0 0 0,1 0 12 2 0 0 0,1 0 0 0,1 0 13 3 1 1 2,3 1 1 2,3 0 14 3 1 1 2,3 1 1 2,3 0 15 3 1 1 2,3 1 1 2,3 0 16 3 1 1 2,3 1 1 2,3 0 17 4 1 1 2,3 1 1 2,3 0 18 4 1 1 2,3 1 1 2,3 0 19 4 1 1 2,3 1 1 2,3 0 20 4 1 1 2,3 1 1 2,3 0 21 5 1 1 2,3 1 1 2,3 0 22 5 1 1 2,3 1 1 2,3 0 23 5 1 1 2,3 1 1 2,3 0 24 5 1 1 2,3 1 1 2,3 0 +-----------------------------------------------------------------------+ +-----------------------------------------------------------------------+
module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if source-ipv4-address 192.0.2.2 destination-ipv4-address 192.0.2.4 rbi-corelatemodule-4(eureka-elam)#trigger rbus rbi pb1 ip if cap2 1 module-4(eureka-elam)# status Slot: 4, Instance: 1 EU-DBUS: Configured trigger dbus dbi ingress ipv4 if source-ipv4-address 192.168.10.1 EU-RBUS: Configured trigger rbus rbi pb1 ip if cap2 1
module-4(eureka-elam)# start module-4(eureka-elam)# status
Slot: 4, Instance: 1 EU-DBUS: Armed <<<<<<<<<< trigger dbus dbi ingress ipv4 if source-ipv4-address 192.168.10.1 EU-RBUS: Armed <<<<<<<<<< trigger rbus rbi pb1 ip if cap2 1
module-4(eureka-elam)# status Slot: 4, Instance: 1 EU-DBUS: Triggered <<<<<<<<<< trigger dbus dbi ingress ipv4 if source-ipv4-address 192.168.10.1 EU-RBUS: Triggered <<<<<<<<<< trigger rbus rbi pb1 ip if cap2 1
Note: Para obter mais precisão, sempre execute o ELAM várias vezes para confirmar problemas de encaminhamento.
ELAM para Nexus 7000 - M1/M2 (plataforma Lamira)
O procedimento é o mesmo para a plataforma Lamira, no entanto, existem algumas diferenças:
module-4(lamira-elam)# trigger dbus ipv4 if source-ipv4-address 192.0.2.2 destination-ipv4-address 192.0.2.4 module-4(lamira-elam)# trigger rbusip if elam-match 1
ELAM para Nexus 7000 - F2/F2E (plataforma Clipper)
Novamente, o procedimento é semelhante, apenas os acionadores são diferentes. As poucas diferenças são as seguintes:
module-4# elam asic clipper instance 1 module-4(clipper-elam)#
module-4(clipper-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address 192.0.2.3 destination-ipv4-address 192.0.2.2 module-4(clipper-l2-elam)# trigger rbus ingress if trig
ELAM para Nexus 7000 - F3 (plataforma Flanker)
Novamente, o procedimento é semelhante, apenas os acionadores são diferentes. As poucas diferenças são as seguintes:
module-4# elam asic flanker instance 1 module-4(flanker-elam)#
module-9(fln-l2-elam)# trigger dbus ipv4 if destination-ipv4-address 10.1.1.2 module-9(fln-l2-elam)# trigger rbus ingress if trig
ELAM para Nexus 9000 (plataforma Tahoe)
No Nexus 9000, o procedimento é um pouco diferente do Nexus 7000. Para o Nexus 9000, consulte o link Nexus 9000 Cloud Scale ASIC (Tahoe) NX-OS ELAM - Cisco
Primeiro, verifique o mapeamento de interface com o comando show hardware internal tah interface #. As informações mais importantes nesta saída são ASIC#, Slice # e source ID (srcid) #.
Nexus9000(config)# attach module 1 module-1# debug platform internal tah elam asic 0 module-1(TAH-elam)# trigger init asic # slice # lu-a2d 1 in-select 6 out-select 0 use-src-id # module-1(TAH-elam-insel6)# reset module-1(TAH-elam-insel6)# set outer ipv4 dst_ip 192.0.2.1 src_ip 192.0.2.2
SUGARBOWL ELAM REPORT SUMMARY slot - 1, asic - 1, slice - 1 ============================ Incoming Interface: Eth1/49 Src Idx : 0xd, Src BD : 10 Outgoing Interface Info: dmod 1, dpid 14 Dst Idx : 0x602, Dst BD : 10 Packet Type: IPv4 Dst MAC address: CC:46:D6:6E:28:DB Src MAC address: 00:FE:C8:0E:27:15 .1q Tag0 VLAN: 10, cos = 0x0 Dst IPv4 address: 192.0.2.1 Src IPv4 address: 192.0.2.2
Ver = 4, DSCP = 0, Don't Fragment = 0 Proto = 1, TTL = 64, More Fragments = 0 Hdr len = 20, Pkt len = 84, Checksum = 0x667f
ELAM para Nexus 9000 (plataforma NorthStar)
O procedimento para a plataforma NorthStar é o mesmo da plataforma Tahoe, a única diferença é que a palavra-chave ns é usada em vez de tah quando o modo ELAM é inserido:
module-1# debug platform internal ns elam asic 0
A ferramenta Packet Tracer do Nexus 9000 pode ser usada para rastrear o caminho do pacote e, com seus contadores integrados para estatísticas de fluxo, torna-o uma ferramenta valiosa para cenários de perda de tráfego intermitente/completa. Seria muito útil quando os recursos do TCAM são limitados ou não estão disponíveis para executar outras ferramentas. Além disso, essa ferramenta não pode capturar o tráfego ARP e não exibe detalhes do conteúdo dos pacotes como o Wireshark.
Para configurar o packet tracer, use estes comandos:
N9K-9508# test packet-tracer src_ipdst_ip <==== provide your src and dst ip N9K-9508# test packet-tracer start <==== Start packet tracer N9K-9508# test packet-tracer stop <==== Stop packet tracer N9K-9508# test packet-tracer show <==== Check for packet matches
Para obter detalhes, consulte o link Nexus 9000: Ferramenta Packet Tracer explicada - Cisco
Esses comandos são os dois mais úteis que permitem identificar rapidamente problemas de conectividade.
O ping usa o Internet Control Message Protocol (ICMP) para enviar mensagens de eco ICMP ao destino específico e aguarda respostas de eco ICMP desse destino. Se o caminho entre o host funcionar bem sem problemas, você poderá ver as respostas voltarem e os pings tiverem êxito. Por padrão, o comando ping envia mensagens de eco ICMP 5x (tamanho igual em ambas as direções) e, se tudo funcionar bem, você poderá ver respostas de eco ICMP 5x. Às vezes, a solicitação de eco inicial falha quando os switches aprendem o endereço MAC durante a solicitação do Address Resolution Protocol (ARP). Se você executar o ping novamente logo após, não haverá perda inicial do ping. Além disso, você também pode definir o número de pings, o tamanho do pacote, a origem, a interface de origem e os intervalos de tempo limite com estas palavras-chave:
F241.04.25-N9K-C93180-1# ping 10.82.139.39 vrf management PING 10.82.139.39 (10.82.139.39): 56 data bytes 36 bytes from 10.82.139.38: Destination Host Unreachable Request 0 timed out 64 bytes from 10.82.139.39: icmp_seq=1 ttl=254 time=23.714 ms 64 bytes from 10.82.139.39: icmp_seq=2 ttl=254 time=0.622 ms 64 bytes from 10.82.139.39: icmp_seq=3 ttl=254 time=0.55 ms 64 bytes from 10.82.139.39: icmp_seq=4 ttl=254 time=0.598 ms F241.04.25-N9K-C93180-1# ping 10.82.139.39 ? <CR> count Number of pings to send df-bit Enable do not fragment bit in IP header interval Wait interval seconds between sending each packet packet-size Packet size to send source Source IP address to use source-interface Select source interface timeout Specify timeout interval vrf Display per-VRF information
O Traceroute é usado para identificar os vários saltos que um pacote leva antes de chegar ao seu destino. É uma ferramenta muito importante porque ajuda a identificar o limite de L3 onde a falha ocorre. Você também pode usar a porta, a interface de origem e a interface de origem com estas palavras-chave:
F241.04.25-N9K-C93180-1# traceroute 10.82.139.39 ? <CR> port Set destination port source Set source address in IP header source-interface Select source interface vrf Display per-VRF information Nexus_1(config)# traceroute 192.0.2.1 traceroute to 192.0.2.1 (192.0.2.1), 30 hops max, 40 byte packets 1 198.51.100.3 (198.51.100.3) 1.017 ms 0.655 ms 0.648 ms 2 203.0.113.2 (203.0.113.2) 0.826 ms 0.898 ms 0.82 ms 3 192.0.2.1 (192.0.2.1) 0.962 ms 0.765 ms 0.776 ms
A ACL (Access Control List, lista de controle de acesso) é uma ferramenta importante que permite filtrar o tráfego com base em um critério relevante definido. Quando a ACL estiver preenchida com entradas para critérios de correspondência, ela poderá ser aplicada para capturar o tráfego de entrada ou de saída. Um aspecto importante da ACL é sua capacidade de fornecer contadores para estatísticas de fluxo. Os termos PACL/RACL/VACL referem-se a várias implementações dessas ACLs que permitem usar a ACL como uma poderosa ferramenta de solução de problemas, especialmente para perda intermitente de tráfego. Estes termos são descritos resumidamente aqui:
Esta tabela fornece uma comparação entre as versões das ACLs.
TIPO DE ACL |
PACL |
RACL |
VACL |
FUNÇÃO |
Filtrar o tráfego recebido em uma interface L2. |
Filtrar o tráfego recebido em uma interface L3. |
Filtrar tráfego vLAN. |
APLICADO EM |
- Interfaces/portas L2. - Interfaces de canal de porta L2. - Se aplicada em uma porta de tronco, a ACL filtra o tráfego em todas as VLANs permitidas nessa porta de tronco. |
- Interfaces VLAN. - Interfaces físicas L3. - Subinterfaces L3. - Interfaces de canal de porta L3. - Interfaces de gerenciamento. |
Uma vez habilitada, a ACL é aplicada a todas as portas nessa VLAN (inclui portas de tronco). |
DIREÇÃO APLICADA |
Somente entrada. |
Entrada ou saída |
- |
Aqui está um exemplo de como você pode configurar uma lista de acesso. Para obter detalhes, consulte o link Guia de configuração de segurança do Cisco Nexus 9000 Series NX-OS, Versão 9.3(x) - Configurando ACLs IP [Switches Cisco Nexus 9000 Series] - Cisco
Nexus93180(config)# ip access-listNexus93180(config-acl)# ? <1-4294967295> Sequence number deny Specify packets to reject fragments Optimize fragments rule installation no Negate a command or set its defaults permit Specify packets to forward remark Access list entry comment show Show running system information statistics Enable per-entry statistics for the ACL end Go to exec mode exit Exit from command interpreter pop Pop mode from stack or restore from name push Push current mode to stack or save it under name where Shows the cli context you are in Nexus93180(config)# int e1/1
Nexus93180(config-if)# ip port access-group <NAME_of_ACL> ? >>>>>> When you configure ACL like this, it is PACL.
in Inbound packets
Nexus93180(config-if)# ip access-group <NAME_of_ACL> ? >>>>>> When you configure ACL like this, it is RACL. in Inbound packets out Outbound packets
LOGFLASH
LogFlash é um tipo de armazenamento persistente disponível nas plataformas Nexus como flash compacto externo, um dispositivo USB ou um disco incorporado no supervisor. Se for removido do switch, o sistema notificará periodicamente o usuário de que o LogFlash está ausente. O Logflash é instalado no supervisor e armazena dados históricos, como logs de contabilidade, mensagens de syslog, depurações e saídas do Embedded Event Manager (EEM). O EEM será discutido posteriormente neste artigo. Você pode verificar o conteúdo do LogFlash com este comando:
Nexus93180(config)# dir logflash: 0 Nov 14 04:13:21 2019 .gmr6_plus 20480 Feb 18 13:35:07 2020 ISSU_debug_logs/ 24 Feb 20 20:43:24 2019 arp.pcap 24 Feb 20 20:36:52 2019 capture_SYB010L2289.pcap 4096 Feb 18 17:24:53 2020 command/ 4096 Sep 11 01:39:04 2018 controller/ 4096 Aug 15 03:28:05 2019 core/ 4096 Feb 02 05:21:47 2018 debug/ 1323008 Feb 18 19:20:46 2020 debug_logs/ 4096 Feb 17 06:35:36 2020 evt_log_snapshot/ 4096 Feb 02 05:21:47 2018 generic/ 1024 Oct 30 17:27:49 2019 icamsql_1_1.db 32768 Jan 17 11:53:23 2020 icamsql_1_1.db-shm 129984 Jan 17 11:53:23 2020 icamsql_1_1.db-wal 4096 Feb 14 13:44:00 2020 log/ 16384 Feb 02 05:21:44 2018 lost+found/ 4096 Aug 09 20:38:22 2019 old_upgrade/ 4096 Feb 18 13:40:36 2020 vdc_1/ Usage for logflash://sup-local 1103396864 bytes used 7217504256 bytes free 8320901120 bytes total
No caso de um usuário recarregar o dispositivo, ou ele recarregar de repente por conta própria devido a um evento, todas as informações de registro seriam perdidas. Nesses cenários, o LogFlash pode fornecer dados históricos que podem ser revisados para identificar uma causa provável do problema. Obviamente, é necessária diligência adicional para identificar a causa raiz, o que fornece dicas sobre o que procurar caso esse evento ocorra novamente.
Para obter informações sobre como instalar o logflash no dispositivo, consulte o link Nexus 7000 Logging Capabilities - Cisco.
O On Board Failure Logging (OBFL) é um tipo de armazenamento persistente disponível para switches Nexus Top of Rack e Modular. Assim como o LogFlash, as informações são retidas depois que o dispositivo é recarregado. O OBFL armazena informações como falhas e dados ambientais. As informações variam para cada plataforma e módulo, no entanto, aqui está um exemplo de saída do módulo 1 da plataforma Nexus 93108 (ou seja, um chassi fixo com apenas um módulo):
Nexus93180(config)# show logging onboard module 1 ? *** No matching command found in current mode, matching in (exec) mode *** <CR> > Redirect it to a file >> Redirect it to a file in append mode boot-uptime Boot-uptime card-boot-history Show card boot history card-first-power-on Show card first power on information counter-stats Show OBFL counter statistics device-version Device-version endtime Show OBFL logs till end time mm/dd/yy-HH:MM:SS environmental-history Environmental-history error-stats Show OBFL error statistics exception-log Exception-log internal Show Logging Onboard Internal interrupt-stats Interrupt-stats obfl-history Obfl-history stack-trace Stack-trace starttime Show OBFL logs from start time mm/dd/yy-HH:MM:SS status Status | Pipe command output to filter Nexus93180(config)# show logging onboard module 1 status ---------------------------- OBFL Status ---------------------------- Switch OBFL Log: Enabled Module: 1 OBFL Log: Enabled card-boot-history Enabled card-first-power-on Enabled cpu-hog Enabled environmental-history Enabled error-stats Enabled exception-log Enabled interrupt-stats Enabled mem-leak Enabled miscellaneous-error Enabled obfl-log (boot-uptime/device-version/obfl-history) Enabled register-log Enabled system-health Enabled temp Error Enabled stack-trace Enabled
Novamente, essas informações são úteis no caso de um dispositivo que é recarregado de propósito pelo usuário ou devido a um evento que disparou um recarregamento. Nesse caso, as informações de OBFL podem ajudar a identificar o que deu errado da perspectiva de uma placa de linha. O comando show logging onboard é um bom ponto de partida. Lembre-se de que você deve capturar o contexto do módulo para obter tudo o que precisa. Certifique-se de usar show logging onboard module x ou attach mod x ; show logging onboard.
Os históricos de eventos são uma das ferramentas eficientes que podem fornecer informações sobre vários eventos que ocorrem em um processo executado no Nexus. Em outras palavras, cada processo executado em uma plataforma Nexus tem históricos de eventos que são executados em segundo plano e armazenam informações sobre vários eventos desse processo (pense neles como depurações que são executadas constantemente). Esses históricos de eventos não são persistentes e todas as informações armazenadas são perdidas após o recarregamento do dispositivo. Eles são muito úteis quando você identifica um problema com um determinado processo e deseja solucionar esse processo. Por exemplo, se o protocolo de roteamento OSPF não funcionar corretamente, você poderá usar históricos de eventos associados ao OSPF para identificar onde o processo OSPF falha. Você pode encontrar históricos de eventos associados a quase todos os processos na plataforma Nexus, como CDP/STP, UDLD, LACP/OSPF, EIGRP/BGP, etc.
É assim que você normalmente verifica os históricos de eventos de um processo com exemplos de referência. Cada processo tem várias opções, então use ? para verificar várias opções disponíveis em um processo.
Nexus93180(config)# showinternal event-history ? Nexus93180# show ip ospf event-history ? adjacency Adjacency formation logs cli Cli logs event Internal event logs flooding LSA flooding logs ha HA and GR logs hello Hello related logs ldp LDP related logs lsa LSA generation and databse logs msgs IPC logs objstore DME OBJSTORE related logs redistribution Redistribution logs rib RIB related logs segrt Segment Routing logs spf SPF calculation logs spf-trigger SPF TRIGGER related logs statistics Show the state and size of the buffers te MPLS TE related logs Nexus93180# show spanning-tree internal event-history ? all Show all event historys deleted Show event history of deleted trees and ports errors Show error logs of STP msgs Show various message logs of STP tree Show spanning tree instance info vpc Show virtual Port-channel event logs
As depurações são ferramentas eficientes no NX-OS que permitem executar eventos de solução de problemas em tempo real e registrá-los em um arquivo ou exibição na CLI. É altamente recomendável registrar as saídas de depuração em um arquivo, já que elas afetam o desempenho da CPU. Tenha cuidado antes de executar uma depuração diretamente no CLI.
As depurações geralmente são executadas apenas quando você identifica um problema como sendo um único processo e gostaria de verificar como esse processo se comporta em tempo real com o tráfego real na rede. Você precisa ativar um recurso de depuração com base nos privilégios de conta de usuário definidos.
Assim como os históricos de eventos, você pode executar depurações para cada processo em um dispositivo Nexus, como CDP/STP, UDLD, LACP/OSPF, EIGRP/BGP e assim por diante.
É assim que você normalmente executa uma depuração para um processo. Cada processo tem várias opções, então use ? para verificar várias opções disponíveis em um processo.
Nexus93180# debug? Nexus93180# debug spanning-tree ? all Configure all debug flags of stp bpdu_rx Configure debugging of stp bpdu rx bpdu_tx Configure debugging of stp bpdu tx error Configure debugging of stp error event Configure debugging of Events ha Configure debugging of stp HA mcs Configure debugging of stp MCS mstp Configure debugging of MSTP pss Configure debugging of PSS rstp Configure debugging of RSTP sps Configure debugging of Set Port state batching timer Configure debugging of stp Timer events trace Configure debugging of stp trace warning Configure debugging of stp warning Nexus93180# debug ip ospf ? adjacency Adjacency events all All OSPF debugging database OSPF LSDB changes database-timers OSPF LSDB timers events OSPF related events flooding LSA flooding graceful-restart OSPF graceful restart related debugs ha OSPF HA related events hello Hello packets and DR elections lsa-generation Local OSPF LSA generation lsa-throttling Local OSPF LSA throttling mpls OSPF MPLS objectstore Objectstore Events packets OSPF packets policy OSPF RPM policy debug information redist OSPF redistribution retransmission OSPF retransmission events rib Sending routes to the URIB segrt Segment Routing Events snmp SNMP traps and request-response related events spf SPF calculations spf-trigger Show SPF triggers
OURO
Generic OnLine Diagnostics (GOLD), como o nome sugere, esses testes são geralmente usados como uma verificação de integridade do sistema e são usados para verificar ou verificar o hardware em questão. Há vários testes on-line que são realizados e baseados na plataforma em uso, alguns desses testes são disruptivos, enquanto outros são sem interrupções. Esses testes on-line podem ser categorizados da seguinte forma:
Você pode verificar os vários tipos de testes on-line disponíveis para seu switch com este comando:
Nexus93180(config)# show diagnostic content module all Diagnostics test suite attributes: B/C/* - Bypass bootup level test / Complete bootup level test / NA P/* - Per port test / NA M/S/* - Only applicable to active / standby unit / NA D/N/* - Disruptive test / Non-disruptive test / NA H/O/* - Always enabled monitoring test / Conditionally enabled test / NA F/* - Fixed monitoring interval test / NA X/* - Not a health monitoring test / NA E/* - Sup to line card test / NA L/* - Exclusively run this test / NA T/* - Not an ondemand test / NA A/I/* - Monitoring is active / Monitoring is inactive / NA Module 1: 48x10/25G + 6x40/100G Ethernet Module (Active) Testing Interval ID Name Attributes (hh:mm:ss) ____ __________________________________ ____________ _________________ 1) USB---------------------------> C**N**X**T* -NA- 2) NVRAM-------------------------> ***N******A 00:05:00 3) RealTimeClock-----------------> ***N******A 00:05:00 4) PrimaryBootROM----------------> ***N******A 00:30:00 5) SecondaryBootROM--------------> ***N******A 00:30:00 6) BootFlash---------------------> ***N******A 00:30:00 7) SystemMgmtBus-----------------> **MN******A 00:00:30 8) OBFL--------------------------> C**N**X**T* -NA- 9) ACT2--------------------------> ***N******A 00:30:00 10) Console-----------------------> ***N******A 00:00:30 11) FpgaRegTest-------------------> ***N******A 00:00:30 12) Mce---------------------------> ***N******A 01:00:00 13) AsicMemory--------------------> C**D**X**T* -NA- 14) Pcie--------------------------> C**N**X**T* -NA- 15) PortLoopback------------------> *P*N**XE*** -NA- 16) L2ACLRedirect-----------------> *P*N***E**A 00:01:00 17) BootupPortLoopback------------> CP*N**XE*T* -NA-
Para exibir o que cada um dos 17 testes mencionados faz, você pode usar este comando:
Nexus93180(config)# show diagnostic description module 1 test all USB : A bootup test that checks the USB controller initialization on the module. NVRAM : A health monitoring test, enabled by default that checks the sanity of the NVRAM device on the module. RealTimeClock : A health monitoring test, enabled by default that verifies the real time clock on the module. PrimaryBootROM : A health monitoring test that verifies the primary BootROM on the module. SecondaryBootROM : A health monitoring test that verifies the secondary BootROM on the module. BootFlash : A Health monitoring test, enabled by default, that verifies access to the internal compactflash devices. SystemMgmtBus : A Health monitoring test, enabled by default, that verifies the standby System Bus. OBFL : A bootup test that checks the onboard flash used for failure logging (OBFL) device initialization on the module. ACT2 : A Health monitoring test, enabled by default, that verifies access to the ACT2 device. Console : A health monitoring test,enabled by default that checks health of console device. FpgaRegTest : A health monitoring test,enabled by default that checks read/write access to FPGA scratch registers on the module. Mce : A Health monitoring test, enabled by default, that check for machine errors on sup. AsicMemory : A bootup test that checks the asic memory. Pcie : A bootup test that tests pcie bus of the module PortLoopback : A health monitoring test that tests the packet path from the Supervisor card to the physical port in ADMIN DOWN state on Linecards. L2ACLRedirect : A health monitoring test, enabled by default, that does a non disruptive loopback for TAHOE asics to check the ACL Sup redirect with the CPU port. BootupPortLoopback : A Bootup test that tests the packet path from the Supervisor card to all of the physical ports at boot time.
O Embedded Event Manager (EEM) é uma ferramenta poderosa que permite programar seu dispositivo para executar tarefas específicas caso um determinado evento aconteça. Ele monitora vários eventos no dispositivo e, em seguida, executa a ação necessária para solucionar o problema e possivelmente recuperar. O EEM consiste em três componentes principais, cada um dos quais é descrito resumidamente aqui:
Para obter detalhes sobre o EEM, consulte o link Guia de Configuração do Gerenciamento do Sistema NX-OS do Cisco Nexus 9000 Series, Versão 9.2(x) - Configuração do Embedded Event Manager [Switches Cisco Nexus 9000 Series] - Cisco.
Revisão | Data de publicação | Comentários |
---|---|---|
3.0 |
25-Nov-2024 |
Formatação e requisitos de estilo atualizados. |
1.0 |
29-Aug-2022 |
Versão inicial |