メインコンテンツまでスキップ

Data ONTAP で SNMP による監視を設定する方法

Views:
7,473
Visibility:
Public
Votes:
5
Category:
clustered-data-ontap-8
Specialty:
core
Last Updated:

環境

  • clustered Data ONTAP 8
  • ONTAP 9

回答

:新しいバージョンのONTAPでSNMPを管理するには、次の項目を参照してください。 SNMPを管理するコマンド

  • clustered Data ONTAPで簡易ネットワーク管理プロトコル(SNMP)とSNMPトラップが簡単に導入されました。
  • SNMPを使用してC-Modeクラスタシステムから情報を取得する方法
  • SNMPトラップを設定し、目的のクライアントでイベントを受信するにはどうすればよいですか。

:次のTR-Guide - Data ONTAPでのSNMPサポートを参照してください

本レポートの目的は、clustered Data ONTAP 8 .2.x、8.3.x、およびONTAP 9におけるSNMPサポートのレベルを、お客様やNetAppのフィールドチームが把握できるようにすることです。  また、7-ModeとクラスタモードのOIDの可用性も比較します。個 々 のテーブルまたはグループレベルでのみ情報が提供されます。netapp.mibファイルは、テーブルまたはグループ内でサポートされるさまざまなフィールドや変数に関する追加情報を提供します。iReasoningなどのMIBブラウザツールを使用すると、netapp.mib ファイルの内容を簡単に解釈できます。 

SNMP:

SNMPは、一般に普及しているネットワーク監視および制御プロトコルです。データはSNMPエージェントから渡されます。SNMPエージェントは、各ネットワークデバイス(ハブ、ルータ、またはブリッジ)のアクティビティを報告するハードウェアプロセスまたはソフトウェアプロセスであり、ネットワークの監視に使用されるワークステーションコンソールに渡されます。エージェントは、Management Information Base(MIB;管理情報ベース)に含まれる情報を返します。MIBは、デバイスから取得できる情報と、制御可能な情報(オフまたはオン)を定義するデータ構造です。UNIXコミュニティに起源を持つSNMPは、すべての主要プラットフォームで広く使用されるようになりました。
MIBは、デバイスサブシステムの管理データの構造を表します。MIBは、Object Identifier(OID;オブジェクト識別子)を含む階層型ネームスペースを使用します。各OIDは、SNMPを介して読み取りまたは設定できる変数を識別します。

:NetAppでは、snmp-set操作はサポートされていません。また、snmp-supportはクラスタ全体に限定され、サーバ化は行われません。ただし、SNMPサポートがvFiler化されなかったため、これは8.1以降のリリースで実行され、7G vFilerとは異なります。

 clustered Data ONTAP

SNMPsの有効化/無効化:

SNMPプロトコルは、CLI / ZAPIを使用してクラスタで有効または無効にすることができます。

  • CLIを使用したクラスタでのSNMPの有効化- ngshからoptions-option-name snmp.enable-option-value を実行
  • CLIを使用したクラスタでのSNMPの無効化- ngshからoptions-option-name snmp.enable-option-value を実行
  • ZAPIを使用したクラスタでのSNMPの有効化- ONTAPIまたはzexplore.exeを使用して、API snmp-enable
  • ZAPIを使用したクラスタでのSNMPの無効化- ONTAPIまたはzexplore.exeを使用して、API snmp-disable を実行します

    $> ontapi snmp-[en|dis]able例:$> ontapi snmp-[en|dis]able
    注:SNMPプロトコルはクラスタ全体でのみ有効または無効にできます。Data ONTAP 8.1 C-Modeでは、クラスタ内の個 々 のノードにSNMPを送信することはできません。

7Gに似たSNMP UI:

Data ONTAP C-Modeは、多数のUI(CLIとZAPI)を利用してクラスタのSNMPの詳細を設定します。次に、クラスタシステムでSNMPを設定するのに役立つ各CLIの概要を示します。

  • snmp contact: 連絡先の詳細を表示または変更する
  • snmp location: ロケーションの詳細を表示または変更する
  • snmp init: クラスタから送信されるトラップを有効または無効にします[1 ->有効、0 ->無効]
  • snmp authtrap: authenticationFailureトラップを有効または無効にします[1 ->有効、0 ->無効]
  • snmp community add|delete: クラスタ内のコミュニティを表示、追加、または削除するには、デフォルトの「public」コミュニティ(ro)があります。
  • 注: 読み取り専用コミュニティのみがサポートされます。また、最初のSNMPコミュニティエントリを削除するには、通知に使用されるトラップホストを削除する必要があります。
  • snmp traphost add|delete: クラスタ内のトラップホストを表示、追加、または削除するために、ホストの実行中にクラスタ内で発生したすべてのトラップ(またはイベント)が該当するホストに送信されます。snmptrapd
  • options snmp.enable: クラスタでSNMPプロトコルを有効または無効にします[on => enabled、off => disabled]

以下は、clustered Data ONTAPシステムでのSNMPの設定に役立つ各ZAPIの概要です。

  • snmp-enable: クラスタでSNMPプロトコルを有効にします。
  • snmp-disable: クラスタでSNMPプロトコルを無効にします。
  • snmp-trap-enable: トラップホストに送信されるトラップを有効にします。
  • snmp-trap-disable: トラップホストに送信されるトラップを無効にします。
  • snmp-community-add: SNMPコミュニティを追加します。Data ONTAP 8.1 C-Modeでサポートされるのはroコミュニティのみです。
  • snmp-community-delete: 既存のコミュニティを削除します。
  • snmp-traphost-add: トラップホストを追加します。
  • snmp-traphost-delete: 既存のトラップホストを削除します。
  • snmp-status: クラスタのSNMP設定の詳細(場所、連絡先、トラップ、トラップホスト、コミュニティの詳細など)が表示されます。
  • snmp-get: APIへの入力としてOIDが指定されたときにオブジェクト値を読み取ります(snmpget UNIXユーティリティと同様)。
  • snmp-get-next: OIDとして指定された値の横にあるオブジェクトの値を読み取ります(snmpgetnext UNIXユーティリティと同様)。
  • Add/modify/view contact: クラスタの連絡先と場所の詳細は、SNMP CLIを使用して追加または変更できます。連絡先または場所の詳細を変更するための対応するAPIはありません。ただし、SNMP [walk | get | getnext](または)snmp-statusを使用してクラスタの詳細を読み取ることはできます(SNMPまたはZAPIを使用して変更することはできません)。

例:

CLIを使用した追加/変更:

ZAPI呼び出しを使用して読み取ります。
$> ontapi -x snmp-status

SNMP呼び出しを使用して読み取り:
$> snmpwalk -c public -v [1|2c]

C-ModeシステムでSNMPv3を設定する方法:

  • security login create CLIを使用して、クラスタにSNMPv3ユーザを作成します。
  • engineIDを入力します(デフォルトのローカルengineIDを使用します)。
  • 認証プロトコルを入力し、指定したSNMPv3ユーザのパスワードを入力します。
  • -v 3を指定してユーザクレデンシャルを指定し、SNMPv3ユーザに対してsnmp[walk|get|getnext]実行します。

PDFの付録セクションでは、SNMPv3ユーザを作成し、そのユーザに対してSNMP utilities実行する方法の例を示します。

SNMPトラップ:

エージェントからマネージャへの非同期通知:現在のsysUpTime値、トラップのタイプを識別するOID、およびオプションの変数バインディングが含まれます。トラップの宛先アドレス指定は、アプリケーション固有の方法で決定されます。通常は、MIBのトラップ設定変数を使用します。トラップメッセージの形式がSNMPv2で変更され、PDUの名前がSNMPv2-Trapに変更されました。

clustered Data ONTAP

7-ModeおよびC-Mode Data ONTAPでのSNMPとそのトラップ:

clustered Data ONTAP

標準SNMPトラップ:

RFC 1215に従って、次の5つの標準SNMPトラップがあります。

  • linkDown -このトラップは、アクティブな物理ポート(稼働中)を停止したときに生成されます(ifAdminStatusをupからdownに変更する必要があります。また、ifindex番号情報はトラップメッセージに含まれません。)
  • linkup -このトラップは、ダウンしている物理ポートを起動したときに生成されます(ifAdminStatusをdownからupに変更する必要があります。また、ifindex番号の情報がトラップメッセージに含まれていません)。)
  • warmstart -通常のリブート時にウォームスタートトラップが生成されます。
  • coldstart - coldStartトラップは、エージェントの設定またはプロトコルエンティティの実装が変更されるように、送信側プロトコルエンティティが自身を再初期化していることを示します。
  • authenticationFailure -ユーザが不正なPrivilegesを使用してシステムにログインしようとすると、authenticationFailureトラップが生成されます。

ネットアップの組み込みSNMPトラップ:

NetAppには、SNMPユーザの利便性を考慮して、多数のトラップが組み込まれています。ファイル/mroot/etc/mib/netapp.mib には、ビルトイントラップのリストが含まれています。各トラップには一意の識別子またはトラップコードがあります。組み込みトラップの例はvolumeOnlineで、トラップコードは276です。以下の情報はnetapp.mib ファイルから取得されています。

OIDの後にnotification-typeタグが続きます。これは、OIDがトラップであり、概要およびトラップコード(この場合は276)に関連付けられていることを示します

volumeOnline                    NOTIFICATION-TYPE
  OBJECTS                       {productTrapData, productSerialNum}
  STATUS                          current
  DESCRIPTION         Volume is online now. The string sent with trap specifies name of volume which is online now.
        
         ::= { netapp 0 276 }

ユーザ定義SNMPトラップ:

これらは、ユーザの要件に基づいて設定できるトラップです。NetAppにはいくつかのトラップが組み込まれていますが、他の理由でイベントを生成したい場合もあります。7-Modeにはユーザ定義トラップをサポートするインフラがありますが、Data ONTAP 8 .1向けのclustered Data ONTAPインフラではユーザ定義トラップはサポートされません。ユーザ定義トラップの設定に役立つ、予定されているUI(Data ONTAP 8 .1以降)は次のとおりです。

  • snmp-trap-list
  • snmp-trap-set
  • snmp-trap-delete
  • snmp-trap-reset
  • snmp-trap-load

EMSとの連携:

トラップはEMSイベントに関連付けられます。SNMPイベントは、イベントCLIを使用して生成することもできます。
SNMPトラップホストリストに追加されたすべてのトラップホストは、トラップホストエントリのevent destinationテーブルという別のテーブルにレプリケートされます。
                               
test-01::*> system snmp traphost show
        TRAPHOST1
        TRAPHOST2
test-01::*> event destination show -name traphost

                  Name: traphost

      Mail Destination: -
      SNMP Destination: TRAPHOST1
                        TRAPHOST2
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: public
Hide Parameter Values?: false

event * CLIを使用して実行できる操作は次のとおりです。

新しいSNMPホストは、event destination create CLIを使用して追加できます。デフォルトのトラップホストリストに追加されたホストはSNMPトラップホストリストにレプリケートされ、クラスタでトリガーされたすべてのイベントがこのホストに送信されます。

csiqa-3170-6a1365754940::*> snmp traphost
        -

csiqa-3170-6a1365754940::*> event destination show -name traphost

                  Name: traphost
      Mail Destination: -
      SNMP Destination: -
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: qwerty
Hide Parameter Values?: false

csiqa-3170-6a1365754940::*> snmp community

csiqa-3170-6a1365754940
        ro  qwerty

csiqa-3170-6a1365754940::*> event destination modify -name traphost -hide-parameters false -snmp 10.229.88.174 -snmp-community qwerty

csiqa-3170-6a1365754940::*> event destination show -name traphost                                                                   

                  Name: traphost
      Mail Destination: -
      SNMP Destination: csiqa-labopt-rh5-003.gdl.englab.netapp.com
    Syslog Destination: -
       Syslog Facility: -
   SNMP Trap Community: qwerty
Hide Parameter Values?: false

csiqa-3170-6a1365754940::*> snmp traphost
        csiqa-labopt-rh5-003.gdl.englab.netapp.com (csiqa-labopt-rh5-003.gdl.englab.netapp.com) <10.229.88.174>

csiqa-3170-6a1365754940::*>

ただし、特定のイベントだけを受信するようにホストを設定する場合は、イベントルートCLIを使用してイベントをその送信先にルーティングできます。イベントを一覧表示するには、次の手順を実行します。

csiqa-3070-591287556400::*> event route show
                                                               Freq    Time
Message                          Severity       Destinations   Threshd Threshd
-------------------------------- -------------- -------------- ------- -------
EthrOutput.FamilyType.Err        ERROR          -              0       0
LUN.clone_snapshot_destroyed     NOTICE         -              0       0
LUN.destroy                      INFORMATIONAL  -              0       0
LUN.space_reservation_not_honored
                                 NOTICE         -              0       0
LUN.volume_processing_failed_no_space
                                 ERROR          -              0       0
Nblade.DidNotInitialize          ERROR          -              0       0
Nblade.JunctionRootLookup        WARNING        -              0       0
Nblade.Nfs4IllegalDirentName     ERROR          -              0       0
Nblade.NfsRaidError              ERROR          -              0       0

対応するイベントを「Destination Required」にマッピングします。
SNMPトラップが有効になっていないイベントもあります。SNMPトラップに関連付けられているすべてのトラップを確認するには、次のCLIを使用します。
csiqa-3070-591287556400::*> event route show -snmp-support true
                                                               Freq    Time
Message                          Severity       Destinations   Threshd Threshd
-------------------------------- -------------- -------------- ------- -------
app.log.alert                    ALERT          -              0       0
app.log.crit                     CRITICAL       -              0       0
app.log.debug                    DEBUG          -              0       0
app.log.emerg                    EMERGENCY      -              0       0
app.log.err                      ERROR          -              0       0
app.log.info                     INFORMATIONAL  -              0       0
app.log.notice                   NOTICE         -              0       0
app.log.warn                     WARNING        -              0       0
asup.general.create              ERROR          -              0       0
asup.general.drop                ERROR          -              0       0
asup.general.drop.enqueue        INFORMATIONAL  -              0       0

SNMPトラップ-トラップを設定してイベントを生成する方法

SNMPトラップホストCLIを使用してトラップホストを追加します。

$> snmp traphost add
-または-
$> snmp traphost add

注:トラップホスト名を解決するためにクラスタにDNSが設定されていることを確認してください。 

  1. FilerでSNMPプロトコルが有効になっていることを確認します。

    ::> options -option-name snmp.enable on

  2. クラスタでSNMPトラップを有効にします。        
                 
    次のいずれかの方法で実行できます。次のコマンドを実行します。


    ZAPI -または-Cluster::> snmp init 1 を実行します。
    $> ontapi snmp-trap-enable

  3. イベントのトリガーと監視

traps.dat 情報-リファレンス:BURT #460968 [1]

traps.dat ファイルは、特にユーザ定義トラップ用です。UDTは、Data ONTAP C-Modeではまだサポートされていません(Data ONTAP 8.1.1以降)。

traps.dat ファイルの末尾には1が追加されており、テーブル内のOIDと0で終わるOID(テーブルの外側)を区別するのに役立ちます。テーブル内のOIDはトラップされるべきではないため、余分な難読化は実際には無効なユーザ定義トラップを減らすのに役立ちます。 

C-Mode OID情報-リファレンス:BURT #460968 [2] 

netapp.mib ファイルに表示されるOIDはキーであり、実際のOIDの絶対値ではありません。これを理解する最善の方法は、最後の桁を削除してsnmpwalkを実行することです。

例: 

  • [rakeshc@cyclnb01 ~/p4]$ snmpwalk -v 1 -c public 10.10.10.10 .1.3.6.1.4.1.789.1.5.11.1.2
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_br3040n2_rtp"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "n1_aggr1"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1038 = STRING: "n2_aggr1"
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1050 = STRING: "coral_aggr" 

上記の5つの異なるOID(1026、1030、1034、1038、1050)が表示され、次の手順を実行します。

  • [rakeshc@cyclnb01 ~/p4]$ snmpwalk -v 1 -c public 10.61.76.140 .1.3.6.1.4.1.789.1.5.11.1.2.1026
  • SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"

さまざまなタイプのトラップ/イベントを生成する方法の詳細な手順については、次の付録セクションを参照してください。

 

SNMPを有効にし、SNMPユーティリティを実行します。

snmpwalk/snmpget/snpgetnext etc.. の実行クラスタ、およびそのための設定手順

 DOT_cluster::*> options snmp.enable

DOT_cluster
    snmp.enable                       on

DOT_cluster::*> network interface show -vserver DOT_cluster
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
DOT_cluster
            cluster_mgmt up/up    10.238.44.38/18    node1         e0c     true

DOT_cluster::*>


bash-3.2$ snmpwalk -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_partnernode"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "aggr_node1"
bash-3.2$

 
SNMPを無効にし、SNMPユーティリティを実行します。

snmpwalk/snmpget/snpgetnext etc.. ノムコウカクラスタ、およびそのための設定手順

 DOT_cluster::*> option snmp.enable off
  (options)
1 entry was modified.

DOT_cluster::*> net int show -vserver DOT_cluster
  (network interface show)
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
DOT_cluster
            cluster_mgmt up/up    10.238.44.38/18    node1         e0c     true

DOT_cluster::*>

bash-3.2$ snmpwalk -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
Timeout: No Response from 10.238.44.38
bash-3.2$ snmpget -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2.1026
Timeout: No Response from 10.238.44.38.
bash-3.2$ snmpgetnext -c public -v 1 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2.1026
Timeout: No Response from 10.238.44.38.
bash-3.2$

SNMPv3ユーザを追加し、SNMPユーティリティを実行します。

SNMPv3プロトコルは、SNMPv1|v2cと比較してセキュリティで保護されたプロトコルです。SNMPv3ユーザ用にを設定してSNMPツールを実行するには、次の手順を実行する必要があります。
 

DOT_cluster::*> security login create -username snmpv3user -application snmp -authmethod usm            

Enter the authoritative entity's EngineID [local EngineID]:

Which authentication protocol do you want to choose (none, md5, sha) [none]: sha

Enter the authentication protocol password (minimum 8 characters long):

Enter the authentication protocol password again:

Which privacy protocol do you want to choose (none, des) [none]: des

Enter privacy protocol password (minimum 8 characters long):

Enter privacy protocol password again:

DOT_cluster::*>

bash-3.2$ snmpwalk -v 3 -u snmpv3user -a SHA -A testing123! -l authPriv -x DES -X testing123! 10.238.44.38 .1.3.6.1.4.1.789.1.5.11.1.2
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1026 = STRING: "aggr0"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1030 = STRING: "aggr0_partnernode"
SNMPv2-SMI::enterprises.789.1.5.11.1.2.1034 = STRING: "aggr_node1"
bash-3.2$

NetAppビルトインSNMPトラップを生成します。

NetApp組み込みトラップはnetapp.mib ファイルで定義されています。次の手順では、トラップホストまたはSNMP送信先に対してそれらのトラップを生成する方法を示します。

DOT_cluster::*> snmp traphost                 
        -

DOT_cluster::*> snmp traphost add 10.229.88.174

DOT_cluster::*> snmp traphost                 
        10.229.88.174 (10.229.88.174) <10.229.88.174>

DOT_cluster::*> snmp init
        1

DOT_cluster::*> options snmp.enable                                                         

DOT_cluster
    snmp.enable                       on

DOT_cluster::*>

DOT_cluster::*> volume offline -volume testvol -vserver vs0
Volume "vs0:testvol" is now offline.                                                                                                                                      

Volume modify successful on volume: testvol


DOT_cluster::*> volume online -volume testvol -vserver vs0
Volume "vs0:testvol" is now online.                                                                                                                                       

Volume modify successful on volume: testvol


DOT_cluster::*>


2013-05-03 05:30:00 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
    SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (275) Uptime: 1:10:12.70
    SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Volume testvol@vserver:17309c4f-b3d6-11e2-a9a8-123478563412 is offline. "    SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"

2013-05-03 05:31:55 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
    SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (276) Uptime: 1:12:12.07
    SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Volume testvol@vserver:17309c4f-b3d6-11e2-a9a8-123478563412 is online. "    SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"

イベント生成CLIを使用してトラップを生成します。

イベント生成CLIを使用してトラップを生成することもできます。

DOT_cluster::*> event destination show
                                                                         Hide
Name             Mail Dest.        SNMP Dest.         Syslog Dest.       Params
---------------- ----------------- ------------------ ------------------ ------
allevents        -                 -                  -                  false
asup             -                 -                  -                  false
criticals        -                 -                  -                  false
pager            -                 -                  -                  false
traphost         -                 10.229.88.174
     -                  false
5 entries were displayed.

DOT_cluster::*> snmp traphost
        10.229.88.174 (10.229.88.174) <10.229.88.174>

DOT_cluster::*> event generate -messagename wafl.dir.size.warning -values TEST_EVENT

DOT_cluster::*>

2013-05-03 05:33:01 prakashl-vsim1.sim.eng.btc.netapp.in [10.238.44.36] (via UDP: [10.238.44.36]:161) TRAP, SNMP v1, community public
   SNMPv2-SMI::enterprises.789 Enterprise Specific Trap (485) Uptime: 1:13:17.57
   SNMPv2-SMI::enterprises.789.1.1.12.0 = STRING: "Directory TEST_EVENT is approaching the maxdirsize limit. "   SNMPv2-SMI::enterprises.789.1.1.9.0 = STRING: "1-80-000011"


           

追加情報

ここにテキストを追加します。

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.