Tcplog Receiver
contrib
Maintainers: @VihasMakwana
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Configuration
| Field | Default | Description |
|---|---|---|
max_log_size | 1MiB | The maximum size of a log entry to read before failing. Protects against reading large amounts of data into memory |
listen_address | required | A listen address of the form <ip>:<port> |
tls | nil | An optional TLS configuration (see the TLS configuration section) |
attributes | {} | A map of key: value pairs to add to the entry’s attributes |
one_log_per_packet | false | Skip log tokenization, set to true if logs contains one log per record and multiline is not used. This will improve performance. |
resource | {} | A map of key: value pairs to add to the entry’s resource |
add_attributes | false | Adds net.* attributes according to [semantic convention][https://github.com/open-telemetry/semantic-conventions/blob/main/docs/registry/attributes/network.md#network-attributes] |
multiline | A multiline configuration block. See below for details | |
encoding | utf-8 | The encoding of the file being read. See the list of supported encodings below for available options |
operators | [] | An array of operators. See below for more details |
retry_on_failure.enabled | false | If true, the receiver will pause reading a file and attempt to resend the current batch of logs if it encounters an error from downstream components. |
retry_on_failure.initial_interval | 1s | Time to wait after the first failure before retrying. |
retry_on_failure.max_interval | 30s | Upper bound on retry backoff interval. Once this value is reached the delay between consecutive retries will remain constant at the specified value. |
retry_on_failure.max_elapsed_time | 5m | Maximum amount of time (including retries) spent trying to send a logs batch to a downstream consumer. Once this value is reached, the data is discarded. Retrying never stops if set to 0. |
TLS Configuration
Thetcp_log receiver supports TLS, disabled by default.
config more detail opentelemetry-collector#configtls.
| Field | Default | Description |
|---|---|---|
cert_file | Path to the TLS cert to use for TLS required connections. | |
key_file | Path to the TLS key to use for TLS required connections. | |
ca_file | Path to the CA cert. For a client this verifies the server certificate. For a server this verifies client certificates. If empty uses system root CA. | |
client_ca_file | Path to the TLS cert to use by the server to verify a client certificate. (optional) |
Operators
Each operator performs a simple responsibility, such as parsing a timestamp or JSON. Chain together operators to process logs into a desired format.- Every operator has a
type. - Every operator can be given a unique
id. If you use the same type of operator more than once in a pipeline, you must specify anid. Otherwise, theiddefaults to the value oftype. - Operators will output to the next operator in the pipeline. The last operator in the pipeline will emit from the receiver. Optionally, the
outputparameter can be used to specify theidof another operator to which logs will be passed directly. - Only parsers and general purpose operators should be used.
Parsers with Embedded Operations
Many parsers operators can be configured to embed certain followup operations such as timestamp and severity parsing. For more information, see complex parsers.multiline configuration
If set, the multiline configuration block instructs the tcp_log receiver to split log entries on a pattern other than newlines.
The multiline configuration block must contain exactly one of line_start_pattern or line_end_pattern. These are regex patterns that
match either the beginning of a new log entry, or the end of a log entry.
The omit_pattern setting can be used to omit the start/end pattern from each entry.
Supported encodings
| Key | Description |
|---|---|
nop | No encoding validation. Treats the file as a stream of raw bytes |
utf-8 | UTF-8 encoding |
utf-16le | UTF-16 encoding with little-endian byte order |
utf-16be | UTF-16 encoding with little-endian byte order |
ascii | ASCII encoding |
big5 | The Big5 Chinese character encoding |
Example Configurations
Simple
Configuration:tcplog is still accepted:
Advanced
Following configuration incorporates TLS, multiline config, operators and retry on failure:Configuration
Example Configuration
Last generated: 2026-04-13