Найти все ASIC, которые сообщают об ошибках отбрасывания - PullRequest
0 голосов
/ 09 июня 2019

Я извлек наибольшее количество определенного поля (AsicErr) из файла и отфильтровал его, как показано ниже:

grep AsicErr file.txt | sort -t: -k2nr | head
EGQ0 AsicErr             :         3464363
EGQ0 AsicErr             :         12312
EGQ0 AsicErr             :         120

Исходя из этого, я хотел бы дополнительно отфильтровать этот файл для извлечениястроки со стрелками рядом с ними, как показано ниже:

Пример структуры файла

RP/0/RP0/CPU0:abc#show controllers fia statistics instance 0 location 0/0/CPU0  <<<<<<<<<<<<<<<
  Tue Jun  4 11:00:07.521 UTC
  Node ID: 0/0/CPU0
  FIA Statistics Rack: 0, Slot: 0, Asic instance: 0  <<<<<<<<<<<<<<<
  Total number of blocks: 12
  Per Block Statistics:
  EGQ counters:
  EGQ0 CnmCntDrops                     :                0
  EGQ0 CnmCntFlowControl               :                0
  EGQ0 CnmPktsCnt                      :                0
  EGQ0 AsicErr                         :         3464363    <<<<<<<<<<<<<<<
  EGQ0 CntProfileOffset1               :                0
  EGQ0 CntProfileOffset2               :                0
  EGQ0 CntProfileOffset3               :                0
  EGQ0 CntProfileOffset4               :                0
  EGQ0 CntProfileOffset5               :                0
  EGQ0 CrcErrFabricCnt                 :                0
  EGQ0 CrcErrOthersCnt                 :                0

  RP/0/RP0/CPU0:abc#show controllers fia statistics instance 3 location 0/0/CPU0   <<<<<<<<<<<<<<<
  Tue Jun  4 11:00:11.215 UTC
  Node ID: 0/0/CPU0
  FIA Statistics Rack: 0, Slot: 0, Asic instance: 3   <<<<<<<<<<<<<<<
  Total number of blocks: 12
  Per Block Statistics:
  EGQ counters:
  EGQ0 CnmCntDrops                     :                0
  EGQ0 CnmCntFlowControl               :                0
  EGQ0 CnmPktsCnt                      :                0
  EGQ0 AsicErr                         :         12312     <<<<<<<<<<<<<<<
  EGQ0 CntProfileOffset1               :                0
  EGQ0 CntProfileOffset2               :                0
  EGQ0 CntProfileOffset3               :                0
  EGQ0 CntProfileOffset4               :                0
  EGQ0 CntProfileOffset5               :                0
  EGQ0 CrcErrFabricCnt                 :                0
  EGQ0 CrcErrOthersCnt                 :                0

 RP/0/RP0/CPU0:abe#show controllers fia statistics instance 1 location 0/0/CPU0   <<<<<<<<<<<<<<<
 Tue Jun  4 11:00:32.283 UTC
 Node ID: 0/0/CPU0
 FIA Statistics Rack: 0, Slot: 0, Asic instance: 1    <<<<<<<<<<<<<<<
 Total number of blocks: 12
 Per Block Statistics:
 EGQ counters:
 EGQ0 CnmCntDrops                     :                0
 EGQ0 CnmCntFlowControl               :                0
 EGQ0 CnmPktsCnt                      :                0
 EGQ0 AsicErr                         :         120   <<<<<<<<<<<<<<<
 EGQ0 CntProfileOffset1               :                0
 EGQ0 CntProfileOffset2               :                0
 EGQ0 CntProfileOffset3               :                0
 EGQ0 CntProfileOffset4               :                0
 EGQ0 CntProfileOffset5               :                0
 EGQ0 CrcErrFabricCnt                 :                0
 EGQ0 CrcErrOthersCnt                 :                0
 EGQ0 CupErrFabricCnt                 :                0

Желаемый результат:

 RP/0/RP0/CPU0:abc#show controllers fia statistics instance 0 location 0/0/CPU0  
  FIA Statistics Rack: 0, Slot: 0, Asic instance: 0  
  EGQ0 AsicErr                         :         3464363   
  RP/0/RP0/CPU0:abc#show controllers fia statistics instance 3 location 0/0/CPU0   
  FIA Statistics Rack: 0, Slot: 0, Asic instance: 3   
  EGQ0 AsicErr                         :         12312   
 RP/0/RP0/CPU0:abe#show controllers fia statistics instance 1 location 0/0/CPU0   
 FIA Statistics Rack: 0, Slot: 0, Asic instance: 1    
 EGQ0 AsicErr                         :         20   

Это, вероятно, потребовало бы поиска числовогозначение ошибки, затем обратный поиск, чтобы получить строку статистики FIA, а затем обратный поиск команды show для захвата имени хоста устройства, которое сталкивается с проблемой.

Если бы я мог получить некоторые рекомендации о том, как подойтиэто было бы оценено.

Спасибо.

1 Ответ

0 голосов
/ 09 июня 2019

вот стандартный Linux awk скрипт:

awk '/AsicDropErr/{print $4}' file1 file2 |sort |head

Вы можете поместить столько файлов в команду awk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...