[ruby-list:45566] SNMP Libraryのerror_status=1(tooBig)について

From: "徳島学" <manabu.tokushima@...>
Date: 2008-10-18 15:07:49 UTC
List: ruby-list #45566
みなさま、こんばんは。とくしまと申します。

SNMP Library
http://snmplib.rubyforge.org/
を使ってみたのですが、エラーとなり困っています。

下記のコードは正常に動作するのですが、oidの数を増やしていくと、
responseにerror_status=1(tooBig)が返ってきます。
MaxReceiveBytesの設定かとおもいデフォルトから一桁増やして80000に
してみましたが結果は同じでした。

回避方法を知るためにどこでerror_status=1が設定されるのかソースを
追いかけてみたものの(Manager#get_response以降のパケット解析に
ついていけず)私には理解できませんでした。

対象のホストから最大で数百のMIB値を取得したいので、このエラーが
起きないようにしたいと考えています。どのようにしたらよいですか?


試したコードは以下のとおりです。

# oids = ["1.3.6.1.2.1.2.2.1.10.1", "1.3.6.1.2.1.2.2.1.10.2",...]
Manager.open(:Host => 'hoge', :Community => 'foo', :MaxReceiveBytes =>
80000) do |manager|
  response = manager.get(oids)
  p response
  response.each_varbind do |vb|
    puts "#{vb.name.to_s}  #{vb.value.to_s}"
  end
end

p responseの結果:
#<SNMP::Response:0xf01d52 @error_index=0, @request_id=1536997294,
@varbind_list=[], @error_status=1>


環境
jdk1.5.0_16
jruby-1.1.4
snmp-1.0.2

以上

よろしくお願いします。

In This Thread

Prev Next