2015年10月31日
オープンソースの SNMP エージェント・シミュレータ - snmposter と「俺、 fork したよ」って話
僕がブログを始めたのは、まだその頃珍しかった Java 言語で記述されたオープンソースの SNMP(Simple Network Management Protocol)ライブラリ SNMP4J(http://www.snmp4j.org)の詳しい説明をエントリすれば月間 100 万 PV ぐらい稼いで広告収入でアーリー・リタイアできるかもって考えたのがきっかけでした。 でも、結局・・・全然・・・そんなことにはならなくて、今もまだ(まあまあ)真面目に働いてます。 今日は SNMP マネージャーの開発や評価で必要になる SNMP エージェント・シュミレーターの1つ、snmposter を紹介をします。

続きを読む

続きを読む
2013年01月31日
How to use "smiparser" - Free MIB/SMI Parser for Java
これまでSNMP4Jを使って、Java + 実践SNMPプログラミングというテーマで何回か解説してきましたが、MIBパーサーの話は避けてきました。 フリーのJava MIB ParserといえばMibbleがあるのにです。
理由は、Mibbleは良いAPIですがライセンスがGPLだから。
GPLはコピー・レフトに例えられるようにコードの自由を強く保証しますが、開発者・利用者としてみると原理主義的な面があり、僕には少し窮屈に感じられるのです。

今日はJava開発者が、より自由(?)に利用できるsmiparserをご紹介します。
続きを読む
理由は、Mibbleは良いAPIですがライセンスがGPLだから。
GPLはコピー・レフトに例えられるようにコードの自由を強く保証しますが、開発者・利用者としてみると原理主義的な面があり、僕には少し窮屈に感じられるのです。

今日はJava開発者が、より自由(?)に利用できるsmiparserをご紹介します。
続きを読む
2011年05月27日
実践SNMP+Java MIBテーブルのフェッチ(TableUtils)
今日はSNMP4Jを利用したMIBテーブルのフェッチ(取得)について解説します。
MIBテーブルとはデータベースのテーブルと同様に行と列で管理されたMIBオブジェクトの集まりです。
MIBテーブルを理解するにはMIBブラウザを使って視覚的に捉えることも重要です。ここではiREASONING社のMIBブラウザ(無料)を使って説明します。
MIBテーブルとはデータベースのテーブルと同様に行と列で管理されたMIBオブジェクトの集まりです。
MIBテーブルを理解するにはMIBブラウザを使って視覚的に捉えることも重要です。ここではiREASONING社のMIBブラウザ(無料)を使って説明します。
続きを読む
Posted by netbuffalo at
18:58
│TrackBack(0)│
2011年03月25日
実践SNMP+Java-非同期ポーリング
今日はSNMP4Jライブラリを利用した非同期ポーリング(SNMPリクエストの送受信)について紹介します。
SNMP4Jでは同期(Synchronous)又は非同期(Asynchronous)なSNMPリクエストの送信が可能です。
非同期でリクエストを送信する場合、Snmpクラスに用意されているsend(PDU pdu, Target target, java.lang.Object userHandle, ResponseListener listener) メソッドを利用します。
SNMP4Jでは同期(Synchronous)又は非同期(Asynchronous)なSNMPリクエストの送信が可能です。
非同期でリクエストを送信する場合、Snmpクラスに用意されているsend(PDU pdu, Target target, java.lang.Object userHandle, ResponseListener listener) メソッドを利用します。
続きを読む
Posted by netbuffalo at
19:07
│TrackBack(0)│
2011年01月11日
実践SNMP+Java-Trap受信性能
久しぶりにSNMP4Jです。今回はTrap受信性能について評価してみます。
一般的な商用ソフトウェアのTrap受信性能は1000~1200(trap/sec)といったところですが、
SNMP4Jの受信性能はどの程度でしょうか?
早速確認してみましょう。
一般的な商用ソフトウェアのTrap受信性能は1000~1200(trap/sec)といったところですが、
SNMP4Jの受信性能はどの程度でしょうか?
早速確認してみましょう。
続きを読む
Posted by netbuffalo at
09:11
│TrackBack(0)│
2010年08月06日
実践SNMP+Java - Timeout Model
今回はタイムアウトとリトライ数について考えます。
サンプルコードを使って動く・動かないを検証するだけであればタイムアウトとリトライはさほど気にすることは無いパラメータですが、実践ではいざという時に重要なパラメータになります。
続きを読むPosted by netbuffalo at
19:49
│TrackBack(0)│
2010年07月28日
実践SNMP+Java - Trap/Inform Receiver
SNMP4Jを利用したSNMP Trap/Informの受信について説明します。
そろそろ気がつかれている方もいるかもしれませんが、SNMPv3については説明してきませんでした。
僕自身、実践で利用する機会・ニーズが少ないのが理由です。
SNMP Trap/Inform受信についてもSNMPv3は、多分動くだろう、という程度です。
時間が出来たらv3についてもまとめるつもりです。
続きを読むPosted by netbuffalo at
19:09
│TrackBack(0)│
2010年07月26日
2010年07月23日
実践SNMP+Java - SNMP Inform
SNMP4Jを利用したSNMPv2 Informの送信について説明します。
これまでに説明したSNMPv1 Trap, SNMPv2 Trapを使うと、SNMPマネージャにアラームを通知することが出来ますが、Trapの場合、それだけではマネージャ側が受信したか否かを送信(SNMPエージェント)側で知ることは出来ません。
ですから、重要なアラームであるほど通知先(相手)が受信したことを知りたい、という実践(運用)上の矛盾が生じます。
Posted by netbuffalo at
14:49
│TrackBack(0)│
2010年07月22日
実践SNMP+Java - SNMPv2 Trap
SNMP4Jを利用したSNMPv2 Trapの送信について説明します。
SNMPv2トラップではv1に比較し、PDUフォーマットがGet/GetNext/Setリクエストと統一されています。
続きを読むPosted by netbuffalo at
13:04
│TrackBack(0)│
2010年07月21日
2010年07月20日
実践SNMP+Java GetBulk
SNMP4Jを利用したSNMP GetBulk操作について説明します。
連続したMIBオブジェクトを一括で取得したい場合、GetNextに比較すると、
マネージャ/エージェント間のPDU数を減らすことが出来る為、効率良く取得出来ます。
続きを読むPosted by netbuffalo at
14:50
│TrackBack(0)│
2010年07月17日
実践SNMP+Java DisplayString
GetNext/Walkに関する記事で紹介したコードを使って、ifTable.ifEntry.ifDescrを取得すると、次のような:で分割されたHexStringが表示される場合があります。
何故でしょうか?
続きを読む
(大部分のケースでは正しいインタフェースの名称が表示されます)
何故でしょうか?
続きを読む
Posted by netbuffalo at
20:19
│TrackBack(0)│