Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

NFX150、NFX250 NextGen、NFX350デバイスでのSNMPの設定

SNMP はネットワーク デバイスを中央から監視します。NFX シリーズ(NFX150、NFX250 NextGen、NFX350)デバイスは、SNMPv2c と SNMPv3 を使用して MIB データのクエリーをサポートします。分離された SNMP エージェント(SNMP プロセスまたは snmpd と呼ばれる)は、vjunos0 とホスト OS に存在します。vjunos0は、ホストOSのプロキシとして機能します。システムおよびシャーシ関連の MIB データは、vjunos0 で利用できます。

Junos OS リリース 21.4R1 以降、NFX シリーズ デバイスは LM-SENSORS-MIB、ENTITY-SENSORS-MIB、libvirt MIB をサポートしています。lm-SENSORS-MIBおよびエンティティセンサー-MIBデータはvjunos0で利用可能ですが、libvirt MIBデータはホストOSで利用できます。libvirt MIB を使用して仮想マシンを監視できます。このトピックでは、libvirt MIB の SNMP 実装について説明します。

Libvirt MIBデータにアクセスするためにSNMPv2cを設定する方法

SNMPv2cは、コミュニティ文字列を使用します。これは、SNMPクライアントを決定する際のパスワードとして機能し、クライアントがSNMPエージェント内のデータにアクセスする方法を決定します。コミュニティ文字列は、NFXシリーズデバイスで事前に設定されていません。SNMPv2cを使用してMIBデータにアクセスするには、ホストOSのコミュニティ文字列とSNMPプロキシを設定する必要があります。コミュニティ文字列がホストOSに追加されます。

図 1 は、NFX シリーズ デバイスでの SNMPv2c の通信フローを示しています。

図 1:NFX シリーズ デバイス上の SNMPv2c の通信フロー Communication Flow for SNMPv2c on NFX Series Devices

ユーザーが、ネットワーク管理サーバーのコミュニティ文字列を使用して、 snmpget などのsnmpwalkSNMPコマンドを発行した場合:

  • リクエストはvjunos0のSNMPデーモンに送信されます。SNMPDは、SNMPリクエスト内のコミュニティ文字列を読み取り、内部ルーティングインスタンスnfx-hostを使用して、リクエストをホストOSにリダイレクトします。
  • ホストOSのSNMPDは、リクエストを処理してvjunos0に応答を送信し、それをネットワーク管理サーバーに送信します。

SNMPv2cを設定するには:

  1. ホストOSでSNMPv2cコミュニティ文字列を設定します
    メモ:

    同じ名前のコミュニティがデバイスに存在していないことを確認します。

  2. vjunos0でプロキシを設定します。

    トラップを有効にするには、 libvirt SNMPv2c トラップサポートを有効にする方法を参照してください。

Libvirt MIBデータにアクセスするためにSNMPv3を設定する方法

SNMPv3 は、認証と暗号化をサポートするため、MIB データに安全にアクセスする方法を提供します。SNMPv3では、メッセージセキュリティにUSM(ユーザーベースのセキュリティモデル)を使用し、アクセス制御にはビューベースのアクセス制御モデル(VACM)を使用します。USM は認証と暗号化を指定し、VACM はアクセスコントロール ルールを指定します。 図 2 は、NFX シリーズ デバイス上の SNMPv3 の通信フローを示しています。SNMPv3 の場合、以下を作成する必要があります。

  • 認証タイプとプライバシを持つホストOSのvmhost階層下のSNMPv3ユーザー
  • ユーザー名とコンテキストを持つSNMPv3プロキシ
図 2:NFX シリーズ デバイス上の SNMPv3 の通信フロー Communication Flow for SNMPv3 on NFX Series Devices

ユーザーが、ネットワーク管理サーバーからのユーザー名と認証資格情報を含む(snmpwalksnmpget)などのSNMPコマンドを発行すると、

  • リクエストはvjunos0のSNMPデーモンに送信されます。SNMPDは、SNMPリクエスト内のホストOSのコンテキストを読み取り、内部ルーティングインスタンスnfx-hostを使用して、リクエストをホストOSにリダイレクトします。
  • ホストOSのSNMPDは、リクエストを処理してvjunos0に応答を送信し、それをネットワーク管理サーバーに送信します。

SNMPv3を設定するには:

  1. USMのローカルエンジン情報を設定します。
  2. リモートエンジンとリモートユーザーを設定します。リモートエンジンIDを80001f8804686f7374として設定する必要があります。リモートエンジンIDは、リモートホスト上でユーザーに送信されたパケットを認証して暗号化するためのセキュリティダイジェストの計算に使用されます。インフォームメッセージを送信する際、エージェントはリモートエンジンで設定されたユーザーの認証情報を使用します(インフォームターゲット)。
  3. VACMを設定します。
  4. ホストOSでSNMPv3を設定します
  5. SNMP v3プロキシを設定します。

    トラップを有効にするには、 libvirt SNMPv3トラップサポートを有効にする方法を参照してください。

Libvirt MIBデータをクエリーする方法

、 、および snmpwalk コマンドをsnmpgetnextsnmpget使用してMIB情報を読み取ることができます。libvirt MIB の設定には使用snmpsetできないことに注意してください。

libvirt MIB は、以下の情報を提供します。

  • アクティブな仮想ゲストの名前(ドメイン名)
  • アクティブゲストの現在の状態(ドメインの状態)
  • 仮想ゲストが使用する仮想 CPU の数(ドメインに定義されている cpu カウント)
  • 仮想ゲストが使用するメモリの現在の量(MiB 内)(現在割り当てられたメモリ)
  • ドメインのメモリ制限(仮想ゲストが使用できるメモリの最大量(MiB 内)
  • 仮想ゲストが使用する CPU 時間(ナノ秒)(CPU 時間)
  • 仮想ゲストのステータス(行ステータス)

以下は、NMS でコマンドを snmpwalk 実行したときのコマンドの出力例です。

  • SNMPv2c:
  • SNMPv3:

NFX シリーズ デバイスでコマンドを snmpwalk 実行した場合の出力例を次に示します。

サポートされているシャーシ MIB とトラップ

NFX シリーズ デバイスは、以下のシャーシ MIB をサポートします。

  • jnxFruContentsIndex
  • jnxFruL1Index
  • jnxFruL2Index
  • jnxFruL3Index
  • jnxFruName
  • jnxFruType
  • jnxFruSlot
  • jnxFru時
  • jnxFruOfflineReason
  • jnxFruLastPowerOff
  • jnxFruLastPowerOn
  • jnxFruPowerUpTime
  • jnxFruChassisId
  • jnxFruChassisDescr
  • jnxFruPsdアサインメント

NFX シリーズ デバイスは、以下のトラップをサポートします。

  • jnxFanFailure
  • jnxFanOK
  • jnxPowerSupplyFailure
  • jnxPowerSupplyOK
  • jnxOver時間
  • jnx温度OK
  • jnxPowerSupplyRemoved(NFX350 のみ)

サポートされている libvirt MIB トラップ

libvirt MIB は仮想マシンを監視し、ネットワーク管理サーバーに非同期トラップを送信します。たとえば、ドメイン(VNF)が予期せずクラッシュした場合、ネットワーク管理サーバーに通知が送信されます。トラップはホストOSで生成され、vjunos0のsnmptrapdデーモンに送信されます。snmptrapd デーモンは、トラップをネットワーク管理サーバーに転送します。

libvirt トラップの定義構造は次のとおりです。

以下に、snmp libvirtトラップの出力例を示します。

アクティブゲストの現在の状態は、以下のいずれかになります。

  • 実行中(1)
  • ブロック済み(2)
  • 一時停止(3)
  • シャットダウン(4)
  • シャットオフ(5)
  • クラッシュしました(6)

libvirt SNMPv2cトラップサポートを有効にする方法

SNMPv2cトラップサポートを有効にするには:

  1. トラップのコミュニティ名を設定します。

  2. トラップの送信元アドレスであるクライアントアドレスを設定します。送信元アドレスを設定しない場合、クライアントアドレスとしてハイパーバイザーアドレス(192.168.1.1)が使用されます。

  3. ポート転送を設定します。複数のIPアドレスを設定できます。

libvirt SNMPv3トラップサポートを有効にする方法

SNMPv3トラップサポートを有効にするには:

  1. トラップのユーザー名を設定します。

  2. トラップの送信元アドレスであるクライアントアドレスを設定します。送信元アドレスを設定しない場合、クライアントアドレスとしてハイパーバイザーアドレス(192.168.1.1)が使用されます。

  3. ユーザーのAESおよびSHAパスワードを設定します。

  4. libVirtMIB トラップサポートのポート転送を設定します。複数のIPアドレスを設定できます。