SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

net-snmpについて

net-snmpについて(環境構築)

net-snmpによる環境構築、snmpd.confについて


  • X ポスト
  • このエントリーをはてなブックマークに追加

3.1.5 自動起動設定

 OSが起動した時に、snmpdが一緒に起動するように設定します。以下のファイル(起動スクリプト)を「/etc/init.d/snmpd」として保存します。

備考
 今回はシステムロガーにログ管理をさせています。ファシリティーの値をlocal6にしていますが、既に使用中であれば適時変更してください。
詳しくは、ITproの「シスログとは」のページ等を参照してください。
 
リスト2 /etc/init.d/snmpd
#!/bin/bash
# net-snmp init file for snmpd
# 
# description: Simple Network Management Protocol (SNMP) Daemon
# 
# processname: /usr/sbin/snmpd
# config: /usr/share/snmp/snmpd.conf
# pidfile: /var/run/snmpd

# source function library
. /etc/init.d/functions

if [ -e /usr/share/snmp/snmpd.options ]; then
  . /usr/share/snmp/snmpd.options
else
   OPTIONS="-Ls6 -Lf /dev/null -p /var/run/snmpd.pid -a"
fi

RETVAL=0
prog="snmpd"

start() {
        echo -n $"Starting $prog: "
        if [ $UID -ne 0 ]; then
                RETVAL=1
                failure
        else
                daemon /usr/sbin/snmpd $OPTIONS
                RETVAL=$?
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/snmpd
        fi;
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        if [ $UID -ne 0 ]; then
                RETVAL=1
                failure
        else
                killproc /usr/sbin/snmpd
                RETVAL=$?
                [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/snmpd
        fi;
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc /usr/sbin/snmpd -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

condrestart(){
    [ -e /var/lock/subsys/snmpd ] && restart
    return 0
}

case "$1" in
  start)
        start ;;
  stop)
        stop ;;
  restart)
        restart ;;
  reload)
        reload ;;
  condrestart)
        condrestart ;;
  status)
        status snmpd
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
        RETVAL=1
esac
exit $RETVAL

 起動スクリプトのアクセス権を変更し、実行件を与えます。

% chmod 755 /etc/rc.d/init.d/snmpd

 起動スクリプトをOSに登録します。

% /sbin/chkconfig --add snmpd
% chkconfig snmpd on

 システムロガー用コンフィグファイル(/etc/syslog.conf)に、snmpd が出力するファイルを追記します。

/etc/syslog.conf
(以下を最後に追記)
local6.* /var/log/snmpd.log

 システムロガーを再起動します。

% /etc/init.d/syslog restart
カーネルロガーを停止中:            [  OK  ]
システムロガーを停止中:            [  OK  ]
システムロガーを起動中:            [  OK  ]
カーネルロガーを起動中:            [  OK  ]
%

 ログローテーション機能に、「/var/log/snmpd.log」も対象に加えます。

% vi /etc/logrotate.d/snmpd

/var/log/snmpd.log {
    daily
    compress
    rotate 7
#   notifempty   <- ココは一旦コメントアウト、後ではずします。
    missingok
}
備考2
 ログローテーションの設定項目の意味については、「logrotate」のページを参照してください。
 

 下記を実行。

% touch /var/log/snmpd.log
% /usr/sbin/logrotate /etc/logrotate.conf

 ファイル(/var/lib/logrotate.status)を開き、snmpd.log の日付が本日になっているはずなので、その日付を1週間以上過去にします(例えば月の値を1つ減らすとか)。

"/var/log/snmpd.log" 2008-7-10
↓下記のように修正
"/var/log/snmpd.log" 2008-6-10

 保存後、再度下記を実行。

% /usr/sbin/logrotate /etc/logrotate.conf

 「/var/log/snmpd.log.1.gz」が作られていることを確認します(この時点で「/etc/logrotate.d/snmpd」のコメントを外します)。

 下記コマンドを実行し、crondをデーモン実行するように設定します。

% chkconfig crond on

 snmpdの起動・再開・終了を試します。

% /etc/init.d/snmpd start
snmpd を起動中:                    [  OK  ]
%

 インストールした環境で下記コマンドを実行。ガッサリ流れたらOK。

% snmpwalk -v 2c -c localcom localhost .1.3.6.1.4.1.2021.11
% snmpwalk -v 2c -c securecom 192.168.1.12 .1.3.6.1.4.1.2021.11

 再開機能と停止機能を確認します。

% /etc/init.d/snmpd restart
snmpd を停止中:                    [  OK  ]
snmpd を起動中:                    [  OK  ]
%
% /etc/init.d/snmpd stop
snmpd を停止中:                    [  OK  ]
%

 snmpdの起動および停止情報が、「/var/log/snmpd.log」に記述されていることを確認します。

3.2 マネージャの構築(TWSNMPのインストール)

 TWSNMPは、twise labo社が作成している、フリーのSNMPマネージャソフトです。同社のWebページからインストーラをダウンロードして実行してください。インストール処理で聞かれるのは、インストール場所くらいなものなので、問題なく終わると思います。

3.2.1 動作確認

 起動し、メニューの[管理ツール]-[自動発見]を実行します。開始アドレス(192.198.1.1)と終了アドレス(192.198.1.20)、SNMPモード(SNMPv2)、Community/user(securecom)を入力し、[開始]ボタンを押下すると、監視対象のノードのアイコンが出力されます。

 これはGUIということもあり、大変親切なヘルプファイルもあるので([ヘルプ]-[マニュアル表示])、詳しい説明は省略します。

次のページ
4. snmpd.conf について

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
net-snmpについて連載記事一覧

もっと読む

この記事の著者

赤松 エイト(エイト)

(株)DTSに勤てます。WebアプリやJavaやLL等の上位アプリ環境を密かに憧れつつも、ず~っとLinuxとかHP-UXばかり、ここ数年はカーネル以上アプリ未満のあたりを行ったり来たりしています。mixiもやってまして、こちらは子育てとか日々の日記メインです。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2839 2008/09/06 00:25

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング