XenServer

環境の監視と管理

XenServerでは、パフォーマンス測定値の詳細な監視ができます。監視対象のメトリックは、CPU、メモリ、ディスク、ネットワーク、C-状態/P-状態情報、ストレージなどです。これらの測定値は、必要に応じてホスト単位または仮想マシン単位で監視できます。これらのメトリックは、直接アクセスして使用したり、XenCenterやそのほかのサードパーティ製アプリケーションで視覚的に表示したりできます。

また、XenServerではシステムやパフォーマンスに関するアラートを生成できます。アラートは、特定のシステムイベントが発生した場合に通知を生成します。これらの通知は、ホスト、仮想マシン、またはストレージリポジトリで次の値が特定のしきい値を超過した場合に生成されます:CPU使用率、ネットワーク使用量、メモリ使用量、コントロールドメインのメモリ使用率、ストレージスループット、または仮想マシンのディスク使用量。アラートは、xe CLI、またはXenCenterを使用して構成できます。ホストまたは仮想マシンのパフォーマンス測定値に基づいて通知を作成するには、「パフォーマンスアラート」を参照してください。

XenServerのパフォーマンスの監視

XenServerホストや仮想マシンのパフォーマンスは、ラウンドロビンデータベース(RRD)に格納される測定値を使って監視できます。これらの測定値は、HTTPまたはRRD2CSVツールを使って照会できます。また、XenCenterでは、これらのデータに基づいてシステムパフォーマンスグラフが作成されます。詳しくは、「メトリックの分析と視覚化」を参照してください。

以下の表は、ホストおよび仮想マシンで使用可能なパフォーマンス測定値の一覧です。

メモ:

  • 一定期間における遅延は、その期間の遅延時間を平均化したものです。
  • 一部の測定値は、ストレージリポジトリやCPUにより使用できない場合があります。

ホストのパフォーマンス測定値

メトリック名 説明 条件 XenCenter名
avgqu_sz_<sr-uuid-short> I/Oキューのサイズの平均 (要求)。 ホストのストレージリポジトリ<sr-uuid-short>で1つ以上のVBDがプラグされていること。 sr-uuid-shortキューのサイズ
cpu<cpu>-C<cstate> CPUcpuがC-状態cstateである時間(ミリ秒)。 CPUにC-状態があること。 CPUcpuC-状態cstate
cpu<cpu>-P<pstate> CPUcpuがP-状態pstateである時間(ミリ秒)。 CPUにP-状態があること。 CPUcpuP-状態pstate
cpu<cpu> 物理CPUcpuの使用率。デフォルトで有効。 CPUcpuがあること。 CPU cpu
cpu_avg すべての物理CPUの平均使用率。デフォルトで有効。 なし 平均CPU
hostload ホストの物理CPUごとの負荷。この場合、負荷とは、実行中または実行可能な状態にある仮想CPUの数を指します。 なし ホストCPUの負荷
inflight_<sr-uuid-short> インフライト状態のI/O要求数。デフォルトで有効。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 srインフライト要求
io_throughput_read_<sr-uuidshort> ストレージリポジトリからの読み取りデータ(MiB/秒)。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr読み取りスループット
io_throughput_write_<sr-uuidshort> ストレージリポジトリへの書き込みデータ(MiB/秒)。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr書き込みスループット
io_throughput_total_<sr-uuidshort> すべてのSR I/O(MiB/秒)。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr合計スループット
iops_read_<sr-uuid-short> 1秒あたりの読み取り要求。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr読み取りIOPS
iops_write_<sr-uuid-short> 1秒あたりの書き込み要求。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr書き込みIOPS
iops_total_<sr-uuid-short> 1秒あたりのI/O要求。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr合計IOPS
iowait_<sr-uuid-short> I/O待機時間のパーセンテージ。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 srIO待機
latency_<sr-uuid-short> 平均I/O遅延(ミリ秒)。 ホストのストレージリポジトリsrで1つ以上のVBDがプラグされていること。 sr遅延
loadavg ドメイン0の負荷平均。デフォルトで有効 なし コントロールドメインロード
memory_free_kib 合計空きメモリ量(KiB)。デフォルトで有効。 なし XenCenterには存在しません。使用メモリに置き換えられます。
ツールスタックによって報告されません。XenCenterによって計算されます。 合計使用メモリ量(KiB)。デフォルトで有効。 なし 使用メモリ
memory_reclaimed 圧縮により解放されたホストメモリ(B)。 なし 解放されたメモリ
memory_reclaimed_max 圧縮(B)により解放されるホストメモリ。 なし 解放されるメモリ (概算値)
memory_total_kib ホストの合計メモリ量(KiB)。デフォルトで有効。 なし メモリ合計
network/latency ローカルホストからすべてのオンラインホストに送信された最後の2回のハートビートの間隔(秒)。デフォルトでは、無効になっています。 HAが有効であること。 ネットワーク遅延
statefile/<vdi_uuid>/latency ローカルホストからステートファイルへの前回アクセス時の応答時間(秒)。デフォルトでは、無効になっています。 HAが有効であること。 高可用性ステートファイル遅延
pif_<pif>_rx 物理インターフェイスpifでの1秒あたりの受信バイト。デフォルトで有効。 PIFが存在すること XenCenter-pifname受信(注参照)
pif_<pif>_tx 物理インターフェイスpifでの1秒あたりの送信バイト。デフォルトで有効。 PIFが存在すること XenCenter-pifname送信(注参照)
pif_<pif>_rx_errors 物理インターフェイスpifでの1秒あたりの受信エラー数。デフォルトでは、無効になっています。 PIFが存在すること XenCenter-pifname受信エラー(注参照)
pif_<pif>_tx_errors 物理インターフェイスpifでの1秒あたりの転送エラー数。デフォルトで無効。 PIFが存在すること XenCenter-pifname送信エラー(注参照)
pif_aggr_rx すべての物理インターフェイスでの1秒あたりの受信バイト。デフォルトで有効。 なし NIC受信合計
pif_aggr_tx すべての物理インターフェイスでの1秒あたりの送信バイト。デフォルトで有効。 なし NIC送信合計
pvsaccelerator_evicted キャッシュから削除された1秒あたりのバイト数 PVSアクセラレータが有効 PVSアクセラレータの削除の割合
pvsaccelerator_read_hits キャッシュから供給された1秒あたりの読み取り数 PVSアクセラレータが有効 PVSアクセラレータでヒットした割合
pvsaccelerator_read_misses キャッシュから供給されない1秒あたりの読み取り数 PVSアクセラレータが有効 PVSアクセラレータでヒットしなかった割合
pvsaccelerator_traffic_client_sent キャッシュされたPVSクライアントから送信された1秒あたりのバイト数 PVSアクセラレータが有効 PVSアクセラレータはクライアントからのネットワークトラフィックを確認しました
pvsaccelerator_traffic_server_sent キャッシュされたPVSサーバーから送信された1秒あたりのバイト数 PVSアクセラレータが有効 PVSアクセラレータはサーバーからのネットワークトラフィックを確認しました
pvsaccelerator_read_total キャッシュによって観測された1秒あたりの読み取り数 PVSアクセラレータが有効 PVSアクセラレータで確認した読み取りの割合
pvsaccelerator_traffic_proxy_saved PVSサーバーの代わりにPVSAcceleratorによって送信された1秒あたりのバイト数 PVSアクセラレータが有効 PVSアクセラレータはネットワークトラフィックを保存しました
pvsaccelerator_space_utilization キャッシュストレージの合計サイズと比較した、このホスト上でPVSAcceleratorによって使用された領域の割合 PVSアクセラレータが有効 PVSアクセラレータの容量使用率
running_vcpus 実行中のvCPUの合計数 なし 実行中のvCPUの数
running_domains dom0(ホストのコントロールドメイン)を含む実行中のドメインの合計数 なし 実行中のドメインの数
sr_<sr>_cache_size IntelliCacheストレージリポジトリのサイズ(B)。デフォルトで有効。 IntelliCacheが有効であること。 IntelliCacheキャッシュサイズ
sr_<sr>_cache_hits 1秒あたりの成功キャッシュ。デフォルトで有効。 IntelliCacheが有効であること。 IntelliCacheキャッシュ成功
sr_<sr>_cache_misses 1秒あたりの失敗キャッシュ。デフォルトで有効。 IntelliCacheが有効であること。 IntelliCacheキャッシュ失敗
xapi_allocation_kib XAPIデーモンによる割り当てメモリ量(KiB)。デフォルトで有効。 なし エージェントメモリ割り当て
xapi_free_memory_kib XAPIデーモンで使用可能な空きメモリ量(KiB)。デフォルトで有効。 なし 空きエージェントメモリ
xapi_healthcheck/latency ローカルホストでの前回XAPIモニタリングコール時の応答時間(秒)。デフォルトでは、無効になっています。 高可用性が有効 XenServer High Availability Latency
xapi_live_memory_kib XAPIデーモンで使用中のライブメモリ量(KiB)。デフォルトで有効。 なし エージェントメモリライブ
xapi_memory_usage_kib XAPIデーモンで使用中の合計メモリ量(KiB)。デフォルトで有効。 なし エージェントメモリ使用

仮想マシンのパフォーマンス測定値

メトリック名 説明 条件 XenCenter名
cpu<cpu> 仮想CPUcpuの使用率。デフォルトで有効 仮想CPUcpuがあること。 CPU
cpu_usage ドメインのCPU使用率 なし cpu_usage
memory 仮想マシンに割り当てられているメモリ量(B)。デフォルトで有効 なし メモリ合計
memory_target 仮想マシンバルーンドライバーの目標メモリ量(B)。デフォルトで有効 なし メモリ目標値
memory_internal_free ゲストエージェントにより報告された使用メモリ量(KiB)。デフォルトで有効 なし 空きメモリ
runstate_fullrun すべての仮想CPUが実行されていた時間。 なし vCPU完全実行
runstate_full_contention すべての仮想CPUが実行可能であった時間(CPUの待機中など)。 なし vCPU完全競合
runstate_concurrency_hazard 一部の仮想CPUが実行されていて一部が実行可能であった時間。 なし vCPU並列性のハザード
runstate_blocked すべての仮想CPUがブロックされていたりオフラインであったりした時間。 なし vCPUアイドル
runstate_partial_run 一部の仮想CPUが実行されていて一部がブロックされていた時間。 なし vCPU部分実行
runstate_partial_contention 一部の仮想CPUが実行可能で一部がブロックされていた時間。 なし vCPU部分競合
vbd_<vbd>_write デバイスvbdへの1秒あたりの書き込みバイト。デフォルトで有効 VBDvbdがあること。 ディスクvbd書き込み
vbd_<vbd>_read デバイスvbdからの1秒あたりの読み取りバイト。デフォルトで有効。 VBDvbdがあること。 ディスクvbd読み取り
vbd_<vbd>_write_latency デバイスvbdへの書き込み(ミリ秒)。 VBDvbdがあること。 ディスクvbd書き込み遅延
vbd_<vbd>_read_latency デバイスvbdからの読み取り(ミリ秒)。 VBDvbdがあること。 ディスクvbd読み取り遅延
vbd <vbd>_iops_read 1秒あたりの読み取り要求。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbd読み取りIOPS
vbd <vbd>_iops_write 1秒あたりの書き込み要求。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbd書き込みIOPS
vbd <vbd>_iops_total 1秒あたりのI/O要求。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbd合計IOPS
vbd <vbd>_iowait I/O待機時間のパーセンテージ。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbdIO待機
vbd <vbd>_inflight インフライト状態のI/O要求数。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbdインフライト要求
vbd <vbd>_avgqu_sz I/Oキューのサイズの平均。 ホストの非ISO VDI用に1つ以上のVBDがプラグされていること。 ディスクvbdキューのサイズ
vif_<vif>_rx 仮想インターフェイスvifでの1秒あたりの受信バイト。デフォルトで有効。 VIFvifがあること。 vif受信
vif_<vif>_tx 仮想インターフェイスvifでの1秒あたりの転送バイト。デフォルトで有効。 VIFvifがあること。 vif送信
vif_<vif>_rx_errors 仮想インターフェイスvifでの1秒あたりの受信エラー数。デフォルトで有効。 VIFvifがあること。 vif受信エラー
vif_<vif>_tx_errors 仮想インターフェイスvifでの1秒あたりの転送エラー数。デフォルトで有効。 VIFvifがあること。 vif送信エラー

注:

<XenCenter-pif-name>の値は、以下のいずれかを示します:

  • NIC <pif> - <pif>pif_eth#が含まれる場合。ここで、##は0~9
  • <pif> - <pif>pif_eth#.##または pif_xenbr##またはpif_bond##が含まれる場合
  • <Internal> Network <pif> - <pif>pif_xapi##が含まれる場合(<Internal>はそのまま表示されることに注意してください)
  • TAP <tap> - <pif>pif_tap##が含まれる場合
  • xapi Loopback - <pif>pif_loが含まれる場合

メトリックの分析と視覚化

XenCenterの[パフォーマンス]タブでは、リソースプールの全体的なパフォーマンス統計をリアルタイムでモニターでき、仮想マシンおよび物理マシンのパフォーマンスの傾向を視覚的に確認することができます。デフォルトでは、CPU、メモリ、ネットワーク、ディスク入出力に関するデータが[パフォーマンス]タブに表示されます。パフォーマンス測定値を追加したり、既存のグラフの外観を変更したり、追加のグラフを作成したりすることができます。詳しくは、後のセクションで「パフォーマンス測定値の設定」を参照してください。

  • 過去12か月までさかのぼってパフォーマンスデータを表示でき、測定値が急増している部分などをクローズアップして表示することもできます。

  • XenCenterでは、ホスト、仮想マシンまたはストレージリポジトリのCPU、メモリ、ネットワーク入出力、ストレージ入出力、またはディスク入出力の使用状況が特定のしきい値を超過した場合に、アラートが生成されるように設定できます。詳しくは、後述の「アラート」を参照してください。

注:

その仮想マシンにXenServer VM Toolsをインストールして、仮想マシンのすべてのパフォーマンスデータを表示します。

パフォーマンスグラフを設定する

新しいグラフを追加するには:

  1. [パフォーマンス] タブで、[操作][新規グラフ] の順にクリックします。[新規グラフ]ダイアログボックスが開きます。

  2. [名前]ボックスにグラフの名前を入力します。

  3. [データソース]の一覧で、グラフに追加するデータソースのチェックボックスをオンにします。

  4. [Save] をクリックします。

既存のグラフを編集するには:

  1. [パフォーマンス]タブで、編集するグラフをクリックします。

  2. グラフを右クリックして[操作]を選択するか、[操作]ボタンをクリックします。[グラフの編集]を選択します。

  3. グラフの[詳細]ダイアログボックスで、必要な変更を行って[OK]をクリックします。

グラフの種類の設定

パフォーマンスグラフ上のデータは線または面で表示できます。グラフの種類を変更するには、次の手順に従います。

  1. [ツール]メニューの[オプション]を選択し、[グラフ]ページを開きます。

  2. パフォーマンスデータを折れ線グラフで表示するには、[折れ線グラフ] オプションをクリックします。

  3. パフォーマンスデータを面グラフで表示するには、[面グラフ] オプションをクリックします。

  4. [OK]をクリックして変更を保存します。

XenCenterのパフォーマンスグラフの設定および表示については、XenCenterドキュメントで「システムパフォーマンスの監視」のセクションを参照してください。

パフォーマンス測定値の設定

注:

C-状態およびP-状態は、一部のプロセッサで提供される電源管理機能です。これらの状態の範囲は、ホストの物理的な能力と電源管理設定により異なります。

パフォーマンス測定値に関するコマンドでは、ホストおよび仮想マシンの両方で以下の情報が返されます。

  • データソースの説明

  • 測定値の単位

  • 使用可能な値の範囲

例:

    name_label: cpu0-C1
    name_description: Proportion of time CPU 0 spent in C-state 1
    enabled: true
    standard: true
    min: 0.000
    max: 1.000
    units: Percent
<!--NeedCopy-->

特定の測定値を有効にする

デフォルトでは、多くの測定値が有効になっており、データが収集されます。無効な測定値を有効にするには、次のコマンドを実行します:

xe host-data-source-record data-source=metric name host=hostname
<!--NeedCopy-->

特定の測定値を無効にする

定期的なデータの収集が不要な測定値がある場合は、その測定値を無効にできます。測定値を無効にするには、次のコマンドを実行します。

xe host-data-source-forget data-source=metric name host=hostname
<!--NeedCopy-->

有効なホスト測定値を表示する

ホストに対して有効になっている測定値を表示するには、次のコマンドを実行します。

xe host-data-source-list host=hostname
<!--NeedCopy-->

有効な仮想マシン測定値を表示する

仮想マシンに対して有効になっている測定値を表示するには、次のコマンドを実行します。

xe vm-data-source-list vm=vm_name
<!--NeedCopy-->

RRDの使用

XenServerでは、パフォーマンス測定値がラウンドロビンデータベース(RRD)に格納されます。これらのRRDは、固定サイズのデータベースに作成される複数のラウンドロビンアーカイブ(RRA)で構成されます。

各アーカイブでは、各測定値が以下の間隔でサンプリングされます。

  • 10分間は5秒間隔
  • 過去2時間は1分間隔
  • 過去1週間は1時間間隔
  • 過去1年間は1日間隔

5秒間隔で実行されるサンプリングでは実際の測定値が記録され、それ以降のラウンドロビンアーカイブでは集約関数が使用されます。以下は、XenServerでサポートされている集約関数です。

  • AVERAGE(平均)
  • MIN(最小)
  • MAX(最大)

RRDは、個々の仮想マシン、dom0、およびXenServerホスト用に作成されます。仮想マシンのRRDは、実行ホスト(実行中の仮想マシンの場合)、またはプールコーディネーター(実行されていない仮想マシンの場合)上に格納されます。このため、パフォーマンスデータを取得するには、仮想マシンがどこにあるかを知っている必要があります。

XenServer RRDの使用方法について詳しくは、『Software Development Kit Guide』を参照してください。

HTTPを使用したRRDの解析

RRDは、/host_rrdまたは/vm_rrdで登録されたHTTPハンドラーを使用して指定されたXenServerホストからHTTP経由でダウンロードできます。これらの両アドレスでは、HTTP認証を使用するか、有効な管理APIセッション参照を照会引数として指定して認証を受ける必要があります。例:

ホストRRDのダウンロード。

wget http://server/host_rrd?session_id=OpaqueRef:SESSION HANDLE>
<!--NeedCopy-->

仮想マシンRRDのダウンロード。

wget http://server/vm_rrd?session_id=OpaqueRef:SESSION HANDLE>&uuid=VM UUID>
<!--NeedCopy-->

これらのコマンドでは、rrdtoolにインポートしてそのまま解析可能なXMLファイルがダウンロードされます。

rrd2csvを使用したRRDの解析

パフォーマンス測定値は、XenCenterで表示するほかにも、rrd2csvツールを使用してRRDをコンマ区切り(CSV)形式のファイルとして書き出すことができます。このツールには、manページおよびヘルプページが用意されています。rrd2csvツールのmanページまたはヘルプページを表示するには、以下のコマンドを実行します:

man rrd2csv
<!--NeedCopy-->

または

rrd2csv --help
<!--NeedCopy-->

注:

複数のオプションを使用する場合は、個別に指定する必要があります。たとえば:仮想マシンまたはホストのUUIDと名前ラベルを取得するには、次のようにrrd2csvをコールします:

rrd2csv -u -n

取得したUUIDは一意であるためプライマリキーとして適していますが、名前ラベルは一意であるとは限りません。

このツールについて詳しくは、manページ(rrd2csv --help)のヘルプテキストを参照してください。

アラート

XenServerでは、ホストや仮想マシンのパフォーマンス測定値に応じてアラートが送信されるように設定できます。さらに、XenServerには、ホストが特定の状態になると生成される事前設定のアラートが用意されています。これらのアラートは、XenCenterまたはxe CLIで表示できます。

XenCenterの使用によるアラートの表示

XenCenterには、さまざまなアラートが表示されます。アラートを表示するには、[通知][アラート] の順にクリックします。[アラート]ページには、パフォーマンスアラート、システムアラート、ソフトウェアアップデートアラートなどさまざまな種類のアラートが表示されます。

パフォーマンスアラート

パフォーマンスアラートは、ホスト、仮想マシン、またはストレージリポジトリで、次のうちいずれかの値が特定のしきい値を超過した場合に生成されるように設定できます: CPU使用率、ネットワーク使用量、メモリ使用量、コントロールドメインのメモリ使用率、ストレージスループット、または仮想マシンのディスク使用量。

アラートのデフォルトの生成間隔は60分ですが、この間隔は必要に応じて変更できます。アラートは、XenCenterの[通知]領域の[アラート]ページに表示されます。また、特定のパフォーマンスアラートをほかの重大なシステムアラートと同様にメールで送信するようにXenCenterを設定することもできます。

XenCenterの[アラート]ページには、xe CLIで設定したカスタムのアラートも表示されます。

各アラートには、重要度が割り当てられます。これらのレベルを変更したり、アラート生成時にメールが送信されるように設定したりできます。アラートのデフォルトの重要度は、3に設定されています。

優先度 名前 説明 デフォルトでのメール送信
1 最重要 直ちに対処しないとデータが恒久的に失われたり破損したりする可能性があります。 はい
2 重要 直ちに対処しないと一部のサービスが停止する可能性があります。 はい
3 警告 直ちに対処しないとサービスが影響を受ける可能性があります。 はい
4 軽微 何らかの問題が改善されました。 いいえ
5 情報 一般的な情報(仮想マシンの起動、停止、再開など)です。 いいえ
? 不明 不明なエラー いいえ

パフォーマンスアラートを設定する

  1. [リソース] ペインでホスト、仮想マシン、またはストレージリポジトリを選択して、[全般] タブの [プロパティ] をクリックします。

  2. [アラート] タブを選択します。次の表は、ホスト、仮想マシン、またはストレージリポジトリで使用できるアラートをまとめたものです:

    アラート名 ホスト VM SR 説明
    CPU使用率アラートを生成する X X   アラートをトリガーするCPUの使用率と許容時間のしきい値を設定します。
    コントロールドメインのCPU使用率アラートを生成する X     アラートをトリガーするコントロールドメインのCPUの使用率と許容時間のしきい値を設定します。
    メモリ使用量アラートを生成する X     アラートをトリガーするメモリの使用量と許容時間のしきい値を設定します。
    コントロールドメインのメモリ使用率アラートを生成する X     アラートをトリガーするコントロールドメインのメモリの使用率と許容時間のしきい値を設定します。
    コントロールドメインの空きメモリアラートを生成する X     アラートをトリガーするコントロールドメインの空きメモリと許容時間のしきい値を設定します。
    ディスク使用量アラートを生成する   X   アラートをトリガーするディスクの使用量と許容時間のしきい値を設定します。
    ストレージスループットアラートを生成する     X アラートをトリガーするストレージスループットと許容時間のしきい値を設定します。注:物理ブロックデバイス(PBD:Physical Block Device)は、物理サーバーとストレージリポジトリ間のインターフェイスです。PBD上の読み取りおよび書き込み時の総スループット量が指定のしきい値を超えると、そのPBDが接続されているホスト上でアラートが生成されます。ほかのXenServerホストアラートとは異なり、このアラートはストレージリポジトリに対して設定します。
    ネットワーク使用量アラートを生成する X X   アラートをトリガーするネットワークの使用量と許容時間のしきい値を設定します。

    アラートの送信間隔を変更するには、[アラートの送信間隔]ボックスに分単位で値を入力します。しきい値に達してアラートが生成されると、送信間隔が経過するまでそのアラートは生成されません。

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

パフォーマンスアラートの表示、フィルター、および重要度の設定方法については、XenCenterドキュメントの「パフォーマンスアラートの設定」を参照してください。

システムアラート

次の表は、アラートが生成されるときのシステムのイベントまたは状態の一覧です。アラートは、XenCenterの[アラート]ページに表示されます。

名前 重要度 説明
license_expires_soon 2 XenServerのライセンスの有効期限が近づいています。
ha-statefile_lost 2 高可用性のストレージリポジトリとの接続が失われました。直ちに対処する必要があります。
ha-heartbeat_approaching_timeout 5 高可用性のタイムアウトが近づいています。直ちに対処しないとホストが再起動される可能性があります。
ha_statefile_approaching_timeout 5 高可用性のタイムアウトが近づいています。直ちに対処しないとホストが再起動される可能性があります。
haxapi_healthcheck_approaching_timeout 5 高可用性のタイムアウトが近づいています。直ちに対処しないとホストが再起動される可能性があります。
ha_network_bonding_error 3 サービスが失われる可能性があります。高可用性のハートビートを送信するためのネットワーク接続が失われました。
ha_pool_overcommited 3 サービスが失われる可能性があります。高可用性で仮想マシンを保護できない可能性があります。
ha_poor_drop_in_plan_exists_for 3 高可用性による保護が低下して失敗する可能性が高くなりましたが、まだ損失はありません。
ha_protected_vm_restart_failed 2 サービスが失われました。高可用性で保護されている仮想マシンを再起動できませんでした。
ha_host_failed 3 高可用性が、ホストが失敗したことを検出しました。
ha_host_was_fenced 4 仮想マシンの破損を防ぐため、高可用性によりホストが再起動されました。
redo_log_healthy 4 XAPIのredoログがエラーから回復しました。
redo_log_broken 3 XAPI redoログでエラーが発生しました。
ip_configured_pif_can_unplug 3 高可用性使用時にIP設定済みのNICがXAPIによりアンプラグされ、高可用性に問題が生じる可能性があります。
host_sync_data_failed 3 XenServerのパフォーマンス測定値の同期に失敗しました。
host_clock_skew_detected 3 ホストの時計設定がプール内のほかのホストと同期していません。
host_clock_went_backwards 1 ホストの時計設定が破損しています。
pool_master_transition 4 新しいホストがプールコーディネーターとして指定されました。
pbd_plug_failed_on_server_start 3 ホストの起動時にストレージとの接続に失敗しました。
auth_external_init_failed 2 ホストでActive Directoryによる外部認証に失敗しました。
auth_external_pool_non-homogeneous 2 プールのホスト間でActive Directoryによる外部認証設定が異なっています。
multipath_period_alert 3 ストレージリポジトリへのいずれかのパスが切断または復元されました。
bond-status-changed 3 ボンディングを構成するいずれかのリンクが切断または再接続されました。

ソフトウェアアップデートアラート

  • XenCenterの既存のバージョン: XenCenterの新しいバージョンが入手可能ですが、既存のバージョンでも新しいバージョンのXenServerに接続できます
  • XenCenterが旧バージョン: XenCenterのバージョンが古いためXenServerに接続できません
  • XenServerが旧バージョン: XenServerのバージョンが古いためこのバージョンのXenCenterで接続できません
  • ライセンス期限切れ: XenServerのライセンスは有効期限切れです
  • 不明なIQN: XenServerでiSCSIストレージを使用していますがホストのIQNが空白です
  • 重複したIQN: XenServerでiSCSIストレージを使用していますがホストのIQNが重複しています

xe CLIを使用してパフォーマンスアラートを設定する

注:

アラートを生成するかどうかを5分未満の間隔でチェックすることはできません。これは、チェックによる過剰な負荷および障害の誤検出を防ぐためです。アラートのチェック間隔として5分よりも小さい値を指定しても、アラートの生成は5分おきに行われます。

パフォーマンスの監視機能であるperfmonは5分おきに実行され、XenServerから1分間の平均パフォーマンスの情報を取得します。このデフォルト設定は、/etc/sysconfig/perfmonで変更できます。

perfmonツールは、そのホスト上で実行されるパフォーマンス変数のアップデートを5分おきに読み取ります。これらの変数は、ホストおよびそのホスト上の仮想マシンごとにグループ化されます。perfmonは、ホストおよび仮想マシンごとにother-config:perfmonパラメーターの内容を読み取り、そのパラメーターの値により監視すべき変数およびメッセージを生成すべき状況を決定します。

以下の例では、other-config:perfmonパラメーターのXML文字列で仮想マシンのCPU使用率アラートを設定しています:

xe vm-param-set uuid=vm_uuid other-config:perfmon=\

'<config>
    <variable>
        <name value="cpu_usage"/>
        <alarm_trigger_level value="0.5"/>
    </variable>
</config>'
<!--NeedCopy-->

注:

複数の変数ノードを使用できます。

新しい構成の設定後、次のコマンドを使用して各ホストのperfmonを更新します:

xe host-call-plugin host=host_uuid plugin=perfmon fn=refresh
<!--NeedCopy-->

更新しないと、新しい構成が有効になるまで時間がかかります。これは、デフォルトで30分ごとにperfmonが新しい構成を確認するためです。このデフォルト設定は、/etc/sysconfig/perfmonで変更できます。

有効な仮想マシン要素

  • name:変数の名前(デフォルト値なし)。名前の値がcpu_usagenetwork_usage、またはdisk_usageのいずれかの場合、この値が使用されるためrrd_regexおよびalarm_trigger_senseパラメーターはデフォルトとして必要ありません。

  • alarm_priority:生成するアラートの優先度(デフォルト値は3)。

  • alarm_trigger_level:アラートを生成する値レベル(デフォルト値なし)。

  • alarm_trigger_sensealarm_trigger_levelが最大値の場合はhighalarm_trigger_levelが最小値の場合はlow(デフォルト値はhigh)。

  • alarm_trigger_period:値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は60)。

  • alarm_auto_inhibit_period:アラート送信後にこのアラートを無効にしておく秒数(デフォルト値は3600)。

  • consolidation_fn:rrd_updatesからの変数の計算方法。cpu-usageのデフォルトはaveragefs_usageのデフォルトはget_percent_fs_usage、そのほかの変数ではsumです。

  • rrd_regex:パフォーマンス値の計算に使用される、xe vm-data-sources-list uuid=vm_uuidコマンドで返される変数名にマッチする正規表現。このパラメーターは、以下の名前付き変数のデフォルト値を持ちます:

    • cpu_usage
    • memory_internal_free
    • network_usage
    • disk_usage

xe vm-data-source-listの正規表現にマッチするすべての値は、consolidation_fnで指定した方法で計算されます。

有効なホスト要素

  • name:変数の名前(デフォルト値なし)。
  • alarm_priority:生成するアラートの優先度(デフォルト値は3)。
  • alarm_trigger_level:アラートを生成する値レベル(デフォルト値なし)。
  • alarm_trigger_sensealarm_trigger_levelが最大値の場合はhighalarm_trigger_levelが最小値の場合はlow(デフォルト値はhigh)。
  • alarm_trigger_period:値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は60)。
  • alarm_auto_inhibit_period:アラート送信後にそのアラートを無効にしておく秒数(デフォルト値は3600)。
  • consolidation_fnrrd_updatesからの変数の計算方法(デフォルト値はsumまたはaverage)。
  • rrd_regex:パフォーマンス値の計算に使用される、xe vm-data-source-list uuid=vm_uuidコマンドで返される変数名にマッチする正規表現。このパラメーターは、以下の名前付き変数のデフォルト値を持ちます。
    • cpu_usage
    • network_usage
    • memory_free_kib
    • sr_io_throughput_total_xxxxxxxx(ここでxxxxxxxxはストレージリポジトリUUIDの最初の8文字)

ストレージリポジトリスループット:ストレージスループットアラートは、ホストではなくストレージリポジトリを対象にして設定します。例:

xe sr-param-set uuid=sr_uuid other-config:perfmon=\
'<config>
    <variable>
        <name value="sr_io_throughput_total_per_host"/>
        <alarm_trigger_level value="0.01"/>
    </variable>
</config>'
<!--NeedCopy-->

一般的な設定例

以下は、一般的な設定の例です。

<config>
    <variable>
    <name value="NAME_CHOSEN_BY_USER"/>
    <alarm_trigger_level value="THRESHOLD_LEVEL_FOR_ALERT"/>
    <alarm_trigger_period value="RAISE_ALERT_AFTER_THIS_MANY_SECONDS_OF_BAD_VALUES"/>
    <alarm_priority value="PRIORITY_LEVEL"/>
    <alarm_trigger_sense value="HIGH_OR_LOW"/>
    <alarm_auto_inhibit_period value="MINIMUM_TIME_BETWEEN_ALERT_FROM_THIS_MONITOR"/>
    <consolidation_fn value="FUNCTION_FOR_COMBINING_VALUES"/>
    <rrd_regex value="REGULAR_EXPRESSION_TO_CHOOSE_DATASOURCE_METRIC"/>
    </variable>

    <variable>
    ...
    </variable>

    ...
</config>
<!--NeedCopy-->

メールアラートの設定

XenServerホストでアラートが生成されたときに、メールによる通知が送信されるようにXenServerを設定できます。XenServerのmail-alarmユーティリティでは、sSMTPを使用してそういったアラートメールを送信できます。XenCenterまたはxeコマンドラインインターフェイス(CLI)を使用して、基本的なメールアラートを有効にできます。メールアラートの詳細な構成については、mail-alarm.conf構成ファイルを変更できます。

認証が不要なSMTPサーバーを使用します。認証が必要なSMTPサーバーを指定すると、メールが送信されません。

XenCenterを使用したアラートメールの有効化

  1. Resourcesペインでプールを右クリックして、Propertiesを選択します。

  2. PropertiesウィンドウでEmail Optionsを選択します。

  3. Send email alert notificationsチェックボックスをオンにします。通知メールの送信先アドレスとSMTPサーバーの詳細を入力します。

  4. Mail language一覧から使用する言語を選択します。パフォーマンスアラートメールのデフォルトの言語は英語です。

xe CLIを使用したアラートメールの有効化

メールアラートを構成するには、通知メールの送信先アドレスとSMTPサーバーを指定します。

xe pool-param-set uuid=pool_uuid other-config:mail-destination=joe.bloggs@example.com
xe pool-param-set uuid=pool_uuid other-config:ssmtp-mailhub=smtp.example.com:<port>
<!--NeedCopy-->

XenServerは、送信者アドレスをnoreply@<hostname>として自動的に構成します。ただし、送信者アドレスは明示的に設定できます:

xe pool-param-set uuid=pool_uuid other-config:mail-sender=serveralerts@example.com
<!--NeedCopy-->

メール通知機能を有効にすると、優先度が3以上のアラートが生成されたときに通知メールを受信します。したがって、デフォルトの最低優先度は3です。このデフォルトは、次のコマンドで変更できます:

xe pool-param-set uuid=pool_uuid other-config:mail-min-priority=level
<!--NeedCopy-->

注:

一部のSMTPサーバーでは、完全修飾ドメイン名(FQDN)が指定されたメールだけが転送されます。メールが転送されない場合は、これが原因になっている可能性があります。この場合、サーバーのホスト名をFQDNに設定し、メールサーバーでそれが使用されるように設定します。

パフォーマンスアラートメールの言語を構成するには:

xe pool-param-set uuid=pool_uuid other-config:mail-language=ja-JP
<!--NeedCopy-->

パフォーマンスアラートメールのデフォルトの言語は英語です。

そのほかの構成

XenServerでmail-alarmユーティリティをさらに構成するには、以下を含む/etc/mail-alarm.confファイルを作成します:

root=postmaster
authUser=<username>
authPass=<password>
mailhub=@MAILHUB@
<!--NeedCopy-->

/etc/mail-alarm.confは、sSMTPの構成ファイルssmtp.confのユーザーが指定するテンプレートであり、XenServerホストで生成されるすべてのアラートで使用されます。key=@KEY@@KEY@pool.other_config内のssmtp-keyの対応する値に置き換えられたキーで構成されます。これらの値はssmtpに渡され、pool.other_configの値を使用してsSMTP構成のさまざまな面を制御できます。@KEY@(大文字)がssmtp-key(小文字、プレフィックスssmtp-)にどのように対応しているかに注意してください。

たとえば、SMTPサーバーを設定する場合:

xe pool-param-set uuid=pool_uuid other-config:ssmtp-mailhub=smtp.example.com
<!--NeedCopy-->

次に、/etc/mail-alarm.confファイルに以下を追加します:

mailhub=@MAILHUB@
<!--NeedCopy-->

mailhub=@MAILHUB@mailhub=smtp.example.comになります。

SMTPサーバーによっては、追加の設定が必要な場合があります。sSMTPをさらに構成するには、構成ファイルssmtp.confを変更します。関連するキーをmail-alarm.confファイルに保存することで、pool.other_config内の値を使用してsSMTPを構成できます。設定可能なオプションおよび構文については、ssmtp.confのmanページを参照してください。主な内容は以下のとおりです:

NAME
    ssmtp.conf – ssmtp configuration file

DESCRIPTION
    ssmtp reads configuration data from /etc/ssmtp/ssmtp.conf The file con-
    tains keyword-argument pairs, one per line. Lines starting with '#'
    and empty lines are interpreted as comments.

The possible keywords and their meanings are as follows (both are case-
insensitive):

    Root
    The user that gets all mail for userids less than 1000. If blank,
    address rewriting is disabled.

    Mailhub
        The host to send mail to, in the form host | IP_addr port :
        <port>. The default port is 25.

    RewriteDomain
    The domain from which mail seems to come. For user authentication.

    Hostname
        The full qualified name of the host. If not specified, the host
        is queried for its hostname.

    FromLineOverride
        Specifies whether the From header of an email, if any, may over-
        ride the default domain. The default is "no".

    UseTLS
    Specifies whether ssmtp uses TLS to talk to the SMTP server.
    The default is "no".

    UseSTARTTLS
        Specifies whether ssmtp does a EHLO/STARTTLS before starting TLS
        negotiation. See RFC 2487.

    TLSCert
        The file name of an RSA certificate to use for TLS, if required.

    AuthUser
        The user name to use for SMTP AUTH. The default is blank, in
        which case SMTP AUTH is not used.

    AuthPass
        The password to use for SMTP AUTH.

    AuthMethod
        The authorization method to use. If unset, plain text is used.
        May also be set to "cram-md5".
<!--NeedCopy-->

カスタムフィールドとタグ

XenCenterでは、仮想マシンやストレージなどをわかりやすく分類するためのタグやカスタムフィールドを作成できます。詳しくは、「システムパフォーマンスの監視」を参照してください。

カスタム検索

XenCenterでは、カスタムの検索条件を作成して保存できます。これらの検索条件をエクスポート/インポートしたり、検索結果をリソースペインに表示したりできます。詳しくは、「システムパフォーマンスの監視」を参照してください。

物理バスアダプタのスループットの確認

ファイバチャネル、SAS、およびiSCSIのホストバスアダプタ(HBA)では、以下の手順でPBDのネットワークスループットを確認できます。

  1. ホスト上のPBDのリストを出力します。
  2. どのLUNがどのPBD上にルーティングされているかを確認します。
  3. 各PBDおよびストレージリポジトリで、そのストレージリポジトリ上のVDIを参照しているVBDのリストを出力します。
  4. ホスト上の仮想マシンに接続されているすべてのアクティブなVBDについて、総スループットを算出します。

iSCSIおよびNFSストレージでは、ネットワークの統計値を確認して、アレイでスループットのボトルネックが発生していないかどうか、PBDが飽和状態になっていないかを確認します。

NRPEを使用してホストとdom0のリソースを監視する

注:

NRPE機能は、XenServer Premium EditionまたはTrial Editionユーザーが利用できます。XenServerライセンスについて詳しくは、「ライセンス」を参照してください。XenServerのライセンスをアップグレードまたは購入するには、「XenServer Editions」にアクセスしてください。

プール管理者の役割を持つユーザーは、Nagios Remote Plugin Executor(NRPE)に対応した任意のサードパーティ監視ツールを使用して、XenServerホストおよびdom0(ホストのコントロールドメイン)によって消費されるリソースを監視できます。

次のチェックプラグインを使用して、ホストとdom0のリソースを監視できます:

メトリック NRPEチェック名 説明 デフォルトの警告しきい値 デフォルトのクリティカルしきい値 返されるパフォーマンスデータ
ホストCPUの負荷 check_host_load ホストの物理CPUごとに現在の負荷を取得して確認します。この場合、負荷とは、実行中または実行可能な状態にある仮想CPUの数を指します。 3 4 ホストのCPUの現在のシステム負荷(ホストの物理CPU の平均負荷を取得して計算)。
ホストのCPU使用率(%) check_host_cpu ホストの現在の全体的なCPUの平均使用率を取得して確認します。 80% 90% ホストCPUの現在空いている割合と使用中の割合。
ホストのメモリ使用率(%) check_host_memory ホストの現在のメモリ使用率を取得して確認します。 80% 90% ホストメモリの現在空いている割合と使用中の割合。
ホストの仮想GPU使用率(%) check_vgpu 現在実行中のホストのすべてのNvidia vGPU使用率を取得して確認します。 80% 90% 実行中の仮想GPUの現在空いている割合と使用中の割合。
ホストの仮想GPUメモリ使用率(%) check_vgpu_memory ホストの現在実行中のすべてのNvidia vGPUメモリ使用率(共有メモリとグラフィックメモリを含む)を取得して確認します。 80% 90% 実行中の仮想GPUメモリ(共有メモリとグラフィックメモリを含む)の現在空いている割合と使用中の割合。
dom0のCPU負荷 check_load dom0のCPUごとに現在のシステム負荷平均を取得して確認します。この場合、負荷とは、実行中または実行可能な状態にあるプロセスの数を指します。 2.7、2.6、2.5 3.2、3.1、3 過去1分間、5分間、および15分間の平均を取得して計算されたホストCPUの負荷データ。
dom0のCPU使用率(%) check_cpu dom0の現在の全体的なCPUの平均使用率を取得して確認します。 80% 90% dom0の全体的なCPUの平均使用率(パーセンテージ)。
dom0のメモリ使用率(%) check_memory dom0の現在のメモリ使用率を取得して確認します。 80% 90% dom0メモリの現在空いている割合と使用中の割合。
dom0の空きスワップ(%) check_swap dom0の現在のスワップ使用率を取得して確認します。 20% 10% dom0上で現在利用可能なMBの割合。
dom0ルートパーティションの空き領域(%) check_disk_root dom0の現在のルートパーティション使用率を取得して確認します。 20% 10% dom0のルートパーティションで現在利用可能なMBの割合。
dom0ログパーティションの空き領域(%) check_disk_log dom0の現在のログパーティション使用率を取得して確認します。 20% 10% dom0のログパーティションで現在利用可能なMBの割合。
ツールスタックの状態 check_xapi XenServer管理ツールスタック(XAPIとも呼ばれます)の状態を取得して確認します。     XAPIの経過稼働時間(秒)。
マルチパスの状態 check_multipath ストレージパスの状態を取得して確認します。     ストレージパスの状態。OKはすべてのパスがアクティブであることを示します。WARNINGは一部のパスに障害が発生しているものの、複数のパスがアクティブであることを示します。CRITICALはアクティブなパスが1つだけであるか、すべてのパスに障害が発生したことを示します。UNKNOWNはホストのマルチパスが無効で、パスの状態を取得できないことも示します。

NRPEは、dom0で実行され、TCPポート(デフォルト)5666で監視ツールからのチェック実行要求をリッスンするオンプレミスサービスです。要求が到着すると、NRPEは要求を解析し、パラメーターの詳細を含む対応するチェックコマンドを設定ファイルから見つけて実行します。チェックの結果は監視ツールに送信され、過去のチェック結果が保存され、パフォーマンスの履歴データを示すグラフが表示されます。

前提条件

NRPEを使用してホストおよびdom0リソースを監視できるようにするには、使用している監視ツールが次の前提条件を満たしている必要があります:

  • 監視ツールは、NRPEバージョン4.1.0と互換性がある必要があります。
  • NRPEと監視ツール間の通信を許可するには、監視ツールが暗号の組み合わせECDHE-RSA-AES256-GCM-SHA384およびECDHE-RSA-AES128-GCM-SHA256を使用したTLS 1.2をサポートしている必要があり、ECC曲線はsecp384r1です。

制約

  • NRPE設定は、プール全体に対して、またはプールの一部ではないスタンドアロンホストに対して構成できます。現在、プール内の個々のホストに対してNRPE設定を構成することはできません。
  • 既にNRPEが有効になり構成されているプールにホストを追加した場合、XenCenterはプールのNRPE設定を新しいホストに自動的に適用しません。新しいホストを追加した後にプールのNRPE設定を再構成するか、プールに追加する前に同じNRPE設定で新しいホストを構成する必要があります。

    注:

    新しいホストを追加した後にプールにNRPE設定を再構成する場合は、ホストが稼働していることを確認してください。

  • NRPEが有効で構成されているプールからホストが削除された場合、XenCenterはホストまたはプールのNPRE設定を変更しません。

xe CLIを使用してNRPEを構成する

xe CLIまたはXenCenterを使用してNRPEを構成できます。XenCenterを使用してNRPEを構成する方法について詳しくは、「NRPEを使用してホストとdom0のリソースを監視する」を参照してください。

NRPEの構成を変更した後、以下を使用してNRPEサービスを再起動します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=restart
<!--NeedCopy-->

NRPEを有効にする

NRPEは、XenServerでデフォルトで無効になっています。ホストのコントロールドメイン(dom0)でNRPEを有効にするには、xe CLIで次のコマンドを実行します:

  1. 監視するホストのホストUUIDを取得します:

    xe host-list

  2. ホスト上でNRPEを有効にします:

    xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=enable

    操作が正常に実行されると、このコマンドはSuccessを出力します。XenServerを再起動すると、NRPEが自動的に起動します。

NRPEを停止、開始、再起動、または無効にするには:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=<operation>
<!--NeedCopy-->

ここでoperationは、stopstartrestartまたはdisableです。

サーバーの監視

これは、NRPEデーモンとの通信を許可するIPアドレスまたはホスト名のコンマ区切りの一覧です。ビットマスク付きのネットワークアドレス(192.168.1.0/24など)もサポートされています。

監視サーバーの最新の一覧を表示します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:allowed_hosts
<!--NeedCopy-->

監視ツールによるチェックの実行を許可します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:allowed_hosts=<IP address or hostname>
<!--NeedCopy-->

すべてのNRPE設定を照会します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config
<!--NeedCopy-->

複数のNRPE設定を構成します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:allowed_hosts=<IP address or hostname> args:ssl_logging=<SSL log level> args:debug=<debug log level>
<!--NeedCopy-->

ログ

デバッグのログ

デフォルトでは、デバッグログは無効になっています。

デバッグログが有効かどうかを確認するには、次のコマンドを実行します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:debug
<!--NeedCopy-->

debug: 0が返された場合、デバッグログは無効になります。

デバッグログを有効にするには:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:debug=1
<!--NeedCopy-->
SSLログ

デフォルトでは、SSLログは無効になっています:

ssl_logging=0x00
<!--NeedCopy-->

SSLログが有効かどうかを確認するには、次のコマンドを実行します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:ssl_logging
<!--NeedCopy-->

SSLログを有効にするには:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:ssl_logging=0x2f
<!--NeedCopy-->

警告およびクリティカルのしきい値

これらのうち一部のチェックプラグインでは、チェックプラグインから返された値がしきい値を超えた場合にアラートが生成されるように、警告およびクリティカルのしきい値を設定できます。警告しきい値は潜在的な問題を示し、クリティカルしきい値は即時の対応が必要なより深刻な問題を示します。警告およびクリティカルのしきい値にはデフォルト値が設定されていますが、しきい値は調整できます。

すべてのチェックでデフォルトの警告しきい値とクリティカルしきい値を照会するには、次のxe CLIコマンドを実行します。これにより、すべてのチェックと、それに関連する警告しきい値とクリティカルしきい値の一覧が返されます:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold
<!--NeedCopy-->

特定のチェックのしきい値を照会することもできます。たとえば、check_memoryチェックプラグインの警告およびクリティカルのしきい値を取得するには、次のxe CLIコマンドを実行します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold args:check_memory
<!--NeedCopy-->

しきい値のデフォルト値を変更することもできます。たとえば、check_memoryチェックプラグインのデフォルトのしきい値を変更するには、次のxe CLIコマンドを実行します:

xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-threshold args:check_memory args:w=75 args:c=85
<!--NeedCopy-->

SNMPを使用してホストとdom0のリソースを監視する

注:

SNMP機能は、XenServer Premium EditionまたはTrial Editionユーザーが利用できます。XenServerライセンスについて詳しくは、「ライセンス」を参照してください。XenServerのライセンスをアップグレードまたは購入するには、「XenServer Editions」にアクセスしてください。

プール管理者の役割では、SNMPを使用して、XenServerホストとdom0(ホストのコントロールドメイン)によって消費されるリソースをリモートで監視できます。SNMPマネージャー(ネットワーク管理システム(NMS)とも呼ばれる) は、XenServerホスト上で実行されているSNMPエージェントにクエリ要求を送信します。SNMPエージェントは、さまざまなメトリックで収集されたデータをNMSに送り返すことで、これらのクエリ要求に応答します。収集できるデータは、管理情報ベース(MIB)と呼ばれるテキストファイル内のオブジェクトID(OID)によって定義されます。OIDは、CPUやメモリの使用量など、ネットワークデバイスに関する測定可能な特定の情報を表します。

また、XenServerで特定のイベントが発生したことをNMSに警告するために、エージェントによって開始されるメッセージであるトラップを構成することもできます。クエリ要求とトラップの両方を使用して、XenServerプールの状態を監視できます。これらはメトリックオブエジプトおよびトラップオブジェクトとして定義され、MIBファイルXENSERVER-MIB.txt内のOIDによって識別されます。このファイルは、XenServerのダウンロードページからダウンロードできます。以下の表は、これらのメトリックオブエジプトおよびトラップオブジェクトに関する情報です。

メトリックオブジェクト

以下の表に表示されているメトリックを使用して、XenServerホストに関する特定の情報を要求できます。これらのメトリックは、SNMPエージェントにクエリ要求を送信するときにSNMPマネージャーによって使用されるため、NMSでこのデータを表示できます。

これらのメトリックオブジェクトから返されたデータは、NMSまたはxe CLIから表示できます。xe CLIからメトリックオブジェクトを照会するには、host-data-source-queryまたはvm-data-source-queryを実行し、data-sourceパラメーターの値としてRRDDデータソースを指定します。例:

xe host-data-source-query data-source=cpu_avg host=<host UUID>
<!--NeedCopy-->

注:

デフォルトでは、NMSはポート161を使用してOIDクエリ要求をSNMPエージェントに送信します。

オブジェクトID(OID) RRDDデータソース 返されたデータ 種類
.1.3.6.1.4.1.60953.1.1.1.1 memory Dom0のメモリ合計(MB) Unsigned32
.1.3.6.1.4.1.60953.1.1.1.2 memory_internal_free Dom0の空きメモリ(MB) Unsigned32
.1.3.6.1.4.1.60953.1.1.1.3 cpu_usage Dom0のCPU使用率(%) Float
.1.3.6.1.4.1.60953.1.1.1.4 memory_total_kib ホストのメモリ合計(MB) Unsigned32
.1.3.6.1.4.1.60953.1.1.1.5 memory_free_kib ホストの空きメモリ(MB) Unsigned32
.1.3.6.1.4.1.60953.1.1.1.6 cpu_avg ホストのCPU使用率(%) Float
.1.3.6.1.4.1.60953.1.1.1.7 (注1参照) pCPU数 Unsigned32
.1.3.6.1.4.1.60953.1.1.1.8 running_vcpus 実行中のvCPU数 Unsigned32
.1.3.6.1.4.1.60953.1.1.1.9 running_domains 実行中のVM数 Unsigned32

メモ:

  1. pCPUの名前はcpuの後に数字が続く形式です。xe CLIからpCPUの数を照会するには、次のコマンドを実行します:

    xe host-data-source-list host=<host UUID> | grep -E 'cpu[0-9]+$'

    This returns a list of the CPU metrics that match the regular expression cpu[0-9]+.

トラップ

トラップは、特定のイベントが発生したときにSNMPエージェントによって送信されるアラートであり、SNMPマネージャーに通知することで、XenServerホストを監視して問題を早期に特定できます。設定された制限に達したとき(たとえば、ホストのCPU使用率が高すぎる場合)にトラップを生成するようにSNMP設定を構成できます。トラップが生成されると、NMSに送信され、次のフィールドがトラップオブジェクトの一部として返されます。

注:

デフォルトでは、プールコーディネーターホスト上のSNMPエージェントは、UPDポート162を使用してNMSにトラップを送信します。

オブジェクトID(OID) フィールド名 種類 説明
.1.3.6.1.4.1.60953.1.10.1.1 operation 文字列 次のいずれかの値になります:addまたはdel。トラップがXenServerによって生成され、NMSに送信された場合(XenCenterでもアラートが作成される)、operationaddになり、アラートが破棄された場合(たとえば、アラートを無視した場合)はdelになります。
.1.3.6.1.4.1.60953.1.10.1.2 ref 文字列 トラップオブジェクトのリファレンス。
.1.3.6.1.4.1.60953.1.10.1.3 uuid 文字列 トラップオブジェクトのUUID。
.1.3.6.1.4.1.60953.1.10.1.4 name 文字列 トラップオブジェクトの名前。
.1.3.6.1.4.1.60953.1.10.1.5 priority 整数 トラップの重要度。次のいずれかの値になります:1:最重要、2重要、3:警告、4:軽微、5:情報、others:不明。
.1.3.6.1.4.1.60953.1.10.1.6 class 文字列 生成されたトラップのカテゴリ。次のいずれかの値になります:VMHostSRPoolVMPPVMSSPVS_proxyVDI、またはCertificate
.1.3.6.1.4.1.60953.1.10.1.7 obj-uuid 文字列 フィールドclassのさまざまなクラスのxapiオブジェクトUUID。
.1.3.6.1.4.1.60953.1.10.1.8 timestamp 文字列 トラップが生成される時間。
.1.3.6.1.4.1.60953.1.10.1.9 body 文字列 フィールドnameに関する詳細情報。

前提条件

  • プール内のすべてのホストは同じXenServerバージョンを実行している必要があり、このバージョンにはSNMPプラグインが含まれている必要があります。

    注:

    XenCenterに [SNMP] タブが表示されない場合は、ホストまたはプールのメンバーがSNMPをサポートするバージョンのXenServerを実行していないことが原因である可能性があります。ホストまたはプールをXenServerの最新バージョンに更新してください。

  • 使用しているNMSはSNMPv2cまたはSNMPv3をサポートしている必要があります。

  • NMSとXenServerはネットワーク接続されている必要があります。

制約

  • SNMP設定は、プール全体に対して、またはプールの一部ではないスタンドアロンホストに対して構成できます。現在、プール内の個々のホストに対してSNMP設定を構成することはできません。
  • 既にSNMPが有効になり構成されているプールにホストを追加した場合、XenCenterはプールのSNMP設定を新しいホストに自動的に適用しません。新しいホストを追加した後にプールのSNMP設定を再構成するか、プールに追加する前に同じSNMP設定で新しいホストを構成する必要があります。

    注:

    新しいホストを追加した後にプールにSNMP設定を再構成する場合は、ホストが稼働していて、保守モードではないことを確認してください。

  • Citrix Hypervisor 8.2 CU1からXenServer 8へのプールのローリングアップグレードを実行する前、またはXenServerホストとプールにアップデートを適用する前に、以前に次の構成ファイルを手動で変更し今回も必要な場合は、バックアップを作成してください:

    • /etc/snmp/snmpd.xs.conf
    • /etc/sysconfig/snmp
    • /var/lib/net-snmp/snmpd.conf
  • SNMPエージェントがオフラインの場合、トラップは生成できません。たとえば、SNMPエージェントが再起動された場合、またはプールコーディネーターが再起動または再指定された場合などです。

xe CLIを使用してSNMPを構成する

xe CLIまたはXenCenterを使用してSNMPを構成できます。XenCenterを使用してSNMPを構成する方法について詳しくは、「SNMPを使用してホストとdom0のリソースを監視する」を参照してください。

resultオブジェクト

SNMPを構成すると、すべての応答はJSON形式で返されます。コマンドが正常に実行されると、キーと値のペア"code": 0が返されます。一部のコマンド(get-configコマンドなど)は、resultと呼ばれるネストされたJSONオブジェクトを返します。result JSONオブジェクトは、SNMP構成をアップデートするために使用されるset-configコマンドにも必要です。

result JSONオブジェクトは、次のオブジェクトcommonagentnmssで構成されています:

common

フィールド 許可される値 デフォルト値
enabled no(SNMPサービスを無効にする)またはyes(SNMPサービスを有効にする) no
debug_log no(デバッグログを無効にする)またはyes(デバッグログを有効にする) no
max_nmss N/A(このフィールドは読み取り専用で、サポートされるNMSの最大数を指定します) 1

agent

フィールド 許可される値 デフォルト値
v2c no(SNMPv2cを無効にする)またはyes(SNMPv2cを有効にする) yes
community COMMON_STRING_TYPE(注1参照) public
v3 no(v3を無効にする)またはyes(v3を有効にする) no
user_name COMMON_STRING_TYPE(注1参照)  
authentication_password COMMON_STRING_TYPE。長さ >= 8(注1参照)  
authentication_protocol MD5 または SHA  
privacy_password COMMON_STRING_TYPE。長さ >= 8(注1参照)  
privacy_protocol DES または AES  
engine_id N/A(このフィールドは読み取り専用であり、SNMPエージェントが初めて起動したときに生成されます)  

nmss

フィールド 許可される値 デフォルト値
uuid NMS UUID(NMSトラップレシーバーを構成するときにこれを設定し、この値はプール内のすべてのホストで一貫している必要があります)  
address NMS IPv4アドレスまたはホスト名(FQDN)  
port 1から65535 162
v2c no(SNMPv2cを無効にする)、yes(SNMPv2cを有効にする)、またはSNMPv2cまたはv3のいずれかをサポートします。 yes
community COMMON_STRING_TYPE(注1参照) public
v3 no(v3を無効にする)、yes(v3を有効にする)、またはSNMPv2cまたはSNMPv3のいずれかをサポートします。 no
user_name COMMON_STRING_TYPE(注1参照)  
authentication_password COMMON_STRING_TYPE。長さ >= 8(注1参照)  
authentication_protocol MD5 または SHA  
privacy_password COMMON_STRING_TYPE。長さ >= 8(注1参照)  
privacy_protocol DES または AES  

メモ:

  1. COMMON_STRING_TYPEは、次の要件を満たす文字列を参照します:
    • 文字、数字、ハイフン(-)、ピリオド(.)、シャープ(#)、アットマーク(@)、等号(=)、コロン(:)またはアンダースコア文字(_)の任意の組み合わせ。
    • 長さは6から32まで。
  2. パスワードは、XenServerのどの構成ファイルにもplaintextで保存されません。これらはローカライズされたキーに変換されて保存されます。get-configコマンドは、パスワードをアスタリスク(*)で構成された隠し定数として表示します。

SNMPサービスの構成

SNMPサービスの状態を取得します:

xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=status
<!--NeedCopy-->

SNMPサービスを開始、停止、または再起動します:

xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=<operation>
<!--NeedCopy-->

ここで、operationstartstop、またはrestartです。

SNMP構成の詳細を取得します:

xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=get-config
<!--NeedCopy-->

成功した場合、このコマンドはキーと値のペア"code": 0と、SNMPサービスの構成の詳細を含むresult JSONオブジェクトを返します。例:

"code": 0,
  "result": {
    "common": {
      "enabled": "no",
      "debug_log": "no",
      "max_nmss": 1
    },
    "agent": {
      "v2c": "yes",
      "v3": "no",
      "community": "public",
      "user_name": "",
      "authentication_password": "",
      "authentication_protocol": "",
      "privacy_password": "",
      "privacy_protocol": "",
      "engine_id": "<engine_id>"
    },
    "nmss": []
  }
<!--NeedCopy-->

result JSONオブジェクトを任意のテキストエディターにコピーし、すべての改行(\n)文字をファイルから削除します。SNMP構成の詳細でフィールドをアップデートします。NMSのドキュメントを参照し、nmssオブジェクトに必要なフィールドの値を指定して、NMSを構成します。詳しくは、上記のオブジェクトを参照してください。

SNMPサービスを構成するには、set-configコマンドを実行し、編集したresult JSONオブジェクトをargs:configパラメーターの値として指定します。

SNMP構成を設定します:

xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=set-config args:config='<result>'
<!--NeedCopy-->

ここでresultは、コピーして編集したget-configコマンドから返されたresult JSONオブジェクトです。

注:

プール全体に対してSNMPを構成するには、プール内の各ホストに対してset-configコマンドを実行する必要があります。

構成の変更が成功した場合、コマンドはキーと値のペア"code": 0を返します。構成の変更が失敗した場合、set-configコマンドは、エラーが発生したことを示す次のキーと値のペアのいずれかを返します:

  • "code": 1:一般的なエラー文字列。たとえば、不明な例外などです。
  • "code": 2:エラー文字列(パラメーターがありません)。
  • "code": 3messageオブジェクトを一覧で返します。各要素は[field_path, key, value, error string]の形式です。

指定されたトラップレシーバー情報が正しいことを確認するために、NMSにテストSNMPトラップを送信することもできます。

テストSNMPトラップを送信します:

xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=send-test-trap args:config='{"nmss":[{"uuid":"<uuid>","address":"<address>","port":162,"v2c":"yes","v3":"no","community":"public","user_name":"<user_name>","authentication_password":"<authentication_password>","authentication_protocol":"<authentication_protocol>","privacy_password":"<privacy_password>","privacy_protocol":"<privacy_protocol>"}]}'
<!--NeedCopy-->

このコマンドは、TEST_TRAPmsg_nameThis is a test trap from XenServer pool "<pool name>" to verify the NMS Trap Receiver configuration.msg_bodyを使用してNMSにテストトラップを送信します

テストトラップを受信していない場合は、SNMP設定を再度確認してください。失敗した場合、send-test-trapコマンドは、エラーが発生したことを示す次のキーと値のペアのいずれかを返します:

  • "code": 1:一般的なエラー文字列。たとえば、不明な例外などです。
  • "code": 2:エラー文字列(パラメーターがありません)。
  • "code": 3messageオブジェクトを一覧で返します。各要素は[field_path, key, value, error string]の形式です。
  • "code": 4messageオブジェクトを一覧で返します。各要素は[nms address, nms port, error string]の形式です。
環境の監視と管理