work.log

元エンジニアの備忘録的ブログ

Net-SNMP のメモ

投稿:2012-07-03 18:59  更新:

Net-SNMP の使い方メモです。

昨日、うるう秒の影響でサーバが重くなったと書きましたが、よくよく調べてみたら問題は同居してる完全放置の VM にあったようで、メインが巻き添えを食らっていたという落ちでした。

起動してたのも忘れるくらいどうでも良い VM だったのですが、コレを機会にある程度は監視もしようと思っている所です。

とりあずはグラフが見れたらいいかなということで Cacti を使う予定ですが、その準備として Net-SNMP をインストールします。

SNMP を監視エージェントとして使うのが目的で、コマンドの使い方はおまけ程度に書きます。

Net-SNMP のインストール

# cd /usr/ports/net-mgmt/net-snmp
# make install clean

設定するオプションはこんな感じです。

IPV6 のチェックを外した位だったと思います。

WITHOUT_IPV6=true
WITHOUT_MFD_REWRITES=true
WITH_PERL=true
WITH_PERL_EMBEDDED=true
WITHOUT_PYTHON=true
WITH_DUMMY=true
WITHOUT_TKMIB=true
WITHOUT_DMALLOC=true
WITHOUT_MYSQL=true
WITHOUT_AX_SOCKONLY=true
WITHOUT_UNPRIVILEGED=true

RedHat 系の Linux OS であれば yum から入ります。

# yum install net-snmp net-snmp-utils net-snmp-libs

snmpd.conf の作成

昔に調べた時の注釈が入ったままのものを使いまわしてます。

とりあずそのまま転載。

色々書いていますが、10.0.0.0/24 の NW からコミュニティ名 public で情報を取れるようになります。

コミュニティ名はパスワードみたいなものなので適時変更したほうが良いと思います。

# vi /usr/local/etc/snmpd.conf
# --------------------------------------------------------------------
# First, map the community name "public" into a "security name"
# ネットワークの範囲、コミュニティ名の定義
#       sec.name       source           community
# --------------------------------------------------------------------
com2sec pubnet        localhost          public
com2sec pubnet        10.0.0.0/24        public

# --------------------------------------------------------------------
# Second, map the security name into a group name:
# SNMP 各バージョンで採用するセキュリティモデルの定義
#       groupName      securityModel securityName
# --------------------------------------------------------------------
group   public_group       v1              pubnet
group   public_group       v2c             pubnet
group   public_group       usm             pubnet

# --------------------------------------------------------------------
# Third, create a view for us to let the group have rights to:
# SNMP で取得可能な情報の範囲指定。第4フィールドの MIB オブジェクト ID
# と 第5フィールドのマスクによって範囲を指定できる
# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name              incl/excl       subtree       mask(optional)
# --------------------------------------------------------------------
view    view_all          included        .1                      80
view    view_mib2         included        .1.3.6.1.2.1            fc
view    view_ucdavis      included        .1.3.6.1.4.1.2021       fe

# --------------------------------------------------------------------
# Finally, grant the group read-only access to the systemview view.
# アクセス許可の設定
#  access "group" "context" "sec.model" "sec.level" "prefix" "read" "write" "notif"
# --------------------------------------------------------------------

# グループに対する権限の設定
access  public_group   ""  any   noauth   exact  view_all   none  none

# --------------------------------------------------------------------
# System contact information
#
# --------------------------------------------------------------------
# システム場所
syslocation 10.0.0.1

# 管理者
syscontact admin@hogehoge.net

rc.conf の設定

#
# Net-SNMP
#
snmpd_enable="YES"
snmpd_conffile="/usr/local/etc/snmpd.conf"

Net-SNMP の起動とポートの確認

# /usr/local/etc/rc.d/snmpd start

# netstat -an -p udp | grep 161

udp4       0      0 *.161                  *.*  

# UDP 161 Port が上がっていれば OK

SNMP 疎通テスト

# snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: www.hogehoge.net

# ホスト名が返ってくれば OK

インストールから設定はこんなところです。

とりあず、snmpgetsnmpwalk で SNMP が動作しているホストから色々な情報が取ってこれるようになります。( 設定されている権限内で)

どんな情報が取れるかは下記コマンドで確認することができますが、かなり大量に出力されるので、非力過ぎるホストや NW 機器なんかには連続実行しないように。

# snmpwalk -v <1|2c> -c <コミュニティ名> <Host IP> .1 (OID)

Cacti とかはテンプレートがいくつも用意されているので特に必要のない情報かもしれませんが SNMP を使った監視をするのに役に立ちそうな OID を抜粋。

+-----------------+----------------------------+
| CPU idle        | .1.3.6.1.4.1.2021.11.11.0  |
+-----------------+----------------------------+
| Load 1min       | .1.3.6.1.4.1.2021.10.1.3.1 |
+-----------------+----------------------------+
| Load 5min       | .1.3.6.1.4.1.2021.10.1.3.2 |
+-----------------+----------------------------+
| Load 15min      | .1.3.6.1.4.1.2021.10.1.3.3 |
+-----------------+----------------------------+
| swap size       | .1.3.6.1.4.1.2021.4.3.0    |
+-----------------+----------------------------+
| swap free       | .1.3.6.1.4.1.2021.4.4.0    |
+-----------------+----------------------------+
| mem size        | .1.3.6.1.4.1.2021.4.5.0    |
+-----------------+----------------------------+
| mem free        | .1.3.6.1.4.1.2021.4.6.0    |
+-----------------+----------------------------+
| swap & mem free | .1.3.6.1.4.1.2021.4.11.0   |
+-----------------+----------------------------+
| shared mem      | .1.3.6.1.4.1.2021.4.13.0   |
+-----------------+----------------------------+
| buffer mem      | .1.3.6.1.4.1.2021.4.14.0   |
+-----------------+----------------------------+
| cached mem      | .1.3.6.1.4.1.2021.4.15.0   |
+-----------------+----------------------------+

Disk もあったはずだけど OID を失念。

一応これで監視される側の準備はできたので、Cacti の設定は今度書きます。

関連記事

コメント

コメントを残す

よく読まれている記事

  • 本日
  • 週間
  • 月間