4.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を使用してクラスターオブジェクトを監視する方法について説明します。
4.3.1. SNMPアクセスの有効化¶
クラスターオブジェクトを監視するには、ノードでSNMPアクセスを有効にします。管理者パネルで以下の手順を実行します。
次の手順を実行して、管理ノードのUDPポート161を開きます。
- [インフラストラクチャ] > [ネットワーク] 画面で、[編集] をクリックします。
- 該当するチェックボックスをオンにして、[SNMP] トラフィックタイプをパブリックネットワークに追加します。
- [保存] をクリックして、変更を適用します。
[設定] > [システム設定] > [SNMP] に移動し、[管理ノードでSNMPを有効にする] チェックボックスをオンにします。ネットワーク管理システム(SNMPモニター)が有効になり、SNMPプロトコルを使用してクラスターにアクセスできるようになります。
表示されたリンクをクリックしてMIBファイルをダウンロードし、SNMPモニターでファイルをセットアップします。
(オプション)次のようにSNMPトラップがSNMPモニターに送信されるようにします。
[SNMPトラップをこのネットワーク管理システムへ送信] を選択します。
ネットワーク管理システムのIPアドレス、ポート、およびコミュニティを指定します。
デフォルトでは、
snmptrapd
デーモンではポート162を使用します。デフォルトのコミュニティはpublic
です。必要に応じて、[テストトラップを送信] をクリックしてサービスをテストします。
[保存] をクリックして、変更を適用します。
4.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
<...>
4.3.2.1. SNMPトラップのリッスン¶
SNMPトラップのリッスンを開始するには、以下の手順を実行します。
SNMPトラップによって実行可能な操作をトリガできるようにSNMPトラップをログに記録し、データをネットワークに再送信するように
snmptrapd
デーモンを設定します。これを実行するには、/etc/snmp/snmptrapd.conf
ファイルの次のpublic
コミュニティ文字列のコメントアウトを外します。authCommunity log,execute,net public
UDPポート162で受信トラフィックを許可するようにファイアウォールを設定します。
VSTORAGE-MIB.txt
ファイルをダウンロードし、/usr/share/snmp/mibs
ディレクトリに配置します。デーモンを開始し、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
管理者パネルの [設定] > [詳細設定] > [SNMP] タブからテストトラップを送信します。
ログファイルを表示します。
# 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
4.3.3. Zabbixを使用したストレージクラスターの監視¶
Zabbixでクラスターの監視を設定するには、以下の手順を実行します。
[設定] > [詳細設定] > [SNMP] タブで、表示されたリンクをクリックしてZabbixのテンプレートをダウンロードします。
注釈
テンプレートはZabbix 3.xと互換性があります。
Zabbixで、[構成] > [テンプレート] > [インポート] をクリックし、[参照] をクリックします。
テンプレートに移動し、テンプレートを選択し、[インポート] をクリックします。
[Configuration] > [Hosts] > [Create host] をクリックします。
[Host] タブで、以下の手順を実行します。
- 管理ノードのホスト名とZabbixでの表示名を指定します。
- [New group] フィールドで
vstorage
を指定します。 - [Agent Interfaces] セクションを削除します。
- [SNMP interfaces] セクションを追加し、管理ノードのIPアドレスを指定します。
[Templates] タブで、[Link new templates] フィールドの横にある [Select] をクリックします。
[Zabbix Server:テンプレート] ウィンドウで
テンプレートVStorageSNMP
テンプレートのチェックボックスをオンにし、[選択] をクリックします。[Templates] タブに戻り、[Link new templates] セクションの [Add] リンクをクリックします。
VStorageSNMP
テンプレートが [Linked templates] グループに表示されます。ホストを設定してテンプレートを追加したので、[Add] ボタンをクリックします。
数分で、[Configuration] > [Hosts] 画面の [Availability] 列に表示されるクラスターのSNMP
ラベルが緑色になります。

クラスターのパラメータを監視するには、[監視] > [最新データ] 画面でフィルタの [ホストグループ] を [vstorage]
に設定し、[適用] をクリックします。
[Configuration] > [Hosts] > <クラスター> > [Graphs] タブでパフォーマンスチャートを作成したり、[Monitoring] > [Screens] タブでチャートの作業場所を作成したりすることができます。
4.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
- スペース使用状況を取得できません。
生成されるアラートとその説明の一覧については、アラートの表示を参照してください。