VMwareサーバーソフトウェア製品は、各ソフトウェアコンポーネントのイベントとタイムスタンプに関するデータを記録するログファイルを提供しています。VMwareログはトラブルシューティングや問題の診断と解決に使用できます。このブログ投稿では、ESXiおよびvCenterログに焦点を当て、VMware vSphereでログをチェックする方法、必要な情報を見つける方法、およびそれらを分析する方法について説明します。
ESXiログ
VMware ESXiは広く使用されているハイパーバイザであり、ユーザーは物理サーバ上で仮想マシンを作成および管理できます。ESXiサーバーの適切な機能、トラブルシューティング、およびモニタリングを確保するために、さまざまなログが生成されます。これらのログは重要なイベント、エラー、およびパフォーマンスデータをキャプチャし、管理者やサポートチームが問題を特定し、仮想インフラストラクチャの安定性を維持するのに役立ちます。以下は、いくつかの重要なVMware ESXiログの説明です。
VMkernelログ
/var/log/vmkernel.log
このログは、VMkernelのアクティビティ(デバイスドライバイベント、ストレージ、ネットワーキング、およびその他のカーネル関連アクティビティ)を記録します。これは低レベルのシステム操作に対する洞察を提供し、ハードウェア関連の問題の診断に重要です。vmkernelログの場所は/var/log/ディレクトリです。
/var/log/vmkwarning.log
このログファイルには、ESXiハイパーバイザのコアであるVMkernelによって生成された警告メッセージが含まれています。これは注意が必要なイベントや条件を記録しますが、致命的なエラーではありません。
/var/log/vmksummary.log
vmksummary.logは、ESXiホストの運用状態の概要を提供するサマリーログであり、起動およびシャットダウンイベント、システムリソースの使用状況、および一部の主要なパフォーマンス統計を含みます。
ホスト管理ログ
/var/log/hostd.log
このログには、ESXiホスト管理サービス(hostd)に関連するエントリが含まれています。仮想マシンの電源操作、タスクおよびイベント処理、および該当する場合はvCenter Serverとの通信イベントが記録されます。
仮想マシンログ
/vmfs/volumes/datastore_name/vm_name/vmware.log
各仮想マシンは、そのVMに固有のイベントをキャプチャするログファイルを保持しています。電源操作、仮想ハードウェアの変更、およびゲストOS内のアプリケーションイベントなどが含まれます。 vmware.logファイルの場所は、データストア上のVMディレクトリです。
ストレージログ
/var/log/vobd.log
このログは、ストレージおよびiSCSI操作に関連する問題に焦点を当てています。
/var/log/vmkernel.log
前述のように、VMkernelログにはストレージ関連のイベントも記録されます。
ネットワークログ
/var/log/vobd.log
このログには、vMotion、ネットワーク接続、および通信エラーなどのネットワーク関連イベントが含まれます。
/var/log/vmkernel.log
VMkernelログにもネットワーク関連のメッセージが含まれています。
認証およびユーザーログ
/var/log/auth.log
このログは、ユーザーのログインやログアウトなどの認証イベントを記録しています。
ESXiシェルとSSHログ
/var/log/shell.log
このログは、ユーザーによって実行されたESXiシェル(TSM)コマンドをキャプチャします。
/var/log/ssh.log
ESXiホストでSSHが有効になっている場合、このログはSSH関連のイベントを記録します。
システムメッセージ
/var/log/syslog.log
syslog.logには、VMkernelやESXiホストで実行されているさまざまなサービスからのシステムメッセージの包括的なログが含まれています。ブートメッセージ、ハードウェアイベント、ネットワークアクティビティなど、幅広い情報が記録されています。
ファイアウォールログ
/var/log/firewall.log
このログは、ESXiファイアウォールに関連するイベントを追跡し、許可された接続や拒否された接続などを記録します。
ESXiに接続されている場合のvCenterサーバーログ
/var/log/vpxa.log
このログファイルは、vCenterサーバーによって管理されているESXiホストに固有です。vpxa.logは、ESXiホストで実行されているvCenterエージェント(vpxa)に関連しており、vCenterから開始されたタスク(VMの電源操作、移行、構成変更など)やホストの状態の更新、タスクとイベントの実行、vCenterサーバーとの通信などを記録しています。
ESXiアップデートログ
/var/log/esxupdate.log
esxupdate.logには、ESXiホストのパッチ適用およびアップデートに関連するログが含まれています。このログファイルには、ESXiホスト上のソフトウェアパッケージ(VIB)のインストール、アップグレード、および削除に関する情報が記録されています。
USBログ
/var/log/usb.log
usb.logファイルには、ESXiホストに接続されたUSBデバイスに関連するイベントが記録されます。これには、USBデバイスの検出、接続、および切断、およびUSBパススルーやUSBアービトレーターサービスの使用に関連する問題が追跡されます。
VMware vCenterログ
VMware vCenterは、複数のVMware ESXiホストと仮想マシンを効率的に管理できる集中管理プラットフォームです。vCenter Serverとそれに接続されたESXiホストの健全性とパフォーマンスを維持するために、いくつかのログが生成され、それぞれ特定の目的を果たしています。以下に、いくつかの重要なVMware vCenterログの説明があります。
vpxd.log
場所:/var/log/vmware/vpxd/vpxd.log
このログファイルは、vCenter Server サービスに関連するイベントを記録します。vpxd ログの場所は、vCenter サーバー上の /var/log/vmware/vpxd/ ディレクトリです。vpxd ログには、vCenter サービスの起動、vSphere クライアントからの接続イベント、ユーザー認証、ライセンス、vSphere クライアントまたは API 経由で実行されたさまざまな管理タスクに関する情報が含まれます。
/var/log/vmware/vpxd/vpxd-alert.log には、vpxd プロセスに関する非クリティカルな情報が含まれます。
fdm.log
場所:/var/log/fdm.log
障害ドメインマネージャ (FDM) ログは、vSphere High Availability (HA) トラブルシューティングに不可欠です。ホストと VM の障害、HA 構成、ハートビートデータ、HA クラスタ内のマスターホストの選出に関する情報が含まれています。
vmsyslogd.log
場所:/var/log/vmware/vmsyslogd.log
このログファイルは、vCenter Server Appliance 上で実行されている syslog サービスに関連しています。さまざまなコンポーネントおよびサービスから vCenter Server の syslog に転送されるメッセージを記録します。
vmware-vpostgres.log
場所:/var/log/vmware/vpostgres/postgresql-xx.log
このログには、レプリケーションの状態、トランザクションログ、その他のデータベースイベントなど、詳細な PostgreSQL データベースに関連するメッセージが含まれています。
catalina.log
場所: /var/log/vmware/vpostgres/catalina.out
このログファイルはVMware Postgresデータベースサービスに属し、データベース操作に関連するメッセージ、包括的に起動及びシャットダウンイベント、クエリ、エラーなどを含んでいます。
sms.log
場所: /var/log/vmware/sms/sms.log
Storage Monitoring Service (SMS) ログは、データストア、ストレージデバイス、ストレージアラームなどのストレージ監視及び管理タスクに関連するイベントを記録します。
invsvc.log
場所: /var/log/vmware/invsvc/invsvc.log
Inventory Service ログは、vCenter Server インベントリ操作に関する情報、例えばオブジェクトの更新、データ収集、同期などを含んでいます。
applmgmt.log
場所: /var/log/vmware/applmgmt/applmgmt.log
このログファイルはアプライアンス管理サービスに関連し、vCenter Server Appliance の展開及び設定に関する情報を提供します。
vmware-sts-idmd.log
場所: /var/log/vmware/sso/vmware-sts-idmd.log
このログは、VMware Single Sign-On (SSO) サービス、ID管理、認証プロセスに関連するイベントを記録します。
stats.log
場所: /var/log/vmware/perfcharts/stats.log
stats.logファイルはvCenter Server Performance Chartsサービス(vCenter Performance Chartsとも呼ばれます)に関連しています。これには、Performance Chartsサービスによって収集された統計データやパフォーマンスに関する情報が含まれています。
Performance Chartsサービスは、仮想マシンやホストのパフォーマンスメトリクスのグラフィカルな表現を提供します。 stats.logは、仮想インフラストラクチャコンポーネントのパフォーマンスをモニタリングおよび分析するためのパフォーマンスチャートとグラフを生成するために使用できるデータを記録します。
注:パフォーマンスチャートサービスは、VMとホストのリアルタイムのパフォーマンスを監視するために不可欠であり、stats.logは基礎データを格納する役割を果たします。
eam.log
場所:/var/log/vmware/eam/eam.log
eam.logファイルは、vCenter ServerのESXエージェントマネージャー(EAM)サービスに属しています。 EAMは、vSphereエージェント、vSphereインストールバンドル(VIB)および拡張エージェントを管理する責任があります。
eam.logは、vSphereエージェントのライフサイクル管理に関連するイベントやアクティビティを記録します。エージェントの展開、アップグレード、および検証に関する情報が格納されています。 VMware Lifecycle Managerのログの場所をお探しの場合は、/var/log/vmware/eam/eam.logを確認してください。
注:ESXエージェントマネージャーは、正しいVIBのバージョンがESXiホストにインストールされていること、および拡張エージェントが正しく登録されていることを確認します。 eam.logは、これらの操作を追跡し、vSphereエージェントに関連する問題を検出するのに役立ちます。
ログの保存場所
VMwareログがどのパーティションにどのディレクトリに保存されているかを見つけましょう。デフォルトのVMware ESXiインストールでは、ログは異なるパーティション上の複数のディレクトリに保存されます。ESXiホスト上のVMkernelログなど、VMwareログの典型的な場所は次のとおりです:
/scratch/log/
シンボリックリンクは/var/log/にありますが、ログファイルはESXiスクラッチパーティションに保存されます(上記と下記のスクリーンショットを参照してください)。ESXiをUSBフラッシュドライブにインストールする方法を説明したときに、スクラッチパーティションと一時ストレージをカバーしました。
たとえば、ホスト管理ログには/var/log/hostd.logからシンボリックリンク(シンボリックリンク)を使用してアクセスできますが、hostd.logファイルは/scratchパーティションのlogディレクトリにあります。
仮想マシンログは通常、VMディレクトリ内のVMデータストアにあり、ESXiサーバーの再起動後も削除されません。たとえば:/vmfs/volumes/datastore_name/vm_name/vmware.log
VMログファイル(vmware.log)がいっぱいになると、vmware-1.log、vmware-2.logなどに名前が変更されます。
VMログを有効または無効にするには、VMware vSphere ClientのVM設定 > VMオプションに移動し、高度オプションを展開し、ログを有効にするチェックボックスを選択します。
したがって、/scratchパーティションは、ESXiホスト上のログやその他一時ファイルを保存するために使用されます。いくつかのインストールでは、/scratchパーティションがインメモリファイルシステム(tmpfs)として構成されています。再起動を超えてログを保持する必要がある場合は、「esxcli system syslog」コマンドおよび以下で説明されている他のコマンドを使用してログの永続ストレージ場所を構成できます。
ESXiログの場所は、ESXiバージョンと構成によって異なる可能性があることに注意してください。さらに、システム管理者によって明示的に構成されている場合、ログは永続ストレージデバイスに保存される場合があります。
vCenterログの場所
ほとんどのvCenter Serverログは、/var/log/vmware/ディレクトリにあります。VMware vCenter Serverは、ESXiのような一時的(非永続的)パーティションにログを保存しません。代わりに、vCenter Serverログは通常、オペレーティングシステムのローカルディスクまたはマウントされたストレージボリュームに保存されるため、再起動を超えて永続的です。VMware vCenter Server Appliance(VCSA)は、私たちが覚えているようにPhoton Linuxに基づいており、VCSAは最新のvSphereバージョンで使用されている最新のvCenterデプロイメントアプローチです。
Linuxベースのインストール(VCSA)のvCenterログの場所は次のとおりです:
/var/log/vmware/vpx/
vCenterのログの正確な場所は、vCenter Serverがインストールされているオペレーティングシステムに依存します。VMware vSphere 6.7まで使用され、非推奨となったWindowsベースのvCenter Serverでは、次のデフォルトの場所にVMware vCenterログを保存します。
C:\ProgramData\VMware\vCenterServer\logs\
vCenterのログの場所は、vCenter Serverのバージョンや構成によって異なる場合があることに注意してください。正確なログの場所を見つけるには、常に公式のVMwareドキュメントまたは特定のvCenter Serverバージョンのドキュメントを参照できます。
vCenter Serverは中央管理プラットフォームであるため、歴史的な情報を維持し、トラブルシューティングやパフォーマンス分析を行うために永続的なログに依存しています。一部のデフォルト構成では一時ログにメモリ内ファイルシステムを使用するESXiとは異なり、vCenter Serverログは永続的に設計され、永続的なストレージデバイスに保存されます。ESXiログの一時ストレージについては、ESXiでログの保存場所を変更できます。
VMwareログへのアクセス方法
VMwareログが何であるか、どこに保存されているかを探ったので、VMware ESXiログをさらに分析するためのチェック方法を調べる必要があります。VMware ESXiログにはさまざまなアクセス方法があります。
VMware Host Client
VMware Host ClientでESXiログを表示するには、次の手順を実行します。
- WebブラウザでVMware Host Clientにログインします。
- ナビゲータペインのモニタでホスト>モニタをクリックし、ログタブをクリックします。
- 必要な文字列を検索して、ログされた情報を表示するために、ESXiログのうち1つを選択します。
DCUI (ESXi)
ESXi上の直接コンソールユーザーインターフェースを使用してログを表示できます。 ESXiホストへの物理アクセスが必要で、モニターとキーボード、またはKVMスイッチなどを使用できます。
- ESXiの直接コンソールユーザーインターフェース(DCUI)にログインします。
- システムのカスタマイズメニュー内のシステムログの表示エントリを選択します。
- 適切なVMwareログをESXiサーバーで表示するには、1から6のキーを押します。各数字の説明がインターフェイスの右側に表示されます。
- 必要な数字を入力すると、ログのフルスクリーンページが表示されます。必要な情報を含む行のみを表示するには/を入力し、検索文字列を入力します。このモードを終了して前のDCUIメニューに戻るには、qを押します。
Webブラウザ
ESXiホストにログファイルをダウンロードするためのリンクが含まれたページを開くために、Webブラウザでリンクを使用します。このページにアクセスするには、ESXiホストの管理権限を持つ資格情報を入力する必要があります。
https://<ESXI_host_IP>/host
ESXiコマンドライン
ESXiコマンドラインは、ネットワーク接続が利用できない場合や、ネットワーク経由でログをリモートで表示する方法を使用できない場合に、ESXiログを表示するために使用できます。
- ESXi ShellがDCUIで有効になっていることを確認します(トラブルシューティングオプション > ESXi Shellを有効にする)。
- Alt+F1を押してESXiシェルを開きます。
- コマンドを使用してESXiログを表示します。
SSH
リモートSSHアクセスは、VMwareログを表示および分析するための最も便利で強力な方法の1つです。
- DCUI(トラブルシューティングオプション > SSHを有効にする)またはVMware Host ClientでSSHを有効にして、ESXiホストへのリモートSSHアクセスを許可します。
- SSHクライアント(Windowsから接続する場合は、たとえばPuTTY)を使用してESXiホストに接続します。
- コマンドを使用してESXiログとVMwareログの解析を行います。
例を交えたVMwareログの解析
今、私たちはVMwareログの名前と場所、および仮想化環境でさまざまな問題のトラブルシューティングに役立つログへのアクセス方法を知ることができました。 VMwareログをトラブルシューティングに使用する実践的な例をいくつか探ってみましょう。
ESXiホストの接続問題の特定
問題: ESXiホスト上の仮想マシンが断続的なネットワーク接続の問題を経験しています。
チェックするログ:
- /var/log/vmkernel.log
- /var/log/vobd.log
- /var/log/hostd.log
トラブルシューティング手順。 VMkernelログをネットワーク関連のメッセージを確認し、エラーやパケットのドロップを検索します。また、hostdログをホスト管理サービスの問題を確認します。 vobd.logは、VMネットワーキングに影響を与える可能性があるストレージ関連の問題について洞察を提供できます。
VMスナップショットの作成失敗
問題: 仮想マシンのスナップショットの作成試行に失敗します。
チェックするログ:
- /vmfs/volumes/datastore_name/vm_name/vmware.log
- /var/log/vmkernel.log
トラブルシューティング手順。 特定の仮想マシンのvmware.logをスナップショット関連のエラーや警告メッセージを確認します。同時に、スナップショット操作を妨げる可能性のあるストレージ関連の問題をVMkernelログで確認してください。
VMのパフォーマンスの低下
問題: 仮想マシンには、高いCPU使用率やメモリ使用量などのパフォーマンスの問題が発生しています。
確認するログ:
- /vmfs/volumes/datastore_name/vm_name/vmware.log
- /var/log/vmkernel.log
トラブルシューティング手順。影響を受ける仮想マシンのvmware.logを分析し、アプリケーション固有のエラーやリソース利用の急増を確認します。同時に、パフォーマンスに関連するメッセージを含むVMkernelログを確認し、ESXiホストに十分なリソースが利用可能であることを確認します。
vCenterサービスの起動失敗
問題: vCenter Serverサービスの起動に失敗します。
確認するログ:
- vCenterサーバー上の/var/log/vmware/vpxd/vpxd.log
- ESXiホスト上の/var/log/vpxa.log
トラブルシューティング手順。vCenter Server起動中にエラーや例外が発生していないかを<vpxd.logで確認します。さらに、管理されたESXiホスト上の<vpxa.logを確認して、vCenterとホストの間の通信が正常であることを確認します。
VMware High Availability (HA)クラスターのフェールオーバー問題
問題: ESXiホストの障害後、HAクラスターの他のホストで仮想マシンが再起動しない。
確認するログ: /var/log/fdm.log
トラブルシューティング手順。影響を受けるホスト上のfdm.logを分析して、HAクラスターに関するエラーや問題を特定します。ハートビートメッセージ、マスターホストの選出プロセス、およびVMフェイルオーバーの失敗の可能性のある理由を探します。
vMotionの失敗
問題: ホスト間でVMを移行しようとすると、VMware vMotionが失敗します。
確認するログ:
- /var/log/vmkernel.log
- /var/log/vobd.log
トラブルシューティング手順。vMotion関連のメッセージとネットワーク接続の問題を確認するためにvmkernel.logを調査します。また、vMotionに影響する可能性のあるストレージ関連の問題を確認するためにvobd.logも確認します。
VMware Toolsのインストールの問題
問題: 仮想マシンでVMware Toolsのインストールが失敗します。
確認するログ: /vmfs/volumes/datastore_name/vm_name/vmware.log
トラブルシューティング手順。VM内のvmware.logを確認して、VMware Tools関連のエラーやインストールメッセージをレビューします。
VMwareのログでトラブルシューティングを行う際には、問題の包括的な理解を得るために複数のログ間でイベントを関連付けることが重要です。さらに、VMware Aria Operations for Logs(以前のvRealize Log Insight)などのログ分析ツールを使用すると、ログのレビュープロセスを効率化し、複雑な環境でのVMwareのトラブルシューティングをより効果的に行うことができます。
ストレージの問題のトラブルシューティング
VMwareのログを使用して、ハードディスクドライブやソリッドステートドライブの問題を特定することができます。たとえば、HDDに不良ブロックがある場合などです。VMware環境でハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)の問題を特定するには、さまざまなVMwareログを使用してストレージ関連のイベントやエラーを追跡および分析できます。
- VMkernelログ(/var/log/vmkernel.log)を確認してください:
VMkernelログは、ストレージ関連のイベントを含む低レベルのシステム情報を提供します。ディスクI/Oエラーやディスクの問題に関連するSCSIセンスコードを示すメッセージを探してください。
エラー例:“デバイスI/Oエラー”、“メディアエラーが検出されました”、“データの修正不可能なエラー”
- ストレージ専用のログを確認してください(/var/log/vobd.log):
vobd.logには、ストレージサブシステムで遭遇したエラーを含む、ストレージ関連のメッセージが含まれています。
エラーの例:“ストレージエラー:デバイス‘naa.xxxxxxxxxxxxxx’… センス:回復不能な読み取りエラー“
- 仮想マシンのログを調査してください(/vmfs/volumes/datastore_name/vm_name/vmware.log):
仮想マシン固有のログには、特定のVMで遭遇したディスクI/Oエラーが示される場合があります。
エラーの例:“仮想ディスクの1つ以上でディスクI/Oエラーが発生しました“、“ディスクエラーが検出されました”または“エラースタック:パーティションテーブルを読み取れません“
推奨事項:VMwareログに加えて使用するもの
VMwareログと併用することで、より詳細な診断とトラブルシューティングのための推奨事項があり、ストレージの問題を時期に検出するのに役立ちます。
- vCenterアラームとイベントを監視します。ストレージに関連するvCenter Serverのアラームとイベントに注意を払います。ストレージの問題によってトリガーされたアラームは、潜在的なディスクの問題に関する洞察を提供できます。
- VMwareヘルスチェックを使用します。VMwareはvSphereクライアントを介して実行できるさまざまなヘルスチェックを提供しています。これらのチェックは、ストレージ関連の問題を特定し、推奨事項を提供できます。
- サードパーティの監視ツールを活用します。特別なIT監視およびログ分析ツールを導入して、複数のホストとVMからのログデータを集中管理および分析します。これらのツールは、仮想インフラ全体でのディスク関連の問題を特定するのに役立ちます。
- HDD上の不良ブロックを特定する際には、特にメディアまたは読み書きエラーを示すエラーメッセージやパターンに注意することが重要です。不良ブロックはデータの破損や性能の低下につながる可能性があり、早期の検出がより深刻な問題を防ぐことができます。失敗したディスクデバイス上のデータが失われた場合、健全なディスクへのVMwareバックアップからのデータ復旧が不可欠です。
クラスターの問題 VMware ESXiログとvCenterログを使用すると、仮想化された環境でのクラスター関連の問題を特定するのに役立ちます。クラスターの問題は、VMのパフォーマンスの問題、HAフェイルオーバー、vMotionの失敗、その他のクラスター関連の操作の問題として現れる可能性があります。
VMware ESXiのログとvCenterのログを使用することで、仮想化環境内のクラスタ関連の問題を特定するのに役立ちます。クラスタの問題は、VMのパフォーマンス、HAフェイルオーバー、vMotionの失敗、またはその他のクラスタ関連の操作に問題が発生することで現れる可能性があります。
- vCenter Serverのログを確認してください。
- vCenterのログにアクセスし、vpxd.logやvpxa.logなどを、それぞれ/var/log/vmware/vpxd/vpxd.logと/var/log/vpxa.logにあるものを確認してください。
- クラスタ操作、リソース管理、vCenterとESXiホスト間の通信に関連するエラーや警告メッセージを探してください。
- クラスタの作成時、設定変更時、クラスタサービスに関する問題が発生した際のイベントに注意してください。
- ESXiホストログの確認とアクセス、vmkernel.log、hostd.log、fdm.logを含む:
- vmkernel.log: vMotion試行、HAハートビートの問題、またはリソース共有中のエラーなど、クラスタ関連のイベントを確認するためにレビューする。
- hostd.log: ホスト管理サービスによって処理されるタスクやイベントに関連するクラスタ関連メッセージを探す。
- fdm.log: ホスト障害、VM再起動、マスター選挙イベントなど、HA関連のイベントを確認するために検査する。
- 仮想マシンログの検査:
- クラスタ内の個々のVMに固有の問題を特定するために、vmware.logなどのVMログにアクセスする。
- VMログは、VMのパフォーマンス、リソースの制約、またはvMotion操作中の障害に関する洞察を提供することができる。
- クラスター固有のアラームとイベントを監視する:
- vCenterを使用して、クラスターのパフォーマンスと正常性に関連するアラームとイベントを作成します。
- 過剰なリソース使用、クラスターの分割、またはVMの障害などの問題に対するアラームを設定します。
- vCenterのイベントタブを確認して、VMのマイグレーション、クラスターの再構成、またはHAイベントなどのクラスター関連のイベントを検索します。
ESXiログ、vCenterログ、パフォーマンスメトリック、およびクラスター固有のイベントからの情報を組み合わせることで、クラスターの正常性の包括的な理解を得ることができ、仮想マシンのパフォーマンス、高可用性、およびクラスター全体の安定性に影響を与える問題を特定できます。定期的なログ分析と積極的な監視は、クラスターの問題を防ぐか、または発生した場合に迅速に解決するのに役立ちます。
ネットワークトラブルシューティング
ネットワークトラブルシューティングは、VMware vSphereでは、仮想マシンとESXiホスト間の通信に影響を与えるネットワーク関連の問題を特定して解決するプロセスです。VMware ESXiとvCenterのログは、このような問題を絞り込むために非常に役立ちます。以下は、ESXiとvCenterのログを使用したネットワークトラブルシューティングの例であり、関連情報を抽出するためのコマンドも含まれています。
仮想マシンのネットワーク接続問題の特定
問題: 仮想マシンがネットワークにアクセスできません。
- A command to check VMkernel logs (on an ESXi host):
cat /var/log/vmkernel.log | grep -E 'Failed to send packet|dropped|no network'
このコマンドは、パケット送信失敗、ドロップされたパケット、またはネットワークの利用不可に関連するメッセージをVMkernelログからフィルタリングします。
- A command to check VM network configurations (on an ESXi host):
esxcfg-vmknic -l
このコマンドは、ESXiホスト上の構成済みのVMkernelネットワークインターフェイスとIPアドレスのリストを示します。仮想マシンのネットワークが正しく構成されているか確認してください。
vMotionの問題のトラブルシューティング
問題: 2つのESXiホスト間でvMotionが失敗します。
- A command to check VMkernel logs (on both source and destination ESXi hosts):
cat /var/log/vmkernel.log | grep -E 'Migration to host|vMotion'
このコマンドは、ソースおよび宛先ESXiホスト上のvMotion関連メッセージを検索するために役立ちます。
- A command to check vCenter events (on vCenter Server):
vim-cmd vmsvc/get.eventlog <vmid> | grep 'Migrate'
<vmid>を影響を受ける仮想マシンの仮想マシンID(VMID)に置き換えます。このコマンドは、仮想マシンのイベントログを取得し、vMotion関連のイベントを検索します。
ネットワークパフォーマンスのボトルネックの特定
問題: 仮想マシンがネットワークパフォーマンスの低下を経験します。
- A command to check ESXTOP statistics (on an ESXi host):
esxtop
esxtopの内部で、nを押してネットワーキングビューに切り替えます。ネットワークスループット(MBTx/rx)、ネットワークパケット/秒、ネットワークドロップ/秒などのメトリックを監視して、潜在的なボトルネックを特定します。このコマンドと次のコマンドは、VMwareログファイルからのデータを表示するのではなく、VMwareトラブルシューティングのためのリアルタイムで更新された情報を表示します。また、esxtopコマンドを使用してESXiの稼働時間を確認することもできます。
vSphere Distributed Switch(VDS)の問題のトラブルシューティング
問題: vSphere Distributed Switch上のVMの接続の問題。
- A command to check VDS health (on vCenter Server):
net-dvs -l
このコマンドは、すべての分散仮想スイッチ(VDS)とそのステータスをリストします。
- A command to check VDS port status (on vCenter Server):
net-dvs -p <VDS Name>
<VDS Name>をVDSの名前に置き換えます。このコマンドは、指定された分散仮想スイッチ上のすべてのポートのステータスを表示します。
覚えておいて、ネットワークトラブルシューティングはしばしば、VMkernelログ、vCenterログ、パフォーマンスメトリクス、ネットワーク構成など、複数のソースからのログとパフォーマンスデータの分析を必要とします。上記に提供された例は、ネットワークの問題に関連する情報を収集するためのスタートポイントとして機能し、vSphere環境で遭遇する特定の問題に基づいてコマンドを調整する必要があるかもしれません。
VMwareログ分析のための正規表現
上記の例から見ることができるように、SSH経由でESXiシェルにアクセスし、コマンドラインを使用することは、VMwareログを表示し、VMwareログ分析を行うための強力な方法です。ネイティブコマンドラインツールをVMware ESXiログ分析ツールとして使用できます。これらのコマンドラインツールは、Linuxユーザーに馴染みがあります:
- catは、ターミナル上に1つ以上のテキストファイルの内容を連結して表示するコマンドラインツールです。一般的に、一度にファイル全体の内容を表示するために使用されます。ただし、大きなファイルの場合、catを使用すると、画面上で急速にスクロールしてしまう膨大な量の出力が生成され、そのようなファイルを読むためには実用的でない場合があります。
- lessは、テキストファイルの内容を表示してスクロールできるコマンドラインページャユーティリティです。一度に1画面のテキストを表示し、ファイル内を前後に移動するためのナビゲーションオプションを提供します。catとは異なり、ファイルの内容全体をターミナルにダンプするのではなく、lessは大きなファイルをより効率的に読むために役立ちます。
- grepは「グローバル・レギュラー・エクスプレッション・プリント」の略です。これは、1つ以上のファイル内のテキストパターン(正規表現)を検索するために使用される強力なコマンドラインツールです。grepは、特定のパターンを含む行をフィルタリングして表示することができます。これは、テキスト検索、ログ分析、およびファイルから特定の情報を抽出するために一般的に使用されます。
- tailは、テキストファイルの最後の数行を表示するコマンドラインユーティリティです。デフォルトでは、tailはファイルの最後の10行を表示します。これは、ログファイルをリアルタイムで監視するために特に便利であり、ログに追加された新しいエントリを表示できます。tailコマンドは、-fオプションでファイルを継続的に監視し、リアルタイムの更新を表示するためによく使用されます。
- headは、テキストファイルの最初のN行を表示するコマンドラインユーティリティです。デフォルトでは、headツールはファイルの最初の10行を表示します。これは、ファイルの先頭を迅速にプレビューしたり、初期情報を抽出したりするのに役立ちます。tailと同様に、-nオプションを使用して表示する行数を指定できます。
これらのコマンドラインツールは互いに組み合わせて使用し、正規表現を使用してVMwareログ分析の効率を最大化できます。ESXiコマンドラインで正規表現(regex)を使用してログファイルを分析することは、特定の情報を抽出し、問題やパターンに関する洞察を得るための強力な方法です。以下に、ESXiでログ分析に正規表現をどのように使用するかの実践的な例を示します。
特定のイベントのログをフィルタリングする
仮定として、特定のイベント、例えば「Disk I/O error」のすべての出現箇所をvmkernel.logファイルで探したいとします。
cat /var/log/vmkernel.log | grep -E 'Disk I/O error'
このコマンドは、vmkernel.logファイル内の「Disk I/O error」というフレーズを含むすべての行を表示します。
ログからIPアドレスを抽出する
hostd.logファイル内のログからIPアドレスを抽出するには、IPv4アドレスに一致する正規表現パターンを使用できます。
cat /var/log/hostd.log | grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}'
このコマンドは、hostd.log内で見つかったすべてのIPv4アドレスを表示します。
量指定子を使用したパターンの検索
vmware.logファイル内のすべての行を検索し、連続する数字がある行を探したいとします。
cat /vmfs/volumes/datastore_name/vm_name/vmware.log | grep -E '[0-9]+'
このコマンドは、vmware.log内で1つ以上の数字を含むすべての行を表示します。
複数のパターンを検索する
vpxd.logファイル内の行を探し、「error」または「warning」が含まれている行を検索するには、正規表現パターン内でOR演算子|を使用できます。
cat /var/log/vmware/vpxd/vpxd.log | grep -E 'error|warning'
このコマンドは、vpxd.log内で「error」または「warning」が含まれているすべての行を表示します。
ワイルドカードでマッチングする
ユーザーがvobd.logファイル内の「failed」という単語を含むすべての行を大文字小文字を問わず検索したい場合、以下のコマンドを使用できます。
cat /var/log/vobd.log | grep -i 'failed'
このコマンドは、「failed」、「FAILED」、「Failed」など、vobd.log内に含まれるすべての行を表示します。
キャプチャグループを使用する
sms.logファイル内の行から日付と時刻情報を抽出するために、正規表現のパターン内でキャプチャグループを使用できます。
cat /var/log/vmware/sms/sms.log | grep -Eo '([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})'
このコマンドは、sms.log内の日付と時刻のすべての出現箇所を表示します。
注意: 特定のログのパスを変更して、ご自身のユースケースに合わせてください。
これらの例は、ESXiコマンドラインインターフェイスでログ分析を行うために正規表現をgrepコマンドと組み合わせて使用する方法を示しています。正規表現は強力なパターンマッチング機能を提供し、特定の情報の抽出、ログのフィルタリング、効率的なパターンの検索を可能にします。ログファイルの内容や抽出または検索したい情報によって、実際の正規表現のパターンが異なることに注意してください。これらの例を使って、VMwareログ分析の特定のニーズに合わせてコマンドを調整することができます。
VMwareログのエクスポート方法とサポートバンドルのダウンロード方法。
マイクロソフトが提供する翻訳エンジンであるMicrosoft Translatorを使用して、指定されたテキストを日本語に翻訳します。翻訳結果は以下の通りです。
VMwareのログ分析がESXiホストやvCenterで発生した問題を解決するのに役立たない場合があります。この場合、ログをエクスポートするか、サポートバンドルをダウンロードしてVMwareサポートに送信することができます。VMwareサポートの専門家は、VMware vSphereのライセンス版をお持ちの場合、VMware環境の問題を解決するのにお手伝いできます。
VMwareホストクライアント
サポートバンドルを生成してVMwareログをエクスポートするには、以下の手順を実行してください。
- ナビゲータペインで監視をクリックします。
- ログタブを選択します。
- サポートバンドルの生成をクリックします。
- ダウンロードしたバンドルアーカイブをウェブブラウザで保存します。
VMware vSphereクライアント
vSphereクライアントでVMwareシステムログをエクスポートするには、以下の手順を実行してください。
- ホストとクラスタビューを選択し、エクスポートしたいログのESXiホストを選択します(左側のペイン、つまりナビゲーションペインで)。
- 右クリックしてESXiホストを選択し、開いたメニューでシステムログのエクスポートをクリックします。
- エクスポートするESXiログを選択し、ログのエクスポートをクリックします。
vSphereクライアントでVMwareサポートにバンドルをアップロードするには、以下の手順に従います:
- 左上隅のメニューアイコンをクリックします。
- 次の順に移動します:管理 > サポート > サービス要求にファイルをアップロード、そしてサービス要求にファイルをアップロードボタンを押します。
Webブラウザのリンク
ESXiホスト上のcgiスクリプトへのリンクを使用します:
http://<ESXi_IP_アドレス>/cgi-bin/vm-support.cgi
エクスポートされたESXiログのバンドル(.tgzファイル)をダウンロードして保存します。
ESXiシェル(コマンドライン)でバンドルを生成
ESXiシェルでESXiログを含むサポートバンドルを生成するコマンドを実行できます:
/usr/bin/vm-support
結論
VMware vSphere、ESXi、およびvCenterの問題のトラブルシューティングにおいて、VMwareログの分析は管理者が問題の原因を特定し、適切な対策を取るのに役立ちます。これらのログを分析することで、管理者はパフォーマンスのボトルネック、接続の問題、設定のエラー、潜在的なセキュリティ上の懸念などの問題を特定し、対処することができます。定期的なログの確認は、VMware vCenterおよび仮想化環境の安定性と信頼性を維持するための予防的な管理に不可欠です。
VMwareインフラストラクチャの定期的なモニタリングとVMのバックアップにより、問題をタイムリーに防ぎ、データの損失を回避することができます。
Source:
https://www.nakivo.com/blog/vmware-logs-analysis-for-troubleshooting/