【问题标题】:snmpbulkget in parallel is causing an error to occursnmpbulkget 并行导致发生错误
【发布时间】:2019-10-27 08:07:21
【问题描述】:

尝试使用简单的输出查询大量设备(在此测试用例中;模型识别)

我的代码在单独运行时运行良好;当我尝试并行化它时...发生错误

名为“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)

在 xargs 中使用 -L arg 标志会导致列表中的每个 IP 被命中 10 倍,而不是每个 IP 被命中 10 个。

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

【问题讨论】:

  • 在使用 -L 参数时编辑了带有输出的帖子

标签: bash parallel-processing snmp xargs


【解决方案1】:

您的问题是理解“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

【讨论】:

  • 我的检查文件和你的类似,只是有 400 多个 IP 地址
  • 好吧,那么它应该可以工作,但是再一次,您没有显示您的 EXACT 调用或文件的内容。为了快速解决这个问题,你应该能够减少你的文件,显示确切的内容和调用。将来,从工作示例开始总是比不工作示例更快。
猜你喜欢
  • 2015-01-09
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多