---
title: Papertrail
slug: telemetry-pipeline/papertrail
docTags: 
createdAt: 2025-04-21T01:02:13.022Z
---

# Papertrail Sink&#x20;

The **Papertrail** sink delivers **log events** to **Papertrail (SolarWinds)** over TCP. This guide explains **what each parameter does**, with operational notes for reliability, performance, and security.

##

## Core Destination

### endpoint (required)

The TCP destination for Papertrail ingestion (host and port).

What it controls:

- Where logs are sent&#x20;
- Which Papertrail system/endpoint receives the stream (often tied to a specific account/log destination)&#x20;

Operational considerations:

- If DNS/host is wrong, or port is blocked, worker will fail delivery and backlog will accumulate in the buffer.&#x20;
- Ensure firewall rules allow outbound connectivity to the configured endpoint.&#x20;

## Buffering and Backpressure

### buffer (optional)

Controls how worker buffers logs when Papertrail is slow/unreachable.

buffer.type (optional, default: memory)

- **memory:** higher throughput, but buffered data is lost on crash/restart&#x20;
- **disk:** more durable across restarts, but slower and requires disk sizing&#x20;

buffer.max\_size (required)

Hard cap on buffer memory/disk usage.

Operational impact:

- Too small → backlog fills quickly during outages, leading to blocking or drops.&#x20;
- Too large → longer recovery time after outages, and more resource usage (especially on disk).&#x20;

buffer.max\_events (optional; relevant for memory, default: 500)

Maximum number of buffered events (memory mode only).

Operational impact:

- Prevents unbounded event accumulation in memory.&#x20;
- Useful if event sizes vary significantly.&#x20;

buffer.when\_full (optional, default: block)

Behavior when buffer is full:

- **block:** applies backpressure upstream (safer when loss is unacceptable)&#x20;
- **drop\_newest:** drops the newest events to preserve throughput (use when continuity > completeness)&#x20;

## Encoding

### encoding (required)

Controls how log events are serialized into bytes before sending over TCP.

Key point:

- The chosen codec determines the wire format and what Papertrail will “see” as the message content.&#x20;

### encoding.codec (required)

Selects the output format. Common operational choices include:

- **text / raw\_message:** simplest and most compatible with line-oriented log viewers&#x20;
- **json:** preserves structure (labels/fields), but can increase message size&#x20;
- **logfmt:** human-readable key/value format&#x20;
- **cef / gelf / avro / protobuf / otlp:** specialized formats for specific ecosystems (usually not the default choice for Papertrail unless you have a downstream parsing strategy)&#x20;

Operational considerations:

- Larger encodings increase bandwidth and can stress both network and ingestion.&#x20;
- If you rely on parsing in Papertrail, choose a format that aligns with your parsing/search strategy.&#x20;

### Codec-specific options (high-level meaning)

- **encoding.json.pretty:** improves readability but increases size (avoid in high-volume production)&#x20;
- **encoding.only\_fields / encoding.except\_fields:** reduce payload and avoid leaking sensitive fields by filtering which fields are serialized&#x20;
- **encoding.timestamp\_format:** standardizes timestamp representation across logs if the codec supports timestamps&#x20;

For CSV/CEF/Protobuf/Avro-specific settings:

- These define schemas, required identity fields, field extraction mappings, or serialization descriptors.&#x20;
- Use them only when you have a strict consumer expectation for those formats.&#x20;

## Connection Liveness and Socket Behavior

### keepalive (optional)

Controls TCP keepalive behavior.

keepalive.time\_secs (optional)

- Idle time before keepalive probes begin.&#x20;
- Helps detect dead connections faster when intermediate devices silently drop idle TCP sessions.&#x20;

Operational impact:

- Useful in environments with NATs, load balancers, or firewalls that aggressively expire idle connections.&#x20;

### send\_buffer\_bytes (optional)

Sets the socket send buffer size (SO\_SNDBUF).

Operational impact:

- Larger send buffers can improve throughput and smooth short bursts, but increase memory usage.&#x20;
- Too large can hide downstream slowness until buffers fill, delaying backpressure visibility.&#x20;

## Process Labeling (Papertrail Field)

### process (optional, default: vector)

The process value shown in Papertrail for the emitted logs.

What it controls:

- How events are grouped/identified in Papertrail UI and searches&#x20;
- A convenient “source identity” dimension when multiple shippers send to the same destination&#x20;

Operational considerations:

- Because it supports templating, you can map it to an event field to reflect service/app identity.&#x20;
- Be careful: making process highly variable can effectively increase cardinality in your logging metadata and reduce usability (too many distinct process values).&#x20;

## TLS (Transport Security)

### tls (optional)

Controls secure transport for the TCP connection.

tls.enabled (optional)

- When enabled, the sink uses TLS for the outgoing connection.&#x20;
- Recommended whenever logs traverse untrusted networks.&#x20;

tls.ca\_file (optional)

- Additional trusted CA certificates used to validate the server certificate.&#x20;

tls.crt\_file / tls.key\_file / tls.key\_pass (optional)

- Client identity (mTLS) configuration where required.&#x20;
- Used when the server expects client certificates.&#x20;

tls.verify\_certificate (optional)

- Validates certificate trust chain.&#x20;
- Disabling this significantly reduces security and should be avoided outside tightly controlled test environments.&#x20;

tls.verify\_hostname (optional)

- Validates that the server certificate matches the hostname used for the connection.&#x20;
- Disabling this also reduces security and should be avoided.&#x20;

tls.alpn\_protocols (optional)

- Advanced TLS negotiation hint; generally not required for typical Papertrail TCP ingestion.&#x20;

## Inputs

### inputs (required)

Defines which upstream sources/transforms feed this sink.

Operational considerations:

- Wildcards are convenient but can unintentionally route unexpected log volume to Papertrail.&#x20;
- Ensure upstream filtering/redaction is applied before exporting to third-party services.
