Nagiosネットワーク監視

Nagiosでトラフィックグラフを作成/監視 check_snmp

Nagiosネットワーク監視

Nagiosネットワーク監視
ネットワークのトラフィック監視ではMRTGが有名ですが
Nagiosのcheck_snmpプラグインでもトラフィック監視が出来るので
Nagiosに一本化を考えている方にむけてご紹介します。

OIDを調べるのにはsnmptranslateコマンドが使えます。
snmptranslateコマンドが使えない場合はnet-snmp及びnet-snmp-utilsがインストールされていません。
記事下部にインストール設定を書いておきましたので
出来なかった方は参考にしてみてください。

[bash] # snmptranslate -On -IR ifInOctets
.1.3.6.1.2.1.2.2.1.10
[/bash] [bash] # snmptranslate -On -IR ifOutOctets
.1.3.6.1.2.1.2.2.1.16
[/bash]

取得したOIDを使ってsnmpwalkコマンドで戻り値を測定できます。
※オブジェクト名を使っても出来ます。
[bash] # snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.10

IF-MIB::ifInOctets.1 = Counter32: 8372230
IF-MIB::ifInOctets.2 = Counter32: 256664540
IF-MIB::ifInOctets.3 = Counter32: 0
IF-MIB::ifInOctets.4 = Counter32: 0
[/bash] ここで取得できない場合はsnmpdの設定がおかしくなっています。

NagiosはOIDの識別番号を把握してなくてもIF-MIB::ifHCInOcets.2などオプションとして用意されているので調べなくても大丈夫です。
IF-MIB::ifInOctets.1はloなのでIF-MIB::ifInOctets.2を使います。

check_snmpを使ってトラフィックを取得するコマンドが通るか試してみます。
[bash] # /usr/local/nagios/libexec/check_snmp -H 127.0.0.1 -C public -P 2c -o IF-MIB::ifHCInOctets.2 -o IF-MIB::ifHCOutOctets.2 -w 80000000 -c 90000000 –rate –rate-multiplier 60
[/bash] データベースにないので1度目はエラーが出ますが、2度目はエラーが出なくなったので大丈夫のようですね!

Nagiosのtraffic監視サービスの定義を行います。
[bash] # vi /usr/local/nagios/etc/objects/localhost.cfg

#traffic
define service{
use generic-service
host_name localhost
service_description TrafficUsage
check_command check_snmp!-H 127.0.0.1 -C public -P 2c -o IF-MIB::ifHCInOctets.2 -o IF-MIB::ifHCOutOctets.2 -w 80000000 -c 90000000 –rate –rate-multiplier 60
}
[/bash]

コマンドの定義を行います。
[bash] # vi /usr/local/nagios/etc/objects/commands.cfg

define command{
command_name TrafficUsage
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public -P 2c -o $ARG1$ -o $ARG2$ -w 80000000 -c 90000000 –rate –rate-multiplier 60
}
[/bash]

snmpデータが格納されるフォルダのパーミッションを緩くします。
[bash] # chmod 777 -R /usr/local/nagios/var/check_snmp
[/bash]

NagiosとPNP4nagiosを再起動させて読み込ませます。
[bash] # service nagios restart
# service npcd restart
[/bash]

これでNagiosでトラフィックを監視できるようになりました。

PNP4nagiosもあれば綺麗なグラフがとれるようになります☆
Nagiosトラフィック監視

死活監視だけでなく日頃のグラフやログチェックで
システムのトラブルを未然に防ぐ事ができます。

********************************************************************
サーバーやネットワーク機器の監視など承ります。

補足 net-snmp及びnet-snmp-utilsのインストール

net-snmp及びnet-snmp-utilsをインストール
[bash] # yum -y install net-snmp
# yum -y install net-snmp-utils
[/bash] [bash] # vi /etc/snmp/snmpd.conf

# First, map the community name “public” into a “security name”

# sec.name source community
com2sec notConfigUser default public
com2sec local localhost private
com2sec mynetwork 192.168.11.0/24 public←自分のネットワークを合わせる。

# Second, map the security name into a group name:

# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
group MyROGroup any mynetwork

# Third, create a view for us to let the group have rights to:

# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view systemview included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80

# Finally, grant the group read-only access to the systemview view.

# group context sec.model sec.level prefix read write notif
access notConfigGroup “” any noauth exact systemview none none
access MyROGroup “” any noauth exact all none none
access MyRWGroup “” any noauth exact all all none
access MyROGroup “” any noauth 0 all none none
[/bash]

再起動させて設定を読み込ませます。
[bash] # service snmpd restart
[/bash]

これでsnmp関連のコマンドが使えるようになったはずです。

※現在配布されているcheck_snmpとはファイルの中身が変わっているようで記事内のコマンドが通らなくなりました。
古いバージョンのcheck_snmpを入手してください。

Nagiosネットワーク監視
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG