Les abandons dans les files d'attente non critiques sont moins courants ou moins susceptibles d'avoir des répercussions pour les clients.

Voici les files d'attente non critiques qui peuvent être surveillées.

vc_queue_vcmp_init : cette file d'attente fournit des messages d'initiation de tunnel VCMP concernant la nouvelle configuration de tunnel. La passerelle limite les demandes de tunnel entrant au taux maximal qu'elles peuvent gérer sans interrompre le trafic existant, en fonction des cœurs disponibles. Par la suite, les abandons sont attendus dans la file d'attente d'une passerelle avec de nombreux tunnels.

Ces abandons doivent se produire en grandes rafales suite à un événement spécifique, comme le redémarrage de la passerelle ou l'interruption de transit, et il ne devrait pas y avoir d'abandons en cas de fonctionnement normal.

vc_queue_vcmp_ctrl_0 et vc_queue_vcmp_ctrl_1 : cette file d'attente fournit des messages de contrôle de gestion de tunnel VCMP reçus sur les tunnels existants. Cela inclut des messages tels que les mises à jour de route, les mises à jour d'état de chemin d'accès, les signaux de pulsation, les statistiques, la synchronisation de la QoS et les informations de tunnel.

Presque tous les messages de contrôle ont des mécanismes de nouvelle tentative intégrés pour prendre en compte ces abandons, tels que les mises à jour de routes.

Vous trouverez ci-dessous un exemple de script Python pour rechercher des abandons VCMP Ctrl.

#!/usr/bin/env python
"""
Check VCG vcmp drop count
"""
import os
import sys
import subprocess
import commands
import re
from optparse import OptionParser
# Parse commandline options:
parser = OptionParser(usage="%prog -w <warning threshold> -c <critical threshold> -o <vcmp> [ -h ]")
parser.add_option("-w", "--warning", action="store", type="string", dest="warn_threshold", help="Count Warning threshold should be in <value>")
parser.add_option("-c", "--critical",action="store", type="string", dest="crit_threshold", help="Count Critical threshold should be in <value>")
parser.add_option("-o", "--vcmp-name",action="store", type="string", dest="vcmp_name", help="VCMP Name in ctrl or tx drop <value>")
(options, args) = parser.parse_args()

def get_vcg_vcmp_drop_count(VCMPNAME):
 if os.path.isfile('/opt/vc/bin/debug.py'):
        L=[]
        f=subprocess.check_output(["/opt/vc/bin/debug.py","--handoff"])
        x=[r.split() for r in f.split('\n')]
        reg = re.compile(VCMPNAME)
        for i in x:
         if filter(reg.match, i):
           L.append((int(i[7])))
        return list(L)
 else:
    print "Critical: unable to get vcmp drop count()"
    sys.exit(2)

if __name__ == '__main__':
  if not options.vcmp_name:
      print "Critical: Missing vcmp drop name. (vc_queue_vcmp_ctrl or vc_queue_vcmp_tx)"
      sys.exit(2)
  if not options.crit_threshold:
      print "CRITICAL: Missing critical threshold value."
      sys.exit(2)
  if not options.warn_threshold:
      print "CRITICAL: Missing warning threshold value."
      sys.exit(2)

  vcmp_name = options.vcmp_name
  crit_threshold = options.crit_threshold
  warn_threshold = options.warn_threshold

  result = get_vcg_vcmp_drop_count(vcmp_name)
  result_data = sum(result)
  if os.path.exists("/tmp/ vc_queue_vcmp_data_output"):
     cmd="cat /tmp/ vc_queue_vcmp_data_output"
     status,output = commands.getstatusoutput(cmd)
     change= int(result_data) -  int(output)

  cmd="echo %d > /tmp/ vc_queue_vcmp_data_output" %result_data
  status,output = commands.getstatusoutput(cmd)
  if not list(result):
      print "Critical: Unable to get vcmp drop count."
      sys.exit(2)
  else:
      if int(change) > int(crit_threshold) :
        print "Critical. Drop count > crit_threshold: vc_queue_vcmp_ctrl_0: %s and vc_queue_vcmp_ctrl_1: %s" % (result[0],result[1])
        sys.exit(1)
      elif int(change) > int(warn_threshold) :
        print "Warning. Drop count > warn_threshold: vc_queue_vcmp_ctrl_0: %s and vc_queue_vcmp_ctrl_1: %s" % (result[0],result[1])
        sys.exit(1)
      else:
        print "OK. Drop count: %s" % result
        sys.exit(0)

vc_queue_vcmp_bottom : cette file d'attente est la seconde étape du traitement des paquets de données VCMP reçus sur les tunnels VCMP. La file d'attente gère le trafic de routage vers la destination appropriée, telle que NAT, VLAN/VRF, Non VMware SD-WAN Site et Edge.

Il est peu probable que les abandons se produisent dans cette file d'attente, car les abandons sont plus susceptibles de se produire dans les files d'attente vc_queue_vcmp_data_X.

vc_queue_ike : la file d'attente traite les messages de protocole IKE pour gérer des clés et d'autres états de sessions de chiffrement.

Il s'agit généralement d'un trafic de volume faible et il est peu probable que des abandons soient rencontrés ici. Si des abandons se produisent, les messages IKE sont réessayés.