Recentemente, a utilização da CPU do mecanismo de roteamento em dois de nossos roteadores peering Juniper aumentou de ~ 10-20% da carga média para 80 +%. Estou tentando descobrir o que está causando isso (e como diminuir essa carga alta).
Algumas informações sobre os roteadores: ambos executam a mesma versão do JunOS, estão conectados às mesmas duas LANs IXP emparelhadas e têm um grande número (várias centenas) de sessões IPv4 e IPv6 (quase idênticas). Ambos os roteadores têm uma conexão com um provedor de trânsito IP diferente e estão conectados da mesma maneira ao restante de nossa rede. A carga da CPU dos mecanismos de roteamento não é linear em mais de 80%, há quedas de volta aos níveis normais por minutos a horas, mas essas quedas não são tão frequentes.
Coisas que eu verifiquei:
- nenhuma alteração de configuração foi feita no momento em que o aumento começou
- não há aumento no tráfego não unicast direcionado ao plano de controle
- não há alterações (substanciais) na quantidade de tráfego encaminhado (embora mesmo um aumento não deva importar)
show system processes summary
indica que orpd
processo está causando a alta carga da CPU- não há pares de BGP agitando rapidamente causando uma grande quantidade de alterações no BGP
Uma explicação possível que posso encontrar é um par (ou mais de um) em um dos dois roteadores do IXP, que estão conectados ao envio de um grande número de atualizações de BGP. Atualmente, só tenho estatísticas sobre o número de mensagens BGP para minhas sessões de trânsito (mostrando nenhuma atividade anormal) e com várias centenas de sessões BGP nas LANs emparelhadas, não é tão fácil identificar as sessões problemáticas se devo criar gráficos para todas as sessões.
Minhas perguntas são:
- existem outras coisas que devo verificar para encontrar a causa desse aumento na carga da CPU nos mecanismos de roteamento?
- como posso descobrir facilmente quais sessões estão causando esses problemas (se minha suposição estiver correta)? A ativação das opções de rastreamento do BGP gera enormes quantidades de dados, mas não tenho certeza se isso me fornece informações reais.
Eu sei que esta discussão é antiga, mas por uma questão de integridade:
Se a CPU alta ocorrer aleatoriamente e você não conseguir determinar o processo que está causando isso, podemos criar o script abaixo.
Com esse script, capturaremos o processo extensivamente quando um processo aumentar mais do que o limite normal ou esperado; isso não deve atrapalhar nenhum tráfego, mas um MW ainda é recomendado. No entanto, eu vejo que você reduziu a RPD.
SAÍDA DE CONFIGURAÇÃO DO DISPLAY>
Você também verificou se alguma mensagem ddos foi relatada? Você pode executar os seguintes comandos:
Então, dependendo do que você vê, pode ser reduzido, por exemplo:
O Juniper também possui uma lista de coleta para esse tipo de problema em KB22637
Comandos de CLI de alta CPU
Ative a contabilidade de tarefas e colete a saída detalhada dos detalhes da contabilidade de tarefas (três vezes com um intervalo de 30 segundos). Não se esqueça de desligá-lo depois de terminar.
Logs
Arquive / var / log conforme especificado na Etapa 1 acima
Além disso, se você estiver executando uma versão antiga que tenha propensão a erros, convém verificar o suporte de vida do código:
http://www.juniper.net/support/eol/junos.html
Outro ponto a ser mencionado, que poderia ser um ataque de vetor, é não proteger o ER do tráfego de exceções indesejadas. Verifique se você tem um filtro de firewall sob o loopback.
Eu já vi scripts anteriores no roteador causando alta CPU, não tenho certeza se o rpd veio à minha vista, mas isso é algo que você talvez não queira ignorar.
Se você vir muitos registros nos registros com RPD_MPLS_PATH_BANDWIDTH_CHANGE, poderá estar usando um intervalo de ajuste muito agressivo
Verifique todas as descargas em "show fila do sistema: esta é a fila do kernel, alguma pista pode aparecer.
fonte