[CentOS] SNMP マネージャー構築手順

CentOS8 で SNMP マネージャーを簡易的に構築する際の手順について記載します。

SNMP マネージャーを構築する手順

まずは、net-snmp と net-snmp-util をインストールします。

yum -y install net-snmp net-snmp-utils

次に、/etc/snmp/snmpd.conf を編集します。

com2sec  LocalNetwork  <SNMP Manager の IP>  public
group   LocalGroup v1           LocalNetwork
group   LocalGroup v2c           LocalNetwork
view    AllView    included   .1
access  LocalGroup ""      any       noauth    exact  AllView none none

snmpd の再起動を実施します。

# systemctl restart snmpd.service
# systemctl enable snmpd.service

次に SNMP Trap を受信できるように設定します。

まずは、/etc/snmp/snmptrapd.conf を編集します。
(コメントアウト外すだけ)

UCD-DISKIO-MIB::diskIOLA5.7 = INTEGER: 0
UCD-DISKIO-MIB::diskIOLA15.1 = INTEGER: 0
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
authCommunity   log,execute,net public   #コメントアウトを外す
# traphandle SNMPv2-MIB::coldStart    /usr/bin/bin/my_great_script cold

snmptrapd の再起動を行います。

# systemctl restart snmptrapd.service
# systemctl enable snmptrapd.service

以上の時点で SNMP Trap を受信できるようにはなっていますが(ファイアウォール
の設定が完了している前提)、MIB の読み込み等は行えていないので、以下に MIB を
読み込む設定及びログの出力先設定について記載します。

まずは、”/usr/share/snmp/vendormibs” というディレクトリを作成し、当該
ディレクトリ配下にベンダー MIB ファイルをアップロードします。

# mkdir /usr/share/snmp/vendormibs
# ls /usr/share/snmp/vendormibs/
BRIDGE-MIB.mib                       INET-ADDRESS-MIB.mib     SNMPv2-CONF.mib                      VMWARE-NSX-MANAGER-MIB.mib             VMWARE-VCOPS-EVENT-MIB.mib
ENTITY-MIB.mib                       IP-FORWARD-MIB.mib       SNMPv2-MIB.mib                       VMWARE-OBSOLETE-MIB.mib                VMWARE-VMINFO-MIB.mib
HOST-RESOURCES-MIB.mib               IP-MIB.mib               SNMPv2-SMI.mib                       VMWARE-PRODUCTS-MIB.mib                VMWARE-VRNI-AGENTCAP-MIB.mib
HOST-RESOURCES-TYPES.mib             IPV6-FLOW-LABEL-MIB.mib  SNMPv2-TC.mib                        VMWARE-RESOURCES-MIB.mib               VMWARE-VRNI-MIB.mib
IANA-ADDRESS-FAMILY-NUMBERS-MIB.mib  LLDP-V2-MIB.mib          TCP-MIB.mib                          VMWARE-ROOT-MIB.mib                    VMWARE-VROPS-AGENTCAP-MIB.mib
IANA-ENTITY-MIB.mib                  LLDP-V2-TC-MIB.mib       TOKEN-RING-RMON-MIB.mib              VMWARE-SRM-EVENT-MIB.mib               VMWARE-VROPS-MIB.mib
IANA-RTPROTO-MIB.mib                 P-BRIDGE-MIB.mib         UDP-MIB.mib                          VMWARE-SYSTEM-MIB.mib                  incompatible
IANAifType-MIB.mib                   Q-BRIDGE-MIB.mib         UUID-TC-MIB.mib                      VMWARE-TC-MIB.mib                      list-ids-diagnostics.txt
IEEE8021-BRIDGE-MIB.mib              README                   VMWARE-CIMOM-MIB.mib                 VMWARE-TUNNEL-SERVER-AGENTCAP-MIB.mib  notifications.txt
IEEE8021-Q-BRIDGE-MIB.mib            RMON-MIB.mib             VMWARE-ENV-MIB.mib                   VMWARE-TUNNEL-SERVER-MIB.mib           vc-alarms-65.csv
IEEE8021-TC-MIB.mib                  RMON2-MIB.mib            VMWARE-ESX-AGENTCAP-MIB.mib          VMWARE-VA-AGENTCAP-MIB.mib
IEEE8023-LAG-MIB.mib                 SNMP-FRAMEWORK-MIB.mib   VMWARE-HEARTBEAT-MIB.mib             VMWARE-VC-EVENT-MIB.mib
IF-MIB.mib                           SNMP-MPD-MIB.mib         VMWARE-NSX-MANAGER-AGENTCAP-MIB.mib  VMWARE-VCHA-MIB.mib

次に上記で追加した MIB ファイルを認識させるために /etc/sysconfig/snmptrapd
に以下の行を追加します。
(以下の設定では syslog の local6 に SNMP Trap の内容を出力)

OPTIONS="-Ls6d -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs:/usr/share/snmp/vendormibs -m all"   #追加

snmptrapd を再起動します。

# systemctl restart snmptrapd.service

以上までの設定で SNMP Trap を受信した際には /var/log/messages に出力
されます。

ただ、/var/log/messages で確認する場合、その他のログも一緒に載るため
以下の設定により snmptrapd.log に出力するように設定します。

まずは、/etc/rsyslog.conf に以下のように記載します。
(/etc/sysconfig/snmptrapd で local6 に出力するように設定したため)

local6.*                                                /var/log/snmptrapd.log  #追加

次に、rsyslog を再起動します。

systemctl restart rsyslog.service

/var/log/ ディレクトリ配下を確認すると以下のように snmptrapd.log が
作成されており、以上で設定は完了です。

SNMP Trap の確認

今回は vCenter Server / ESXi に SNMP Trap の設定を行い、Trap を飛ばして
みました。

実際に SNMP Trap を飛ばしてみると、/var/log/snmptrapd.log では以下の
ように確認でき、SNMP Trap を正常に受信できてました。

タイトルとURLをコピーしました