Papertrail Sink

The Vector papertrail sink streams log events to Papertrail via Syslog.

Configuration

vector.toml
[sinks.my_sink_id]
# General
type = "papertrail" # required
inputs = ["my-source-id"] # required
endpoint = "logs.papertrailapp.com:12345" # required
healthcheck = true # optional, default
# Encoding
encoding.codec = "json" # required
  • tableoptional

    buffer

    Configures the sink specific buffer behavior.

    • stringenumcommonoptional

      type

      The buffer's type and storage mechanism.

      • Default: "memory"
      • Enum, must be one of: "memory" "disk"
      • View examples
    • int (events)commonoptional

      max_events

      The maximum number of events allowed in the buffer.

      • Only relevant when: type = "memory"
      • Default: 500 (events)
      • View examples
    • int (bytes)required*

      max_size

      The maximum size of the buffer on the disk.

      • Only required when: type = "disk"
      • No default
      • View examples
    • stringenumoptional

      when_full

      The behavior when the buffer becomes full.

      • Default: "block"
      • Enum, must be one of: "block" "drop_newest"
      • View examples
  • tablecommonrequired

    encoding

    Configures the encoding specific sink behavior.

    • stringenumcommonrequired

      codec

      The encoding codec used to serialize the events before outputting.

      • No default
      • Enum, must be one of: "json" "text"
      • View examples
    • [string]optional

      except_fields

      Prevent the sink from encoding the specified labels.

      • No default
      • View examples
    • [string]optional

      only_fields

      Limit the sink to only encoding the specified labels.

      • No default
      • View examples
    • stringenumoptional

      timestamp_format

      How to format event timestamps.

      • Default: "rfc3339"
      • Enum, must be one of: "rfc3339" "unix"
      • View examples
  • stringcommonrequired

    endpoint

    The endpoint to stream logs to.

    See Obtaining a Log Destination for more info.

    • No default
    • View examples
  • boolcommonoptional

    healthcheck

    Enables/disables the sink healthcheck upon start.

    See Health Checks for more info.

    • Default: true
    • View examples

How It Works

Buffers

The papertrail sink buffers events as shown in the diagram above. This helps to smooth out data processing if the downstream service applies backpressure. Buffers are controlled via the buffer.* options.

Environment Variables

Environment variables are supported through all of Vector's configuration. Simply add ${MY_ENV_VAR} in your Vector configuration file and the variable will be replaced before being evaluated.

You can learn more in the Environment Variables section.

Health Checks

Health checks ensure that the downstream service is accessible and ready to accept data. This check is performed upon sink initialization. If the health check fails an error will be logged and Vector will proceed to start.

Require Health Checks

If you'd like to exit immediately upon a health check failure, you can pass the --require-healthy flag:

vector --config /etc/vector/vector.toml --require-healthy

Disable Health Checks

If you'd like to disable health checks for this sink you can set the healthcheck option to false.

Obtaining a Log Destination

  1. Register for a free account at Papertrailapp.com

  2. Create a Log Destination to get a Log Destination and ensure that TCP is enabled.

  3. Set the log destination as the endpoint option and start shipping your logs!

Streaming

The papertrail sink streams data on a real-time event-by-event basis. It does not batch data.