自動生成した拡張MIBのソースコードから拡張エージェントを作る
の記事で自動生成したソースコードから拡張エージェントを作る方法の説明です。
元の「実践SNMP教科書」やこの記事で自動生成するソースコードのスタイルとしてUCDスタイルを紹介しました。コードが簡素で扱いやすいのですが、そのまま使うと大きなバグがあるので使わないほうが無難です。今回のサンプルMIBの拡張エージェントを作成するには、NET-SNMPスタイルのほうがよいと思います。
ソースコードの自動生成
前回の記事ではメニューから選ぶ方法を紹介しました。mib2cにはパラメータで生成するコードを指定することができます。ヘルプを見ると
/usr/bin/mib2c [-h] [-c configfile] [-f prefix] mibNode
-h This message.
-c configfile Specifies the configuration file to use
that dictates what the output of mib2c will look like.
-I PATH Specifies a path to look for configuration files in
-f prefix Specifies the output prefix to use. All code
will be put into prefix.c and prefix.h
-d debugging output (don't do it. trust me.)
-S VAR=VAL Set $VAR variable to $VAL
-i Don't run indent on the resulting code
-s Don't look for mibNode.sed and run sed on the resulting code
mibNode The name of the top level mib node you want to
generate code for. By default, the code will be stored in
mibNode.c and mibNode.h (use the -f flag to change this)
です。-cで設定ファイルを指定して、-fでファイル名を指定できます。
設定ファイルは、/etc/snmp/にあります。
-rw-r--r-- 1 root root 6531 12月 9 2014 /etc/snmp/mib2c.access_functions.conf
-rw-r--r-- 1 root root 37700 12月 9 2014 /etc/snmp/mib2c.array-user.conf
-rw-r--r-- 1 root root 4646 12月 9 2014 /etc/snmp/mib2c.check_values.conf
-rw-r--r-- 1 root root 2391 12月 9 2014 /etc/snmp/mib2c.check_values_local.conf
-rw-r--r-- 1 root root 330 12月 9 2014 /etc/snmp/mib2c.column_defines.conf
-rw-r--r-- 1 root root 602 12月 9 2014 /etc/snmp/mib2c.column_enums.conf
-rw-r--r-- 1 root root 728 12月 9 2014 /etc/snmp/mib2c.column_storage.conf
-rw-r--r-- 1 root root 11942 12月 9 2014 /etc/snmp/mib2c.conf
-rw-r--r-- 1 root root 28202 12月 9 2014 /etc/snmp/mib2c.container.conf
-rw-r--r-- 1 root root 3471 12月 9 2014 /etc/snmp/mib2c.create-dataset.conf
-rw-r--r-- 1 root root 8107 12月 9 2014 /etc/snmp/mib2c.emulation.conf
-rw-r--r-- 1 root root 8498 12月 9 2014 /etc/snmp/mib2c.genhtml.conf
-rw-r--r-- 1 root root 3088 12月 9 2014 /etc/snmp/mib2c.int_watch.conf
-rw-r--r-- 1 root root 22345 12月 9 2014 /etc/snmp/mib2c.iterate.conf
-rw-r--r-- 1 root root 15048 12月 9 2014 /etc/snmp/mib2c.iterate_access.conf
-rw-r--r-- 1 root root 948 12月 9 2014 /etc/snmp/mib2c.mfd.conf
-rw-r--r-- 1 root root 2027 12月 9 2014 /etc/snmp/mib2c.notify.conf
-rw-r--r-- 1 root root 9182 12月 9 2014 /etc/snmp/mib2c.old-api.conf
-rw-r--r-- 1 root root 8777 12月 9 2014 /etc/snmp/mib2c.perl.conf
-rw-r--r-- 1 root root 19509 12月 9 2014 /etc/snmp/mib2c.raw-table.conf
-rw-r--r-- 1 root root 7039 12月 9 2014 /etc/snmp/mib2c.row.conf
-rw-r--r-- 1 root root 4455 12月 9 2014 /etc/snmp/mib2c.scalar.conf
-rw-r--r-- 1 root root 22905 12月 9 2014 /etc/snmp/mib2c.table_data.conf
これを利用して3種類のファイルを作成します。
ここから先は
26,795字
/
3画像
SNMPの仕様について解説した本やサイトは、沢山あると思います。
独自の拡張MIBを自分で設計してMIBファイルやエージェントを作る方法を解説した教科書はないと思います。
実践SNMP教科書 復刻版
500円
20年近く前に書いた「実践SNMP教科書」を現在でも通用する部分だけ書き直して復刻するマガジンです。最近MIBの設計で困っている人に遭遇し…
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。