Récemment, l'utilisation du processeur du moteur de routage sur deux de nos routeurs d'appairage Juniper est passée de ~ 10-20% de charge moyenne à 80 +%. J'essaie de comprendre ce qui cause cela (et comment réduire cette charge élevée).
Quelques informations sur les routeurs: les deux exécutent la même version JunOS, les deux sont connectés aux deux mêmes LAN IXP homologues et ont un grand nombre (plusieurs centaines) de sessions IPv4 et IPv6 (presque identiques). Les deux routeurs ont une connexion à un fournisseur de transit IP différent et sont connectés de la même manière au reste de notre réseau. La charge CPU des moteurs de routage n'est pas plate sur 80 +%, il y a des baisses à des niveaux normaux pendant des minutes à des heures, mais ces baisses ne sont pas si fréquentes.
Choses que j'ai vérifiées:
- aucune modification de configuration n'a été effectuée au moment où l'augmentation a commencé
- il n'y a pas d'augmentation du trafic non monodiffusion dirigé vers le plan de contrôle
- il n'y a pas de changement (substantiel) dans la quantité de trafic acheminé (même si une augmentation ne devrait pas avoir d'importance)
show system processes summary
indique que lerpd
processus est à l'origine de la charge élevée du processeur- il n'y a pas de pairs BGP qui claquent rapidement provoquant une grande quantité de changements BGP
Une explication possible que je peux trouver est un homologue (ou plus d'un) sur l'un des deux routeurs de l'IXP sont connectés pour envoyer un grand nombre de mises à jour BGP. Actuellement, je n'ai que des statistiques sur le nombre de messages BGP pour mes sessions de transit (ne montrant aucune activité anormale) et avec plusieurs centaines de sessions BGP sur les réseaux locaux homologues, il n'est pas si facile de repérer les sessions problématiques si je devais créer des graphiques pour toutes les sessions.
Mes questions sont:
- y a-t-il d'autres choses que je devrais vérifier pour trouver la cause de cette augmentation de la charge CPU sur les moteurs de routage?
- comment savoir facilement quelles sessions sont à l'origine de ces problèmes (si mon hypothèse est juste)? L'activation des options de trace BGP génère d'énormes quantités de données, mais je ne sais pas si cela me donne de véritables informations.
Je sais que ce fil est ancien mais pour être complet:
Si le CPU élevé se produit au hasard et que vous n'êtes pas en mesure de déterminer le processus à l'origine de cela, nous pouvons créer le script ci-dessous.
Avec ce script, nous allons capturer le processus étendu lorsqu'un processus augmente plus que le seuil normal ou attendu, cela ne devrait perturber aucun trafic mais un MW est toujours recommandé. Cependant, je vois que vous l'avez limité à RPD.
DISPLAY SET OUTPUT>
Avez-vous également vérifié si des messages ddos ont été signalés? Vous pouvez exécuter les commandes suivantes:
Ensuite, en fonction de ce que vous voyez, il peut être réduit, par exemple:
Juniper possède également une liste de collecte pour ce type de problèmes sous KB22637
Commandes CLI CPU élevées
Activez la comptabilité des tâches et collectez la sortie détaillée de la comptabilité des tâches (trois fois avec un intervalle de 30 secondes). N'oubliez pas de l'éteindre une fois terminé.
Journaux
Archiver / var / log comme spécifié à l'étape 1 ci-dessus Traceoptions
De plus, si vous utilisez une ancienne version qui était sujette aux bogues, vous voudrez peut-être vérifier la durée de vie du code:
http://www.juniper.net/support/eol/junos.html
Un autre point à mentionner qui pourrait être une attaque vectorielle n'est pas d'avoir protégé votre RE contre le trafic d'exception indésirable. Assurez-vous d'avoir un filtre pare-feu sous le bouclage.
J'ai vu dans le passé des scripts sur le routeur provoquant un processeur élevé, je ne sais pas si rpd est venu à mon avis, mais c'est quelque chose que vous ne voudrez peut-être pas ignorer.
Si vous voyez dans les journaux de nombreux hits avec RPD_MPLS_PATH_BANDWIDTH_CHANGE, vous utilisez peut-être un intervalle de réglage très agressif
Vérifiez toutes les gouttes sur "afficher la file d'attente du système: il s'agit de la file d'attente du noyau, certains indices peuvent apparaître.
la source