免責事項:これは英文の記事「Syslog messages with numeric length prefix fail to parse, vCenter Server」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
vCenter Server からサードパーティ製の syslog コレクタ(Elastic や Logstash など)へ TCP 経由でログを転送する際、受信側でメッセージ処理が失敗します。
[363 <134>1 2026-07-06T10:27:49.680341+02:00 #### sso-tomcat-localhost-access - - - ...]
vCenter Serverは TCP で syslog を送信する際、RFC 6587で定義されているオクテットカウントフレーミング(Octet Counting framing)を使用します。この方式では、各syslogメッセージの先頭にメッセージの長さ(オクテット単位)を表す整数とそれに続くスペースが付加されます。これにより受信側のサーバーはメッセージの境界を正確に識別できるようになります。一方、多くのサードパーティ製パーサーはデフォルトで非透過フレーミング(Non-Transparent-Framing: 改行文字に依存する方式)を採用しており、長さを示すプレフィックスを処理できません。
解決策: サードパーティ製syslogコレクタの設定を調整し、RFC 6587/オクテットカウントレーミングをサポートするようにしてください。
注: オクテットカウントはストリーム指向プロトコルにおける信頼性の高い syslog 配信の標準規格であるため、vCenter Server でオクテットカウントを無効にすることは推奨されません。