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
インストールから設定はこんなところです。
とりあず、snmpget か snmpwalk で 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 の設定は今度書きます。