Syslog messages with numeric length prefix fail to parse, vCenter Server
search cancel

Syslog messages with numeric length prefix fail to parse, vCenter Server

book

Article ID: 448407

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When forwarding logs from vCenter Server to third-party syslog collectors (such as Elastic or Logstash) via TCP, the receiving parser fails to process the messages.

  • Log messages arrive at the destination with an unexpected numeric prefix (e.g., 363).
  • The third-party parser rejects the message as malformed or fails to recognize the syslog priority tag.
  • Example log format:
    [363 <134>1 2026-07-06T10:27:49.680341+02:00 #### sso-tomcat-localhost-access - - - ...]

Environment

  • VMware vCenter Server 8.x
  • Third-party syslog collectors (Elastic, Logstash, Splunk)

Cause

vCenter Server uses Octet Counting framing (defined in RFC 6587) when sending syslog over TCP. In Octet Counting, each syslog message is prefixed by an integer representing the length of the message (in octets) followed by a space. This ensures that the receiving server can accurately identify message boundaries. Many third-party parsers default to Non-Transparent-Framing (relying on a newline character) and do not natively handle the length prefix.

Resolution

Resolution: Adjust the configuration of the third-party syslog collector to support RFC 6587/Octet Counting framing.

  1. Modify the input configuration of the third-party collector (e.g., Logstash input) to handle the RFC 6587 framing method.
  2. If using a custom parser, account for the leading integer and space delimiter before the <PRI> tag.
  3. Verify that the receiver is configured to recognize the start of a new message based on the length prefix rather than a newline character.

Note: It is not recommended to disable Octet Counting on vCenter Server as it is the standard for reliable syslog delivery over a stream-oriented protocol.

Additional Information

Log Management Documentation

プレフィックスとして数値の長さを持つ syslog メッセージの取り込みに失敗する