3.3. SNMPを使用したストレージクラスターオブジェクトの監視

簡易ネットワーク管理プロトコル(SNMP)を使用してクラスターオブジェクトを監視できます。実装では、標準SNMPコンテキストのデータと同じStructure of Management Information(SMI)ルールに準拠しています。つまり、すべてのオブジェクトがツリー状で構成されます。各オブジェクト識別子(OID)は、ツリーノードに対応する一連の整数で、ドットで区切られます。

一般情報

  • 監視できるすべてのオブジェクトを含んでいるルートサブツリーのOIDは、1.3.6.1.4.1.8072.161.1です。

  • オブジェクトを監視するにはVSTORAGE-MIB.txt情報ベースファイルが必要です。ファイルはhttps://<admin_panel_IP>:8888/api/v2/snmp/mibs/でダウンロードできます。

以降のサブセクションでは、SNMPを有効にし、SNMPを使用してクラスターオブジェクトを監視する方法について説明します。

3.3.1. SNMPアクセスの有効化

クラスターオブジェクトを監視するには、ノードでSNMPアクセスを有効にします。管理者パネルで以下の手順を実行します。

  1. 次の手順を実行して、管理ノードのUDPポート161を開きます。

    1. [インフラストラクチャ] > [ネットワーク] 画面で [編集] をクリックします。

    2. 対応するチェックボックスをオンにして、SNMPトラフィックタイプをパブリックネットワークに追加します。

    3. [保存] をクリックして、変更を適用します。

  2. [設定] > [詳細設定] > [SNMP] タブで [管理ノードでSNMPを有効にする] チェックボックスをオンにします。ネットワーク管理システム(SNMPモニター)が有効になり、SNMPプロトコルを使用してクラスターにアクセスできるようになります。

    ../_images/stor_image28_7_ac.png
  3. 表示されたリンクをクリックしてMIBファイルをダウンロードし、SNMPモニターでファイルをセットアップします。

  4. 必要に応じて、Acronis Cyber InfrastructureによってSNMPトラップがSNMPモニターに送信されるように指定します。以下の手順を実行します。

    1. [SNMPトラップをこのネットワーク管理システムへ送信] チェックボックスをオンにします。

    2. ネットワーク管理システムのIPアドレスポート、およびコミュニティを指定します。

      デフォルトでは、snmptrapdデーモンではポート162を使用します。デフォルトのコミュニティはpublicです。

    3. 必要に応じて、[テストトラップを送信] をクリックしてサービスをテストします。

  5. [保存] をクリックして、変更を適用します。

3.3.2. SNMPを使用したストレージクラスター情報オブジェクトへのアクセス

Linux向けの無料のNet-SNMPスイートなど、任意のSNMPツールを使用してストレージクラスター情報オブジェクトにアクセスできます。

管理者パネルのあるノードのストレージクラスター情報を取得するには、MIBファイルを/usr/share/snmp/mibsに配置し、snmpwalkコマンドを実行します。たとえば、次のようになります。

# snmpwalk  -M /usr/share/snmp/mibs -m VSTORAGE-MIB -v 2c -c public localhost:161 VSTORAGE-MIB:cluster

一般に出力は次のようになります。

VSTORAGE-MIB::clusterName.0 = STRING: "cluster1"
VSTORAGE-MIB::healthStatus.0 = STRING: "healthy"
VSTORAGE-MIB::usedLogicalSpace.0 = Counter64: 173732322
VSTORAGE-MIB::totalLogicalSpace.0 = Counter64: 1337665179648
VSTORAGE-MIB::freeLogicalSpace.0 = Counter64: 1318963253248
VSTORAGE-MIB::licenseStatus.0 = STRING: "unknown"
VSTORAGE-MIB::licenseCapacity.0 = Counter64: 1099511627776
VSTORAGE-MIB::licenseExpirationStatus.0 = STRING: "None"
VSTORAGE-MIB::ioReadOpS.0 = Counter64: 0
VSTORAGE-MIB::ioWriteOpS.0 = Counter64: 0
VSTORAGE-MIB::ioReads.0 = Counter64: 0
VSTORAGE-MIB::ioWrites.0 = Counter64: 0
VSTORAGE-MIB::csActive.0 = Counter64: 11
VSTORAGE-MIB::csTotal.0 = Counter64: 11
VSTORAGE-MIB::mdsAvail.0 = Counter64: 4
VSTORAGE-MIB::mdsTotal.0 = Counter64: 4
<...>

3.3.2.1. SNMPトラップのリッスン

SNMPトラップのリッスンを開始するには、以下の手順を実行します。

  1. SNMPトラップによって実行可能な操作をトリガできるようにSNMPトラップをログに記録し、データをネットワークに再送信するようにsnmptrapdデーモンを設定します。これを実行するには、/etc/snmp/snmptrapd.confファイルの次のpublicコミュニティ文字列のコメントアウトを外します。

    authCommunity log,execute,net public
    
  2. UDPポート162で受信トラフィックを許可するようにファイアウォールを設定します。

  3. VSTORAGE-MIB.txtファイルをダウンロードし、/usr/share/snmp/mibsディレクトリに配置します。

  4. デーモンを開始し、MIBファイルを指定します。

    # snmptrapd -M /usr/share/snmp/mibs -m VSTORAGE-MIB -n -f
    

    デフォルトでは、トラップは/var/log/messagesに記録されます。-Lf <path>オプションを指定して、トラップをカスタムログファイルにリダイレクトできます。たとえば、次のようになります。

    # snmptrapd -M /usr/share/snmp/mibs -m VSTORAGE-MIB -n -f -Lf /tmp/traps.log
    
  5. 管理者パネルの [設定] > [詳細設定] > [SNMP] タブからテストトラップを送信します。

  6. ログファイルを表示します。

    # tail -f /tmp/traps.log
    2019-10-14 12:51:50 node001.vstoragedomain [UDP: [10.94.80.22]:40029->\
    [10.94.80.22]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: \
    (111150521) 12 days, 20:45:05.21#011SNMPv2-MIB::snmpTrapOID.0 = OID: \
    NET-SNMP-MIB::netSnmp.161.3.100#011NET-SNMP-MIB::netSnmp.161.2.1 = STRING: "TestTrap"\
    #011NET-SNMP-MIB::netSnmp.161.2.2 = STRING: "It is the test trap from VStorage"\
    #011NET-SNMP-MIB::netSnmp.161.2.3 = Counter64: 0
    

3.3.3. Zabbixを使用したストレージクラスターの監視

Zabbixでクラスターの監視を設定するには、以下の手順を実行します。

  1. [設定] > [詳細設定] > [SNMP] タブで表示されたリンクをクリックし、Zabbixのテンプレートをダウンロードします。

    注釈

    テンプレートはZabbix 3.xと互換性があります。

  2. Zabbixで、[Configuration] > [Templates] > [Import] をクリックし、[Browse] をクリックします。

    ../_images/stor_image28_1.png
  3. テンプレートに移動し、テンプレートを選択し、[Import] をクリックします。

  4. [Configuration] > [Hosts] > [Create host] をクリックします。

    ../_images/stor_image28_2.png
  5. [Host] タブで、以下の手順を実行します。

    1. 管理ノードのホスト名とZabbixでの表示名を指定します。

    2. [New group] フィールドでvstorageを指定します。

    3. [Agent Interfaces] セクションを削除します。

    4. [SNMP interfaces] セクションを追加し、管理ノードのIPアドレスを指定します。

  6. [Templates] タブで、[Link new templates] フィールドの横にある [Select] をクリックします。

  7. [Zabbix Server:Templates] ウィンドウでTemplate VStorageSNMPテンプレートのチェックボックスをオンにし、[Select] をクリックします。

    ../_images/stor_image28_3.png
  8. [Templates] タブに戻り、[Link new templates] セクションの [Add] リンクをクリックします。VStorageSNMPテンプレートが [Linked templates] グループに表示されます。

    ../_images/stor_image28_4.png
  9. ホストを設定してテンプレートを追加したので、[Add] ボタンをクリックします。

    ../_images/stor_image28_5.png

数分で、[Configuration] > [Hosts] 画面の [Availability] 列に表示されるクラスターのSNMPラベルが緑色になります。

../_images/stor_image28_6.png

クラスターのパラメータを監視するには、[Monitoring] > [Latest data] 画面でフィルタの [Host groups][vstorage] に設定し、[Apply] をクリックします。

[Configuration] > [Hosts] > <クラスター> > [Graphs] タブでパフォーマンスチャートを作成したり、[Monitoring] > [Screens] タブでチャートの作業場所を作成したりすることができます。

3.3.4. ストレージクラスターオブジェクトとトラップ

監視できるクラスター関連のオブジェクトは次のとおりです。

VSTORAGE-MIB:cluster

クラスターの全般情報。

VSTORAGE-MIB:csStatTable

チャンクサーバーの統計情報テーブル。

VSTORAGE-MIB:mdsStatTable

メタデータサーバーの統計情報テーブル。

VSTORAGE-MIB::clusterName

クラスター名。

VSTORAGE-MIB::healthStatus

クラスターの正常性ステータス。

VSTORAGE-MIB::usedLogicalSpace

すべてのデータチャンクとレプリカによって使用されている領域と、クラスターノードのディスクに保存されているその他のデータによって使用されている領域。

VSTORAGE-MIB::totalLogicalSpace

すべてのクラスターノードのディスクの合計領域。

VSTORAGE-MIB::freeLogicalSpace

すべてのクラスターノードのディスクで未使用の領域。

VSTORAGE-MIB::licenseStatus

ライセンスのステータス。

VSTORAGE-MIB::licenseCapacity

ライセンスによって定義された使用可能な最大ディスク領域。

VSTORAGE-MIB::licenseExpirationStatus

ライセンスの期限切れステータス。

VSTORAGE-MIB::ioReadOpS

現在の1秒あたりの読み取り速度(操作単位)。

VSTORAGE-MIB::ioWriteOpS

現在の1秒あたりの書き込み速度(操作単位)。

VSTORAGE-MIB::ioReads

現在の1秒あたりの読み取り速度(バイト単位)。

VSTORAGE-MIB::ioWrites

現在の1秒あたりの読み書き速度(バイト単位)。

VSTORAGE-MIB::csActive

アクティブなチャンクサーバーの数。

VSTORAGE-MIB::csTotal

チャンクサーバーの合計数。

VSTORAGE-MIB::mdsAvail

実行中のメタデータサーバーの数。

VSTORAGE-MIB::mdsTotal

メタデータサーバーの合計数。

VSTORAGE-MIB::s3OsAvail

実行中のS3オブジェクトサーバーの数。

VSTORAGE-MIB::s3OsTotal

S3オブジェクトサーバーの合計数。

VSTORAGE-MIB::s3NsAvail

実行中のS3ネームサーバーの数。

VSTORAGE-MIB::s3NsTotal

S3ネームサーバーの合計数。

VSTORAGE-MIB::s3GwAvail

実行中のS3ゲートウェイの数。

VSTORAGE-MIB::s3GwTotal

S3ゲートウェイの合計数。

監視できるCS関連のオブジェクトは次のとおりです。

VSTORAGE-MIB::csId

チャンクサーバーの識別子。

VSTORAGE-MIB::csStatus

現在のチャンクサーバーのステータス。

VSTORAGE-MIB::csIoReadOpS

現在の1秒あたりのチャンクサーバーの読み取り速度(操作単位)。

VSTORAGE-MIB::csIoWriteOpS

現在の1秒あたりのチャンクサーバーの書き込み速度(操作単位)。

VSTORAGE-MIB::csIoWait

I/O操作を待機している時間の割合。同期を待機している時間を含みます。

VSTORAGE-MIB::csIoReadS

現在の1秒あたりのチャンクサーバーの読み取り速度(バイト単位)。

VSTORAGE-MIB::csIoWriteS

現在の1秒あたりのチャンクサーバーの書き込み速度(バイト単位)。

監視できるMDS関連のオブジェクトは次のとおりです。

VSTORAGE-MIB::mdsId

メタデータサーバーの識別子。

VSTORAGE-MIB::mdsStatus

現在のメタデータサーバーのステータス。

VSTORAGE-MIB::mdsMemUsage

メタデータサーバーで使用されているメモリの量。

VSTORAGE-MIB::mdsCpuUsage

メタデータサーバーで使用されているCPUの容量の割合。

VSTORAGE-MIB::mdsUpTime

メタデータサーバーが起動してから経過した時間。

指定されたアラートによってトリガされるSNMPトラップは次のとおりです。

license expired

ライセンスの期限が切れています。

license_isnot_loaded

ライセンスが読み込まれていません。

too few free space

クラスターの論理領域が少なくなっています。

too_few_free_phys_space

クラスターの物理スペースが少なくなっています。

offline node

クラスターノードがオフラインです。

too few nodes

残っているクラスターノードが少なすぎます。

too few mdses

残っているMDSが少なすぎます。

too_much_mdses

ノードに複数のMDSがあります。

too few cses

残っているCSが少なすぎます。

failed mds

MDSサービスに障害が発生しました。

failed cs

CSサービスに障害が発生しました。

cses_on_single_tier_have_different_journalling_settings

CSのジャーナリング設定が正しくありません。

cses_on_single_tier_have_different_encryption_settings

CSの暗号化設定が正しくありません。

smart_failed

ディスクでS.M.A.R.T.チェックに失敗しました。

disk_failed

ディスクに障害が発生しました。

too_few_root_space

ノードのルートパーティションの容量が不足しています。

too_few_space_on_metadata_disk

MDSディスクの容量が足りません。

low_level_network_settings

ネットワークインターフェースに主要機能が欠落しています。

half_duplex

ネットワークインターフェースが全二重モードではありません。

low_speed

ネットワークインターフェースの速度が1Gbpsを下回っています。

undefined_speed

ネットワークインターフェースの速度が定義されていません。

network link

ネットワークインターフェースの設定に問題があります。

abgw_cert_expired

Backup Gatewayの証明書有効期限が切れているか、または間もなく有効期限が切れます。

iscsi_redundancy_disk

iSCSI LUNの障害ドメインセットは高可用性になっていません。

s3_redundancy_disk

S3クラスターの障害ドメインセットは高可用性になっていません。

software_updates

ノードが対象のソフトウェアアップデートがあります。

no_internet_connection

ノードがインターネットに接続されていません。

disk_write_cache_disabled

ディスク書き込みキャッシュは無効化されています。

disk_write_cache_status_unknown

ディスク書き込みキャッシュのステータスが不明です。

compute_unavailable

計算クラスターに障害が発生しました。

oom_happened

OOMキラーがトリガされました。

kernel_not_current

ノードのカーネルのバージョンが古くなっています。

no_ha

管理者パネルの高可用性が設定されていません。

time_not_synced

ノードで時間が同期されていません。

iscsi_upgrade_failed

iSCSIのメジャーアップグレードに失敗しました。

backend_backup_is_too_old

直近の管理ノードバックアップが失敗したか、または存在しないか古すぎます。

other

その他のアラート。

spla_push_stats_failed

スペース使用状況の統計情報をプッシュできません。

spla_license_load_failed

SPLAライセンスを適用できません。

spla_get_space_usage_failed

スペース使用状況を取得できません。

生成されるアラートとその説明の一覧については、アラートの表示を参照してください。