【Linux】CentOSでSNMP(ポーリング)を実施する方法

Linux

はじめに

LinuxでSNMPエージェント設定し、Cisco機器から実施からMIB情報を取得する方法を紹介します。

検証環境

【localhost】

今回SNMPマネージャーの設定を入れる機器です。

IPアドレス:192.168.68.250

OS:CentOS8

【rt01】

今回SNMPエージェントして監視したいルーターです。

IPアドレス:192.168.68.51

機器名:Cisco1921/K9 

設定手順

SNMPエージェントのインストール

SNMPマネージャーにnet-snmpとnet-snmp-utilsをインストールします。

dnf(RHEL7ではyum)コマンドでパッケージインストールをします。

設定ファイル(snmpd.conf)の編集

インストールが完了したら、設定ファイルを編集します。

SNMPマネージャーの設定ファイルは/etc/snmp/snmpd.confにあります。中身を見ると割と膨大にデータが入っていますが、コメントアウト・空白が大半です。

以下は、コメントアウトと空白を除いたものだけを出力した結果です。

上記の中で不要な部分を削除し、以下のように書き換えます。細かい部分は次のセクションで説明します。

設定ファイルの書式について

書き換えた設定について、1つ1つみていきましょう。

com2sec omotiNetwork 192.168.68.250 omotiComName

【com2sec】この行が「コミュニティ名とセキュリティを指定する行」という意味になります。

【omotiNetwork】セキュリティ名を定義します。名前は任意に設定可能です。

【192.168.68.250】SNMPマネージャーのIPを定義します。

【omotiComName】コミュニティ名を定義します。名前は任意に設定可能です。

group omotiGroup v1 omotiNetwork

【group】この行が「グループを設する行」という意味になります。

【omotiGroup】グループ名を定義します。名前は任意に設定可能です。

【v1】セキュリティモデルを指定します。バージョン1で設定しています。

【omotiNetwork】セキュリティ名を指定します。名前は任意に設定可能です。

group omotiGroup v2c omotiNetwork

【group】この行が「グループを設定する行」という意味になります。

【omotiGroup】グループ名を定義します。名前は任意に設定可能です。

【v2c】セキュリティモデルを指定します。バージョン2でも対応できるように設定しています。

【omotiNetwork】セキュリティ名を指定します。名前は任意に設定可能です。

view omotiViewName included .1 80

【view】この行が「viewを設定するの行」という意味になります。

【omotiViewName】view名を定義します。名前は任意に設定可能です。

【included】「include」または「exclude」を指定します。includedは許可、excludeは拒否となります。

【.1】MIBの範囲を指定します。「.1」は、マスク値と連携することで意味をなします。

【80】マスク値を指定します。「80」は16進数表記です。これを2進数に変換すると「1000 0000」となります。

  OIDの形式は、「.1*」となるので、マスク値と合わせるとすべてのOIDが該当します。

  ゆえに、omotiViewNameは、すべてを許可することになります。

access omotiGroup “” any noauth exact omotiViewName none none

【access】この行が「アクセス許可設定を行う」という意味になります。

【omotiGroup 】グループ名の指定します。上記で設定したグループ名を指定します。

【”” 】contextの指定します。v1またはv2の場合は、空白で指定します。(””)

【any】sec.modelを指定します。セキュリティモデルを指定します。

【noauth】levelを指定します。v1またはv2の場合は「noauth」を指定します。

【exact】prefixを指定します。「exact」または、「prefix」のいずれかを指定します。

【omotiViewName】readの指定します。ここでviewで指定した名前を使います。

【none】writeを指定します。viewで指定した名前を使います。なければ「none」とします。

【none】notifyを指定します。viewで指定した名前を使います。なければ「none」とします。

disk /10000

disk:ディスクに関する設定行であることを表します。

/10000:ディレクトリの空き容量が10000K bB以下(10MB)になった場合、エラーとします。

syslocation LocalLab

syslocation:マシンの場所などを記載できます。

syscontact orangetea <orange0227jas☆ricecake24book.com>

syscontact:管理者の名前を登録できます。

dontLogTCPWrappersConnects yes

SNMPの問い合わせがあったときに、ログに書き込まない設定です。

【参考】

http://changineer.info/server/monitoring/monitoring_snmpd.html

https://qiita.com/toshiro3/items/e8f87da88cd383a6421d

上記の通り、編集した結果が以下です。