- Advertisement -

CentOS7でのSNMP・SNMPTRAP設定方法

 CentOS 7でのSNMP・SNMPTRAPをインストールする際の手順とコンフィグの設定方法についての説明となります。

CentOS 7でのSNMPインストール方法

ファイアウォール無効化

簡易設定のため、ファイアウォールの無効化を行います。

[root@localhost umilcl]$ systemctl stop firewalld
[root@localhost umilcl]$ systemctl disable firewalld

net-snmp インストール

インターネットに接続可能な場合

# snmpインストール
[root@localhost umilcl]$ yum -y install net-snmp
[root@localhost umilcl]$ yum -y install net-snmp-utilsCode language: PHP (php)

インターネットに接続不可な場合

 以下はインターネット接続不可な場合のオフラインインストール方法となります。2-1で設定可能な方は飛ばしてください。

インストールメディアをマウント

 メディアを入れただけでは、ファイルを読み込めないのでドライブをマウントしてメディアの中のファイルを使用できるようにする。

# メディアをマウントするディレクトリの作成
[root@localhost tmp]$ mkdir /media/centos7

# メディアをマウント
[root@localhost tmp]$ mount -t iso9660 /dev/cdrom /media/centos7

# viでrepoファイル作成
[root@localhost tmp]$ cd /etc/yum.repos.d/

# ファイルの作成
[root@localhost tmp]$ vi media_default.repo

[media_default]
 name=media_default
 baseurl=file:///media/centos7
 gpgcheck=0
 enabled=0Code language: PHP (php)

オフラインインストール

# snmpインストール
[root@localhost umilcl]$ yum -y install --disablerepo=* --enablerepo=media_default net-snmp
[root@localhost umilcl]$ yum -y install --disablerepo=* --enablerepo=media_default net-snmp-utilsCode language: PHP (php)

net-snmp 設定

「/etc/snmp/snmpd.conf」の設定ファイルを編集します。

[root@localhost umilcl]$ vi /etc/snmp/snmpd.conf

com2sec 設定

「セキュリティ名」を定義し接続可能な「送信元ネットワーク」及び、「コミュニティ名」を紐づけます。

com2sec MyNetwork default  public

com2sec NAME SOURCE COMMUNITY
[NAME]:セキュリティ名。自由記述。 
[SPURCE]:問い合わせ可能なホスト名/IP アドレス(ソース IP)を指定。 "default" を指定時はすべてのホストからの問い合わせ許可。
[COMMUNITY]:コミュニティ名。自由記述。Code language: PHP (php)

group 設定

com2secで設定した「セキュリティ名」紐づけた「グループ名」を設定します。

group   MyGroup        v1               MyNetwork 
group   MyGroup        v2c              MyNetwork 

group NAME MODEL SECURITY
[NAME]:グループ名。自由記述。  
[MODEK]:セキュリティモデルの指定。 v1, v2c, usm のいずれかを選択。
[SECURITY]:セキュリティ名の指定。上記のセキュリティ名との紐づけ。Code language: CSS (css)

view 設定

MIB ツリーの参照を許可する範囲を定義します。
本例では、全ての MIB ツリーへのアクセスを許可した「AllView」を追加しています。
rocommunity publicを追加しないとsnmpwalkで参照できない場合があるので、追加しています。

view    SystemView     included        .1.3.6.1.2.1.1
view    SystemView     included        .1.3.6.1.2.1.25.1.1
view    AllView        included        .1

rocommunity public

view NAME TYPE SUBTREE (MASK)
[NAME]:group ディレクティブで指定したグループ名
[TYPE]:included またはたは
[SUBTREE]:set/get を許可する
[MASK]:MIB ツリーの指定方法を 16 進 4 桁表示したもの。 省略可。
    all		全ての MIB 情報
    system	システム関連情報のみCode language: JavaScript (javascript)

access 設定

snmp へのアクセス制限を設定します。

access  MyGroup    ""   any  noauth  exact   AllView    none    none

access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY
[NAME]:group ディレクティブで指定したグループ名. 
[CONTEXT]:SNMPv1, SNMPv2c を用いる場合は空欄 ("") 
[MODEL]:セキュリティモデル名. any, v1, v2c, usm のいずれかを選択。
[LEVEL]:セキュリティレベル. noauth, auth, priv のいずれかを選択. SNMPv1, SNMPv2c を用いる場合は noauth を選択。
[PREFIX]: [context] で指定された文字列の扱い。 exact (厳密に一致することを要求) か prefix (最初の文字列が一致) を選択。
[READ] [WRITE] [NOTIFY]:それぞれ get (読みだし), set (書き込み), trap (通知) を許可するかしないか。Code language: CSS (css)

大容量ファイルシステム使用率監視の設定

disk / 10000
disk /dev/shm 10000
disk /boot 10000

SNMP設定反映

net-snmp を再起動して、設定を反映します。また自動起動についても設定します。

# 起動確認コマンド
[root@localhost umilcl]$ systemctl status snmpd

# snmpdがActiveの場合
[root@localhost umilcl]$ systemctl restart snmpd

# snmpdがStopの場合
[root@localhost umilcl]$ systemctl start snmpd

# 自動起動設定
[root@localhost umilcl]$ systemctl enable snmpdCode language: PHP (php)

SNMP動作確認

「snmpwalk」を使用して、対象装置から MIB の情報を取得可能か確認します。

[root@localhost umilcl]$ snmpwalk -v 2c -c public 192.168.1.100Code language: PHP (php)

snmptrapd の設定

snmptrapd は、NW 装置からの Trap を受信します。設定ファイルは「/etc/snmp/snmptrapd.conf」です。

[root@localhost umilcl]$ vi /etc/snmp/snmptrapd.conf

「public」というコミュニティ名で送信された Trap を受信するには、以下のとおり設定します。

authCommunity log,execute,net publicCode language: PHP (php)

snmptrapd の設定反映

snmptrapd を再起動して、設定を反映します。また自動起動を設定します。

[root@localhost umilcl]$ systemctl restart snmptrapd
[root@localhost umilcl]$ systemctl enable snmptrapd 

snmptrapd の動作確認

「tail -f」を使用して、対象装置から Trap を受信可能か確認します。

[root@localhost umilcl]$ tail -f /var/log/messagesCode language: JavaScript (javascript)

SYSLOG動作確認(Hinemos用)

Hinemosエージェントを導入しないマシンにおいてsyslogを監視するための設定です。
Hinemosでの監視を行わない方は流してください。

*.info;mail.none;authpriv.none;cron.none @MANAGER_IP_ADDRESS:514

最後に

 上記まででCentOS7におけるSNMP・SNMPTRAPの導入は完了となる。

 SNMPやSNMPTRAPを活用したサーバ・ネットワーク等のシステム監視としてHinemos等のオープンソースソフトウェア(OSS)があるので以下に紹介記事を記載しておきます。

- Advertisement -
UMilCL
UMilCLhttps://umilcl.com
兼業ブロガー。大手製造業の企画・設計・プロジェクト管理で8年、受配電・電動機・システムの保全部門の課長1年目。 得意分野: プロセス制御と統計、機械学習、画像処理、システム技術 保有資格: プロジェクトマネージャー、情報処理安全確保支援士、ネットワークスペシャリスト、応用情報処理、第一種衛生管理者

Similar Articles

Comments

返事を書く

コメントを入力してください!
ここに名前を入力してください

- Advertisement -

Follow US

1ファンいいね
19フォロワーフォロー
633フォロワーフォロー
3,383フォロワーフォロー
0SubscribersSubscribe

Archive

Most Popular