ログ フィルタリング機能を使用すると、ESXi ホストで実行されている syslog サービスのログ ポリシーを変更できます。

vSphere 7.0 Update 2 以降では、ESXCLI を使用してログ フィルタを追加し、ログ フィルタリングを有効にすることができます。ログ フィルタは、一度設定すると削除しないかぎり、ESXi を再起動しても保持されます。

ログ フィルタは、記録先(ログ ディレクトリまたはリモート Syslog サーバ)に関係なく、ESXi ホストの vmsyslogd サービスによって処理されるすべてのログ イベントに影響します。

ログ フィルタリング機能を有効にし、syslog デーモンを再ロードして、ESXi ホストのログ フィルタを有効化する必要があります。

ログ フィルタを構成する ESXCLI コマンドは、次の形式に従います: esxcli system syslog config logfilter {cmd} [cmd options]

たとえば、使用可能なログ フィルタのリストを取得するには、次のコマンドを実行します:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter list

ログ フィルタリングを有効または無効にするには、set コマンドを使用します:[root@xxx-xx-dhcp-xx-xx:~] esxcli system syslog config logfilter set

ログ フィルタを追加するには add コマンド、ログ フィルタを削除するには remove コマンドを使用します。

ログ フィルタリングが有効になっているかどうかを確認するには、get コマンドを使用します。

ログ フィルタは 3 つのコンポーネントによって指定され、次の構文に従います:numLogs | ident | logRegexp

パラメータ 説明
numLogs フィルタリングを開始する前に、許可される logRegexp Python 正規表現の一致の数を指定します。
ident

ident 文字列は、アプリケーションが Syslog 機能に対して自身を識別する方法を示します。logRegexp フィルタは、同じアプリケーションに関連付けられている必要があります。アプリケーションの ident 文字列は、/var/run/log のログ ファイルを調べることによって確認できます。各ログ ファイルの 3 番目のフィールドは、ident 文字列で始まり、[ で終わります。

logRegexp 除外するメッセージを識別する Python 正規表現。

たとえば、「mark」という単語を含む hostd デーモンからの 10 回目より後のメッセージをすべて除外するには、次のコマンドを使用します:esxcli system syslog config logfilter add --filter="10|Hostd|mark"

ログ フィルタを削除するには、次のコマンドを使用します:esxcli system syslog config logfilter remove --filter="10|Hostd|mark"

詳細については、「ESXi Syslog のオプション」を参照してください。

前提条件

ログ フィルタを作成すれば、 ESXi ログの重複エントリ数を削減したり、特定のログ イベントをすべて拒否リストに登録したりできます。

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shell で esxcli コマンドを実行します。