CentOSでnet-snmp
2007-06-10
MRTG でリモートからサーバ監視するためには、監視対象のサーバで snmp のデーモンが動いている必要があります。そこで、今回は CentOS4.4 に net-snmp の導入をしてみます。
手順としては、net-snmp のモジュールを外部サーバから取得してきて、ビルドするだけです。
(rootで作業します) % cd /usr/local/src % wget http://jaist.dl.sourceforge.net/sourceforge/net-snmp/net-snmp-5.3.0.1.tar.gz % tar zxvf net-snmp-5.3.0.1.tar.gz % cd net-snmp-5.3.0.1 % ./configure --with-mib-modules="host ucd-snmp/diskio" (プロンプトが出現するが全てEnterでよい) % make % make install
環境によっては、下記の 2 つのモジュールを yum でインストールしておかないとダメな場合もあります。
% yum install beecrypt-devel % yum install elfutils-libelf-devel
これで、snmpd が起動できますが、その前に、snmp と snmptrap の設定をします。snmp の設定では、監視対象となるグループやネットワークセグメント、またハードディスクのパーティションに対して監視設定ができます。
まず、snmp の設定ファイルをサンプルを元に作成します。 ネットワークアドレスやコミュニティ名は環境に合わせて下さい。
% cp EXAMPLE.conf /usr/local/share/snmp/snmpd.conf % vi /usr/local/share/snmp/snmpd.conf #### # First, map the community name (COMMUNITY) into a security namecd /hom # (local and mynetwork, depending on where the request is coming # from): # sec.name source community com2sec local localhost communityname com2sec mynetwork 192.168.0.0/24 communityname # Check the / partition and make sure it contains at least 10 megs. disk /home 10% disk /var 10% disk / 10%
次に、snmpstap の設定です。net-snmp5.2 では、デフォルトで trap をどこからでも検知する設定なので不要ですが、net-snmp5.3 では設定が必要になります。今回は、net-snmp5.2 の設定と同じく、全部許可する設定をします。設定ファイルは新規の作成となります。
% vi /usr/local/share/snmp/snmptrapd.conf disableAuthorization yes
あとは、snmpd を起動して動作確認です。
% /usr/local/sbin/snmpd
snmpwalk を使うといろいろな確認テストができます。 その他、OS 起動時の自動設定などをしておけば楽になります。
# デーモンの起動スクリプト
% vi /etc/init.d/snmp
#!/bin/sh
case "$1" in
start)
/usr/local/sbin/snmpd -a -Lsd -p /var/run/snmpd.pid
/usr/local/sbin/snmptrapd -a -Lsd -p /var/run/snmptrapd.pid
;;
stop)
kill `cat /var/run/snmpd.pid`
kill `cat /var/run/snmptrapd.pid`
;;
*)
exit 1
esac
exit 0;
# 実行権限付与
% chmod 755 /etc/init.d/snmp
# 自動起動の設定
% chkconfig --add snmp
# 自動起動の確認
% chkconfig --list snmp
あとは、監視側の設定をするだけです。
関連記事
- Linuxのiptablesのサンプル
- シェルのmailコマンドでfromを設定
- Debianのバージョン確認
- tarで圧縮時に指定ファイルを除外する
- sedでhtmlのタグを除去する
- ユーザーのcrontabの設定ファイルの場所
- sshクライアントでconfig設定
- 改行コードを変更する(dos2unix編)
- sortコマンドで並び替え対象のカラムを指定する
- 標準出力と標準エラー出力をパイプに渡す
- ファイルの文字コード変換(iconv)
- echoで連続するファイル出力
- シェルスクリプトで文字列操作
- kshのechoで改行を制御
- ftpコマンドで使えるオプション(chmod)
- diffでよく使うオプション
- ヒアドキュメントでファイル出力
- kshでコマンド補完とコマンド履歴
- シェルスクリプトでshiftとwhileの組み合わせ
- シェルスクリプトのshiftで引数制御
- リダイレクトとファイルディスクリプタ(2)
- vimで正しいファイルエンコード表示
- 簡易なサーバの状態表示
- sudoでroot権限のスクリプトを実行する
- Basic認証のファイル作成スクリプト
- Linux(UNIX)でHDDの増設
- 7日前のファイルを削除
- MRTGでディスクIO(FreeBSD6.2編)
- ユーザーの削除(FreeBSD編)
- リダイレクトとファイルディスクリプタ(1)
- coLinuxでFedoraCore5を動かす(2)
- coLinuxでFedoraCore5を動かす(1)
- クラスタ環境のサーバ監視(ganglia)
- daemontools(Linux)
- screenで遠隔からコンソール共有
- MRTGでディスクIO(Linux編)
- CentOS5.0の初期設定
- VMware PlayerでCentOS
- digコマンドでDNSの問い合わせ
- tcpdumpでよく使うコマンド
- yumのキャッシュ用のファイルを削除する
- yumコマンド一覧
- ログローテートの実行結果
- Linuxのプロセス表示で実行中コマンドの最後まで見る
- snmpでデバイスの情報を取得


