*snmpd
*snmpd [#cdf3dba0]
#contents


**SNMP とは
**SNMP とは [#tee02521]
SNMP とはネットワークトラフィックやディスク容量やCPU負荷等の各種情報を管理するためのプロトコルです。
よく MRTG でグラフを作ったりするのに使います。


**snmpd.conf を変更する
**snmpd.conf を変更する [#z4fca7fd]
-デフォルトの snmpd.conf ではコミュニティ名として大抵 public 等が指定されているが、snmpd を動かすならこれは必ず変更すべき。
--snmp においてコミュニティ名はパスワードのような役目をする為である。


**daemontools で起動する
**daemontools で起動する [#ga889128]
/etc/snmp/snmpd.conf を変更して /etc/init.d/snmpd start で起動しても良いが、
ここでは daemontools で起動するようにする。

***snmpd 用ユーザを作る
***snmpd 用ユーザを作る [#v9072a97]
snmpd は snmpd プロセス用ユーザ、snmpd は multilog によるログ取り用ユーザ
 useradd -s /dev/null -d /dev/null snmpd
 useradd -s /dev/null -d /dev/null snmpdlog

***サービスディレクトリ作成
***サービスディレクトリ作成 [#bd8870a8]
 mkdir /var/service/snmpd
 mkdir /var/service/snmpd/log
 chown snmplog.snmplog /var/service/snmpd/log

***run スクリプト作成
***run スクリプト作成 [#k2234d4e]
-/var/service/snmpd/run
 #!/bin/sh
 uid=`id -u snmpd`
 gid=`id -g snmpd`
 exec \
 env - \
 /usr/sbin/snmpd -fL -u $uid -g $gid -c snmpd.conf 127.0.0.1 \
 2>&1
--snmpd.conf は '''/service/snmpd/snmpd.conf''' に置いておくことにした。
--今回は外部からアクセスできる必要は無いので、LISTEN する IP を 127.0.0.1 に指定する。
--daemontools で使う為に -f オプションで fork しないようにして、-L オプションでログを標準出力に出すようにしている。

-/var/service/snmpd/log/run
 #!/bin/sh
 exec setuidgid snmpdlog multilog t ./main

***サービスを有効にする
***サービスを有効にする [#i65394a8]
 ln -s /var/service/snmpd/ /service


**罠
***snmpd.conf を指定して起動したらセグメンテーションフォルト
**罠 [#b76f7686]
***snmpd.conf を指定して起動したらセグメンテーションフォルト [#a168130e]
-以下のように snmpd.conf を指定して起動しようとしたときに、引数無しで起動した場合に使われる snmpd.conf が存在すると、セグメンテーションフォルトが発生して起動出来ない現象が発生する。
 snmpd -c snmpd.conf
-これは既存の snmpd.conf を削除、または空ファイル
((削除ではなく空ファイルを置いておくのは rpm 等で snmpd をアップデートしたときに新しく snmpd.conf が作成されないようにする為。))
にしておくと回避できた。
 mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
 touch /etc/snmp/snmpd.conf


*コメント
*コメント [#xd6da5a7]
- Good site! My about <a href=http://paxil-buy-online.blogspot.com>paxil</a>. -- [[paxil]] &new{2006-12-20 (水) 05:37:38};

#comment



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS