環境の監視と管理
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-状態があること。 | CPUcpu C-状態cstate
|
cpu<cpu>-P<pstate> |
CPUcpu がP-状態pstate である時間(ミリ秒)。 |
CPUにP-状態があること。 | CPUcpu P-状態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がプラグされていること。 |
sr IO待機 |
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がプラグされていること。 | ディスクvbd IO待機 |
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をインストールして、仮想マシンのすべてのパフォーマンスデータを表示します。
パフォーマンスグラフを設定する
新しいグラフを追加するには:
-
[パフォーマンス] タブで、[操作]、[新規グラフ] の順にクリックします。[新規グラフ]ダイアログボックスが開きます。
-
[名前]ボックスにグラフの名前を入力します。
-
[データソース]の一覧で、グラフに追加するデータソースのチェックボックスをオンにします。
-
[Save] をクリックします。
既存のグラフを編集するには:
-
[パフォーマンス]タブで、編集するグラフをクリックします。
-
グラフを右クリックして[操作]を選択するか、[操作]ボタンをクリックします。[グラフの編集]を選択します。
-
グラフの[詳細]ダイアログボックスで、必要な変更を行って[OK]をクリックします。
グラフの種類の設定
パフォーマンスグラフ上のデータは線または面で表示できます。グラフの種類を変更するには、次の手順に従います。
-
[ツール]メニューの[オプション]を選択し、[グラフ]ページを開きます。
-
パフォーマンスデータを折れ線グラフで表示するには、[折れ線グラフ] オプションをクリックします。
-
パフォーマンスデータを面グラフで表示するには、[面グラフ] オプションをクリックします。
-
[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 | 情報 | 一般的な情報(仮想マシンの起動、停止、再開など)です。 | いいえ |
? | 不明 | 不明なエラー | いいえ |
パフォーマンスアラートを設定する
-
[リソース] ペインでホスト、仮想マシン、またはストレージリポジトリを選択して、[全般] タブの [プロパティ] をクリックします。
-
[アラート] タブを選択します。次の表は、ホスト、仮想マシン、またはストレージリポジトリで使用できるアラートをまとめたものです:
アラート名 ホスト VM SR 説明 CPU使用率アラートを生成する X X アラートをトリガーするCPUの使用率と許容時間のしきい値を設定します。 コントロールドメインのCPU使用率アラートを生成する X アラートをトリガーするコントロールドメインのCPUの使用率と許容時間のしきい値を設定します。 メモリ使用量アラートを生成する X アラートをトリガーするメモリの使用量と許容時間のしきい値を設定します。 コントロールドメインのメモリ使用率アラートを生成する X アラートをトリガーするコントロールドメインのメモリの使用率と許容時間のしきい値を設定します。 コントロールドメインの空きメモリアラートを生成する X アラートをトリガーするコントロールドメインの空きメモリと許容時間のしきい値を設定します。 ディスク使用量アラートを生成する X アラートをトリガーするディスクの使用量と許容時間のしきい値を設定します。 ストレージスループットアラートを生成する X アラートをトリガーするストレージスループットと許容時間のしきい値を設定します。注:物理ブロックデバイス(PBD:Physical Block Device)は、物理サーバーとストレージリポジトリ間のインターフェイスです。PBD上の読み取りおよび書き込み時の総スループット量が指定のしきい値を超えると、そのPBDが接続されているホスト上でアラートが生成されます。ほかのXenServerホストアラートとは異なり、このアラートはストレージリポジトリに対して設定します。 ネットワーク使用量アラートを生成する X X アラートをトリガーするネットワークの使用量と許容時間のしきい値を設定します。 アラートの送信間隔を変更するには、[アラートの送信間隔]ボックスに分単位で値を入力します。しきい値に達してアラートが生成されると、送信間隔が経過するまでそのアラートは生成されません。
-
[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_usage
、network_usage
、またはdisk_usage
のいずれかの場合、この値が使用されるためrrd_regex
およびalarm_trigger_sense
パラメーターはデフォルトとして必要ありません。 -
alarm_priority
:生成するアラートの優先度(デフォルト値は3
)。 -
alarm_trigger_level
:アラートを生成する値レベル(デフォルト値なし)。 -
alarm_trigger_sense
:alarm_trigger_level
が最大値の場合はhigh
、alarm_trigger_level
が最小値の場合はlow
(デフォルト値はhigh
)。 -
alarm_trigger_period
:値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は60
)。 -
alarm_auto_inhibit_period
:アラート送信後にこのアラートを無効にしておく秒数(デフォルト値は3600
)。 -
consolidation_fn
:rrd_updatesからの変数の計算方法。cpu-usage
のデフォルトはaverage
、fs_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_sense
:alarm_trigger_level
が最大値の場合はhigh
、alarm_trigger_level
が最小値の場合はlow
(デフォルト値はhigh
)。 -
alarm_trigger_period
:値がしきい値に達した場合にアラートを送信するまでの秒数(デフォルト値は60
)。 -
alarm_auto_inhibit_period
:アラート送信後にそのアラートを無効にしておく秒数(デフォルト値は3600
)。 -
consolidation_fn
:rrd_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を使用したアラートメールの有効化
-
Resources
ペインでプールを右クリックして、Properties
を選択します。 -
Properties
ウィンドウでEmail Options
を選択します。 -
Send email alert notifications
チェックボックスをオンにします。通知メールの送信先アドレスとSMTPサーバーの詳細を入力します。 -
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のネットワークスループットを確認できます。
- ホスト上のPBDのリストを出力します。
- どのLUNがどのPBD上にルーティングされているかを確認します。
- 各PBDおよびストレージリポジトリで、そのストレージリポジトリ上のVDIを参照しているVBDのリストを出力します。
- ホスト上の仮想マシンに接続されているすべてのアクティブな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で次のコマンドを実行します:
-
監視するホストのホストUUIDを取得します:
xe host-list
-
ホスト上で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は、stop
、start
、restart
または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 |
メモ:
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でもアラートが作成される)、operation はadd になり、アラートが破棄された場合(たとえば、アラートを無視した場合)は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 |
文字列 | 生成されたトラップのカテゴリ。次のいずれかの値になります:VM 、Host 、SR 、Pool 、VMPP 、VMSS 、PVS_proxy 、VDI 、または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オブジェクトは、次のオブジェクトcommon
、agent
、nmss
で構成されています:
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
|
メモ:
- COMMON_STRING_TYPEは、次の要件を満たす文字列を参照します:
- 文字、数字、ハイフン(-)、ピリオド(.)、シャープ(#)、アットマーク(@)、等号(=)、コロン(:)またはアンダースコア文字(_)の任意の組み合わせ。
- 長さは6から32まで。
- パスワードは、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-->
ここで、operationはstart
、stop
、または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": 3
:message
オブジェクトを一覧で返します。各要素は[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_TRAP
のmsg_name
とThis 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": 3
:message
オブジェクトを一覧で返します。各要素は[field_path, key, value, error string]
の形式です。 -
"code": 4
:message
オブジェクトを一覧で返します。各要素は[nms address, nms port, error string]
の形式です。