параллельный snmpbulkget вызывает ошибку - PullRequest
0 голосов
/ 12 июня 2019

Попытка запросить тонну устройств с простым выводом (в данном тестовом примере; идентификация модели)

Мой код работает нормально при индивидуальной работе;когда я пытаюсь распараллелить его ... возникают ошибки

Файл сценария с именем " get ":

\#!/bin/bash

model="$(snmpbulkget -r1 -t1 -v2c -c test_comm $1 1.3.6.1.2.1.47.1.1.1.1.13 | grep -m1 STRING | sed 's/.*://' | sed 's/ "//' | sed 's/"//')" &&
echo "$1,$model"

Использование одного теста;работает без проблем:

./get 10.23.50.117
10.23.50.117,N9K-C93108TC-EX

Попытка распараллелить (даже всего с 10 процессами):

xargs -d " " -P 10 --arg-file=check ./get
snmp_build: unknown failure
snmpbulkget: Error building ASN.1 representation (Can't build OID for variable)

Использование флага -L arg в xargs приводит к тому, что каждый IP в списке будетнажмите 10x вместо 10 IP-адресов один раз.

cat check_out | sort
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.1,NY-SW1
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.12.0.4,NY-SW2
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1
10.14.14.8,CY-WAN-SW1

1 Ответ

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

Ваша проблема в том, чтобы понять аргументы утилиты "xargs".Вы не сказали нам, как выглядит ваш «чековый» файл.Когда я пытаюсь с правильными аргументами, это работает:

% ./get 10.201.0.110
10.201.0.110,..System Bootstrap, Version 11.0(10c), SOFTWARE..Copyright (c) 1986-1996 by cisco Systems..

% ./get 10.1.120.142
10.1.120.142,BOOT_NORMAL

% cat check
10.201.0.110
10.1.120.142 

% xargs -L 1 -P 10 --arg-file=check ./get
10.201.0.110,..System Bootstrap, Version 11.0(10c), SOFTWARE..Copyright (c) 1986-1996 by cisco Systems..
10.1.120.142,BOOT_NORMAL
...