ESXi 8.0 以降では、ログ ファイルの形式が標準化され、Augmented Backus-Naur Form (ABNF) で表されます。
ESXi 8.0 でのログ ファイルへの書き込みは、VMX などの単一サービスから直接、またはサービスからのログが Syslog に送信されるときに間接的に行われます。たとえば、VMX は、各仮想マシンの vmware.log ファイルに常時ログ メッセージを書き込みます。システム リソースを節約するために、VMX は Syslog にログ メッセージを送信しません。一方、vmsyslogd によって生成されるログ ファイルの一部には、複数のプログラムからのメッセージが表示されます。これは、ESXi Syslog デーモンがすべてのログ ファイルを作成、管理しており、ログ ファイルには複数のサービスからのメッセージが書き込まれるためです。
直接ログ メッセージの形式:
パラメータ | 値 |
LOG-MSG | HEADER SP MSG |
HEADER | TIMESTAMP SP SEVERITY SP THREAD-NAME SP OPID |
TIMESTAMP | FULL-DATE T FULL-TIME(RFC 5424 に準拠、UTC/GMT 形式の要件に従い、ミリ秒または可能であればそれ以上の精度) |
FULL-DATE | DATE-FULLYEAR - DATE-MONTH - DATE-MDAY |
DATE-FULLYEAR | 4DIGIT |
DATE-MONTH | 2DIGIT ; 01-12 |
DATE-MDAY | 2DIGIT ; 01-28, 01-29, 01-30, 01-31(月/年に応じて) |
FULL-TIME | TIME-HOUR : TIME-MINUTE : TIME-SECOND[TIME-SECFRAC] Z |
TIME-HOUR | 2DIGIT ; 00-23 |
TIME-MINUTE | 2DIGIT ; 00-59 |
TIME-SECOND | 2DIGIT ; 00-59 |
TIME-SECFRAC | '.'1*6DIGIT |
SEVERITY | SEVERITY-STRING SEVERITY-VALUE [LINE-MARKER] |
SEVERITY-STRING | Em/Al/Cr/Er/Wa/No/In/Db(RFC 5424 で指定されている 8 つの重要度レベルは、次の略語で示されます。
|
SEVERITY-VALUE | ( *DIGIT )(SEVERITY-VALUE は、SEVERITY-STRING に関連付けられるオプションの数値です。これにより、情報を損なうことなく、ロガーがサポートするレベルを 8 つの必須文字列に短縮できます(例:レベル 5 のデバッグを表す Db(5) など)。) |
LINE-MARKER | +(複数行の送信で生成される後続のすべての行には、LINE-MARKER が追加されます。これによって複数行の送信を識別し、ログ インジェクション セキュリティ攻撃を防止します。) |
NILVALUE | -(単一スレッド プログラムにはスレッド名が含まれていない場合があり、NILVALUE を使用できます。) |
THREAD-NAME | NILVALUE / 1*32PRINTUSASCII(単一のプログラムがファイルを書き込むとき、コンポーネント (APP-NAME) は暗黙で指定され、コンポーネント フィールドは不要になり、スレッド名のみが必要です。) |
OPID | NILVALUE / 1*128UTF-8-STRING |
STRUCTURED-DATA | 1*SD-ELEMENT |
SD-ELEMENT | [ SD-ID *(SP SD-PARAM) ] |
SD-PARAM | PARAM-NAME %d34 PARAM-VALUE %d34 |
SD-ID | SD-NAME |
PARAM-NAME | SD-NAME |
PARAM-VALUE | UTF-8-STRING; ''、'\'、']' の文字はエスケープする必要があります。 |
SD-NAME | 1*32PRINTUSASCII ; ''、SP、']'、%d34 () を除く |
MSG | [STRUCTURED-DATA SP] UTF-8-STRING |
vmsyslogd サービスが管理するログ ファイルの形式。
パラメータ | 値 |
LOG-MSG | HEADER SP MSG |
HEADER | TIMESTAMP SP SEVERITY SP APP-NAME [PROC-IDENTIFIER] : |
APP-NAME | 1*32PRINTUSASCII |
PROC-IDENTIFIER | [ *DIGITS ] ; APP-NAME に関連付けられた PID |
TIMESTAMP | FULL-DATE T FULL TIME(ミリ秒または可能であればそれ以上の精度) |
FULL-DATE | DATE-FULLYEAR - DATE-MONTH - DATE-MDAY |
DATE-FULLYEAR | 4DIGIT |
DATE-MONTH | 2DIGIT ; 01-12 |
DATE-MDAY | 2DIGIT ; 01-28, 01-29, 01-30, 01-31(月/年に応じて) |
FULL-TIME | TIME-HOUR : TIME-MINUTE : TIME-SECOND[TIME-SECFRAC] Z |
TIME-HOUR | 2DIGIT ; 00-23 |
TIME-MINUTE | 2DIGIT ; 00-59 |
TIME-SECOND | 2DIGIT ; 00-59 |
TIME-SECFRAC | '.'1*6DIGIT |
SEVERITY-STRING | Em/Al/Cr/Er/Wa/No/In/Db(RFC 5424 で指定されている 8 つの重要度レベルは、次の略語で示されます。
|
SEVERITY | SEVERITY-STRING PRI-STRING [LINE-MARKER] |
PRIVAL | 1*3DIGIT ; range 0 ..191(MSG PRI; 機能と重要度の値の OR 演算の結果が含まれます) |
PRI-STRING | ( PRIVAL ) PRIVAL には、メッセージ PRI のビットが含まれています。これにより、メッセージの機能と重要度ビット自体を確認できます。_ |
LINE-MARKER | +(複数行の送信で生成される後続のすべての行には、LINE-MARKER が追加されます。これによって複数行の送信を識別し、ログ インジェクション セキュリティ攻撃を防止します。) |
STRUCTURED-DATA | 1*SD-ELEMENT |
SD-ELEMENT | [ SD-ID *(SP SD-PARAM) ] |
SD-PARAM | PARAM-NAME %d34 PARAM-VALUE %d34 |
SD-ID | SD-NAME |
PARAM-NAME | SD-NAME |
PARAM-VALUE | UTF-8-STRING; 文字 ''、'\'、']' はエスケープする必要があります。 |
SD-NAME | 1*32PRINTUSASCII ; ''、SP、']'、%d34 () を除く |
MSG | [STRUCTURED-DATA SP] UTF-8-STRING |
監査レコード
ESXi 監査レコードは、機能コード 13 とともに RFC 3164 と 5424 の両方の形式に準拠しており、構造化データ セクションに表示されます。監査レコードには、イベントベースのトレーサビリティ情報が使用可能な場合は、そのデータも表示されます。監査レコードは、通常のログ ファイルではなく特殊な形式で保存されます。viewAudit プログラムと仮想インフラストラクチャ管理機能 FetchAuditRecords を使用すると、ローカルで監査レコードにアクセスできます。監査レコード ストレージ ファイルを直接読み取り、使用、または編集しないでください。ローカルに格納された監査レコードは、HOSTNAME と MSGID が常に NILVALUE である RFC 5424 転送形式に準拠しています。