FreeBSD/SNMP のバックアップの現在との差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*&SIZE(15){''SNMP''}; [#j813eb7c]

Net-SNMPとはSNMP(Simple Network Management Protocol)を使用してルータやホストを管理するためのデーモンやパッケージの集合です。~
ルータにSNMPで情報を取得したい場合、ルータの設定変更を一括で行う場合、トラップを生成したい場合等にとても役立つでしょう。~
SNMPでトラフィックやディスクの情報を取り出して、[[MRTG>FreeBSD/MRTG]]などでグラフィカルに表示したりします。~


+[[''環境''>#A]]
+[[''インストール''>#B]]
+[[''/etc/rc.confの編集''>#C]]
+[[''snmp設定ファイル編集''>#D]]
+[[''hosts.allowファイル編集''>#n3bd60be]]
+[[''確認''>#E]]
+[[''初期設定''>#F]]
#contents

**''環境''&aname(A); [#pcc5c313]
FreeBSD 6.0~
net-snmpd 5.2.2
~
**''インストール''&aname(B); [#c834ef0d]
 # cd /usr/ports/net-mgmt/net-snmp
 # make install
**''/etc/rc.confの編集''&aname(C); [#oc5fee5c]
■下記を追加
 #SNMP
 snmpd_enable="YES"
 snmptrapd_enable="YES"
 snmpd_conffile="/usr/local/etc/snmpd.conf"

**''snmp設定ファイル編集''&aname(D); [#c97fb964]
■snmpの設定ファイルは何故か「/usr/local/share/snmp/snmpd.conf」です。
 # vi /usr/local/share/snmp/snmpd.conf
■snmpの設定ファイル「/usr/local/share/snmp/snmpd.conf.example」をコピーして利用
 # cp /usr/local/share/snmp/snmpd.conf.example /usr/local/etc/snmpd.conf
 # vi /usr/local/etc/snmpd.conf
 下記のような感じでコミュニティ名とネットワークを設定する。
 コミュニティー名とはパスワードみたいなものです。
 #       sec.name  source          community
 com2sec local     localhost       PRIVATE
 com2sec mynetwork 192.168.0.0/24 PUBLIC
 ***追加***
 proc httpd     #httpプロセス監視の為
 disk /var      #diskの容量を取得する為
 disk /home
 disk /usr
 ***追加***

**hosts.allowの設定 [#n3bd60be]
■snmp接続したいIPを通るようにしておく
 # vi /etc/hosts.allow
 snmpd : 192.168.1. : allow
 snmpd : 127.0.0.1 : allow 

**''確認''&aname(E); [#u1796e66]
■snmpdプロセスを立ち上げて確認
 # /usr/local/etc/rc.d/snmpd.sh start
 # /usr/local/etc/rc.d/snmptrapd.sh start
 # snmpwalk -v 1 -c PUBLIC 192.168.0.1
MIB情報がいっぱい出てくれば正常です。~
MRTGでのグラフ表示は ⇒ [[こちら>FreeBSD/MRTG]]

**MIB情報の検索 [#cfcad27f]
 $ snmpwalk -c <コミュニティ名> <ホスト名> [ 検索範囲 ] 

 $ snmpwalk -v1 -c public localhost 

**MIB情報の名前変換 [#fdc93e94]
 $ snmptranslate -On UCD-SNMP-MIB::memTotalReal.0
 .1.3.6.1.4.1.2021.4.5.0
 
 $ snmptranslate .1.3.6.1.4.1.2021.4.5.0
 UCD-SNMP-MIB::memTotalReal.0

**MIBシンボル名/オブジェクトIDの詳細を表示 [#gc54cd6b]
 $ snmptranslate -Td .1.3.6.1.4.1.2021.4.5.0
 UCD-SNMP-MIB::memTotalReal.0
 memTotalReal OBJECT-TYPE
   -- FROM       UCD-SNMP-MIB
   SYNTAX        Integer32
   UNITS         "kB"
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION   "The total amount of real/physical memory installed
          on this host."
 ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) ucdavis(2021) memory(4) memTotalReal(5) 0 }
**MIBシンボル名/オブジェクトID以下のツリー構造を表示 [#ob4a1d51]
 $ snmptranslate -Tp .1.3.6.1.4.1.2021.4
 +--memory(4)
   |
   +-- -R-- Integer32 memIndex(1)
   +-- -R-- String    memErrorName(2)
   |        Textual Convention: DisplayString
   |        Size: 0..255
   +-- -R-- Integer32 memTotalSwap(3)
   +-- -R-- Integer32 memAvailSwap(4)
   +-- -R-- Integer32 memTotalReal(5)
   +-- -R-- Integer32 memAvailReal(6)
   +-- -R-- Integer32 memTotalSwapTXT(7)
   +-- -R-- Integer32 memAvailSwapTXT(8)
   +-- -R-- Integer32 memTotalRealTXT(9)
   +-- -R-- Integer32 memAvailRealTXT(10)
   +-- -R-- Integer32 memTotalFree(11)
   +-- -R-- Integer32 memMinimumSwap(12)
   +-- -R-- Integer32 memShared(13)
   +-- -R-- Integer32 memBuffer(14)
   +-- -R-- Integer32 memCached(15)
   +-- -R-- Integer32 memUsedSwapTXT(16)
   +-- -R-- Integer32 memUsedRealTXT(17)
   +-- -R-- EnumVal   memSwapError(100)
   |        Textual Convention: UCDErrorFlag
   |        Values: noError(0), error(1)
   +-- -R-- String    memSwapErrorMsg(101)
            Textual Convention: DisplayString
            Size: 0..255

*ソースからインストール [#g95e7b73]
[[http://www.net-snmp.org/]] ここから、ソースをダウンロード

 # tar zxvf net-snmp-5.4.2.1.tar.gz
 # cd net-snmp-5.4.2.1
 # ./configure
 # make
 # make install

*起動時にエラー [#dffedc67]
こんなエラーが出て起動できてなかった・・・。
 # /usr/local/etc/rc.d/snmpd start
 Starting snmpd.
 /libexec/ld-elf.so.1: Shared object "libperl.so" not found, required by "snmpd"

/usr/lib以下にシンボリックリンクを張ってやる。
 # ln -s /usr/local/lib/perl5/5.8.9/mach/CORE/libperl.so /usr/lib/libperl.so

再度起動
 # /usr/local/etc/rc.d/snmpd start
 Starting snmpd.
起動できた。

たぶん、snmpdを再インストールしてやっても普通に起動できるのだと思う。
 # portupgrade net-mgmt/net-snmp