Heroku Logplex Source

The Vector logplex source ingests data through the Heroku Logplex HTTP Drain protocol and outputs log events.

Requirements

Configuration

vector.toml
[sources.my_source_id]
type = "logplex" # required
address = "0.0.0.0:80" # required
  • stringcommonrequired

    address

    The address to accept connections on. The address must include a port.

    • No default
    • View examples
  • tableoptional

    tls

    Configures the TLS options for connections from this source.

    • stringoptional

      ca_path

      Absolute path to an additional CA certificate file, in DER or PEM format (X.509).

      • No default
      • View examples
    • stringcommonoptional

      crt_path

      Absolute path to a certificate file used to identify this server, in DER or PEM format (X.509) or PKCS#12. If this is set and is not a PKCS#12 archive, key_path must also be set. This is required if enabled is set to true.

      • No default
      • View examples
    • boolcommonoptional

      enabled

      Require TLS for incoming connections. If this is set, an identity certificate is also required.

      • Default: false
      • View examples
    • stringcommonoptional

      key_pass

      Pass phrase used to unlock the encrypted key file. This has no effect unless key_path is set.

      • No default
      • View examples
    • stringcommonoptional

      key_path

      Absolute path to a certificate key file used to identify this server, in DER or PEM format (PKCS#8).

      • No default
      • View examples
    • booloptional

      verify_certificate

      If true, Vector will require a TLS certificate from the connecting host and terminate the connection if it is not valid. If false (the default), Vector will not request a certificate from the client.

      • WARNING: Setting this to `false` will cause OpenSSL to not request a certificate from the client
      • Default: false
      • View examples

Fields

example log event
{
// ...
"message": "This is one line from the plain text HTTP body",
"timestamp": "2019-11-01T21:15:47+00:00"
// ...
}
  • stringcommonrequired*

    message

    The message field, containing the plain text message.

    • Only required when: encoding = ["text"]
    • No default
    • View examples
  • timestampcommonrequired

    timestamp

    The time the event was ingested. Note this may be overridden by JSON payloads.

    • No default
    • View examples

How It Works

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.

TLS

Vector uses Openssl for TLS protocols for it's battle-tested and reliable security. You can enable and adjust TLS behavior via the tls.* options.