Nexus9の運用設定3(SNMP/SNMPTRAP)

Nexus9監視運用設定と出力

運用フェーズで使いそうなコマンド出力を記載する。
※仮想NX-OSなので参考まで。

以下の仮想labのLinux管理サーバからNexusのLoアドレスを宛先にして監視運用する。
前提条件として監視サーバからNexusのLoアドレスまでNW到達性があること。

f:id:pinn38:20201103083640p:plain

snmptrapサーバインストール設定~起動

net-snmp インストール

[root@localhost ~]# dnf -y install net-snmp net-snmp-utils
(省略)
Upgraded:
  net-snmp-libs-1:5.8-14.el8_2.1.x86_64                                   

Installed:
  net-snmp-1:5.8-14.el8_2.1.x86_64                                        
  net-snmp-utils-1:5.8-14.el8_2.1.x86_64                                  
  mariadb-connector-c-3.0.7-1.el8.x86_64                                  
  mariadb-connector-c-config-3.0.7-1.el8.noarch                           
  net-snmp-agent-libs-1:5.8-14.el8_2.1.x86_64                             
  lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                  

Complete!

設定ファイルバックアップ

[root@localhost ~]# cp /etc/snmp/snmpd.conf  /etc/snmp/snmpd.conf.bk

設定編集 以下、元の設定

com2sec notConfigUser  default       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup ""      any       noauth    exact  systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes

以下、追加

com2sec LocalNetwork      172.16.0.0/12  public
group   LocalGroup        v1              LocalNetwork
group   LocalGroup        v2c             LocalNetwork
view    AllView        included        .1
access  LocalGroup        ""      any     noauth  exact   AllView         none    none

SNMP Trap を Local6 で Syslog に出力するよう以下設定変更

[root@localhost ~]# vi /etc/sysconfig/snmptrapd
OPTIONS="-Ls6 -p /var/run/snmptrapd.pid"  ←追加

以下ファイルに追記

[root@localhost ~]# vi /etc/snmp/snmptrapd.conf
disableauthorization yes  ←追加 syslogのmessagesに出力する設定らしい

trapのsyslog転送設定

[root@localhost ~]# vi /etc/rsyslog.conf
# SAVE snmptrap.log
local6.*                                                /var/log/snmptrapd.log  ←追加

syslogサーバ再起動

[root@localhost ~]# systemctl restart rsyslog.service

net-snmp有効化

[root@localhost ~]# systemctl enable snmpd
Created symlink /etc/systemd/system/multi-user.target.wants/snmpd.service  /usr/lib/systemd/system/snmpd.service.

snmpd/snmptrapd起動

[root@localhost ~]# systemctl start snmpd
[root@localhost ~]# systemctl start snmptrapd

起動確認

[root@localhost ~]# systemctl status snmpd
   Active: active (running)  ←となっていればOK
[root@localhost ~]# systemctl status snmptrapd
   Active: active (running)  ←となっていればOK
Nexus9k側設定

snmp-server user設定はuser設定時に自動作成される

snmp-server host 172.16.0.1 traps version 1 public
snmp-server host 172.16.0.1 use-vrf default
snmp-server host 172.16.0.1 source-interface loopback0
snmp-server community public group network-operator

snmpサーバからOID指定でMIBget
※以下MIBgetできたOK

[root@localhost ~]# snmpwalk -c public -v 1 172.16.0.2 .1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Cisco NX-OS(tm) nxos.7.0.3.I7.7.bin, Software (nxos), Version 7.0(3)I7(7), RELEASE SOFTWARE Copyright (c) 2002-2019 by Cisco Systems, Inc. Compiled 8/28/2019 15:00:00

Nexus9kでIFをshutしてtrapを飛ばしてみる

Nexus9k(config-if)# shutdown 
Nexus9k(config-if)# no shutdown 

snmpサーバ側でtrapログ確認
※trapがsyslogに転送されているのが確認できたOK

[root@localhost log]# tail -f snmptrapd.log 
Nov  3 13:43:05 localhost snmptrapd[14553]: 2020-11-03 13:43:05 40.40.40.40(via UDP: [40.40.40.40]:62203->[172.16.0.1]:162) TRAP, SNMP v1, community public#012#011SNMPv2-SMI::enterprises.9.9.276 Enterprise Specific Trap (1) Uptime: 19:46:10.77#012#011IF-MIB::ifIndex.436208640 = INTEGER: 436208640#011IF-MIB::ifAdminStatus.436208640 = INTEGER: down(2)#011IF-MIB::ifOperStatus.436208640 = INTEGER: down(2)#011IF-MIB::ifName.436208640 = STRING: Ethernet1/3#011IF-MIB::ifType.436208640 = INTEGER: ethernetCsmacd(6)
Nov  3 13:43:05 localhost snmptrapd[14553]: 2020-11-03 13:43:05 40.40.40.40(via UDP: [40.40.40.40]:62203->[172.16.0.1]:162) TRAP, SNMP v1, community public#012#011IF-MIB::linkDown Link Down Trap (0) Uptime: 19:46:10.98#012#011IF-MIB::ifIndex.436208640 = INTEGER: 436208640#011IF-MIB::ifAdminStatus.436208640 = INTEGER: down(2)#011IF-MIB::ifOperStatus.436208640 = INTEGER: down(2)#011IF-MIB::ifDescr.436208640 = STRING: Ethernet1/3#011IF-MIB::ifAlias.436208640 = STRING: