Http
Send events to Http.
Type: http
Sample YAML
destinations:
http_example:
type: http
uri: https://127.0.0.1:9000/endpoint
decoding.codec: json
tls:
tls.enabled: false
tls.alpn_protocols: ''
tls.ca_file: ''
tls.crt_file: ''
tls.key_file: ''
tls.key_pass: ''
tls.server_name: ''
tls.verify_certificate: true
tls.verify_hostname: true
# optional:
# <key>: <value>
Fields Reference
Below are tables for Base, TLS, and Optional sections. Columns: Key, Label, Type, Default, Required, Depends on, Enum / Notes.
Base
Key |
Label |
Type |
Default |
Required |
Enum / Notes |
Depends on |
|---|---|---|---|---|---|---|
uri |
URI |
regex |
https://127.0.0.1:9000/endpoint |
✅ |
The full URI to make HTTP requests to. |
— |
decoding.codec |
Decoding Codec |
enum |
json |
✅ |
The codec to use for decoding events. Enum: [“avro”, “csv”, “gelf”, “json”, “logfmt”, “native”, “native_json”, “protobuf”, “raw_message”, “text”] |
— |
TLS
Key |
Label |
Type |
Default |
Required |
Enum / Notes |
Depends on |
|---|---|---|---|---|---|---|
tls.enabled |
TLS Enabled |
bool |
false |
— |
Whether or not to require TLS for incoming or outgoing connections. When enabled and used for incoming connections, an identity certificate is also required. See tls.crt_file for more information. |
— |
tls.alpn_protocols |
ALPN protocols |
string |
“” |
— |
Sets the list of supported ALPN protocols. Declare the supported ALPN protocols, which are used during negotiation with peer. They are prioritized in the order that they are defined. |
— |
tls.ca_file |
Certificate Authority File |
file_ca_file |
“” |
— |
Absolute path to an additional CA certificate file. |
— |
tls.crt_file |
Certificate File |
file_crt_file |
“” |
— |
Absolute path to a certificate file used to identify this server. |
— |
tls.key_file |
Private Key |
file_key_file |
“” |
— |
Absolute path to a private key file used to identify this server. |
— |
tls.key_pass |
Private Key Passphrase |
string |
“” |
— |
Passphrase used to unlock the encrypted key file. |
— |
tls.server_name |
Server Name |
string |
“” |
— |
Server name to use when using Server Name Indication (SNI). |
— |
tls.verify_certificate |
Verify Certificate |
bool |
true |
— |
Enables certificate verification. For components that create a server, this requires that the client connections have a valid client certificate. For components that initiate requests, this validates that the upstream has a valid certificate. |
— |
tls.verify_hostname |
Verify Hostname |
bool |
true |
— |
Enables hostname verification. If enabled, the hostname used to connect to the remote host must be present in the TLS certificate presented by the remote host, either as the Common Name or as an entry in the Subject Alternative Name extension. Only relevant for outgoing connections. |
— |
Optional
Key |
Label |
Type |
Default |
Required |
Enum / Notes |
Depends on |
|---|---|---|---|---|---|---|
description |
Description |
string |
“” |
— |
The description of the entry. |
— |
acknowledgements.enabled |
Acknowledgements Enabled |
bool |
false |
— |
Whether or not end-to-end acknowledgements are enabled. |
— |
auth.strategy |
Auth Strategy |
enum |
none |
— |
The authentication strategy to use. Enum: [“none”, “basic”, “bearer”] |
— |
auth.token |
Auth Token |
string |
“” |
— |
The bearer authentication token. |
auth.strategy = bearer |
auth.user |
Auth User |
string |
“” |
— |
The basic authentication username. |
auth.strategy = basic |
auth.password |
Auth Password |
string |
“” |
— |
The basic authentication password. |
auth.strategy = basic |
batch.max_bytes |
Batch Max Bytes |
int |
10000000 |
— |
The maximum size of a batch that is processed by a sink. |
— |
batch.max_events |
Batch Max Events |
int |
500 |
— |
The maximum size of a batch before it is flushed. |
— |
batch.timeout_secs |
Batch Timeout Secs |
int |
300 |
— |
The maximum age of a batch before it is flushed. |
— |
buffer.type |
Buffer Type |
enum |
memory |
— |
The type of buffer to use. Enum: [“disk”, “memory”] |
— |
buffer.max_events |
Buffer Max Events |
int |
500 |
— |
The maximum number of events allowed in the buffer. |
buffer.type = memory |
buffer.max_size |
Buffer Max Size |
int |
268435488 |
— |
The maximum size of the buffer on disk. Must be at least ~256 megabytes (268435488 bytes). |
buffer.type = disk |
buffer.when_full |
Buffer When Full |
enum |
block |
— |
Event handling behavior when a buffer is full. Enum: [“block”, “drop_newest”] |
— |
compression |
Compression |
enum |
gzip |
— |
The compression algorithm to use. Enum: [“gzip”, “none”, “snappy”, “zlib”, “zstd”] |
— |
encoding.avro.schema |
Encoding Avro Schema |
string |
“” |
— |
The Avro schema. |
encoding.codec = avro |
encoding.csv.capacity |
Encoding CSV Capacity |
int |
8192 |
— |
Set the capacity (in bytes) of the internal buffer used in the CSV writer. This defaults to a reasonable setting. |
encoding.codec = csv |
encoding.csv.delimiter |
Encoding CSV Delimiter |
string |
, |
— |
The field delimiter to use when writing CSV. |
encoding.codec = csv |
encoding.csv.double_quote |
Encoding CSV Double Quote |
bool |
true |
— |
Enable double quote escapes. This is enabled by default, but it may be disabled. When disabled, quotes in field data are escaped instead of doubled. |
encoding.codec = csv |
encoding.csv.escape |
Encoding CSV Escape |
string |
“ |
— |
The escape character to use when writing CSV. |
encoding.codec = csv |
encoding.csv.fields |
Encoding CSV Fields |
string |
“” |
— |
Configures the fields that will be encoded, as well as the order in which they appear in the output. |
encoding.codec = csv |
encoding.csv.quote |
Encoding CSV Quote |
string |
“ |
— |
The quote character to use when writing CSV. |
encoding.codec = csv |
encoding.csv.quote_style |
Encoding CSV Quote Style |
enum |
necessary |
— |
The quoting style to use when writing CSV data. Enum: [“always”, “necessary”, “never”, “non_numeric”] |
encoding.codec = csv |
encoding.except_fields |
Encoding Except Fields |
string |
“” |
— |
List of fields that are excluded from the encoded event. |
— |
encoding.json.pretty |
Encoding Json Pretty |
bool |
true |
— |
Whether to use pretty JSON formatting. |
encoding.codec = json |
encoding.json.metric_tag_values |
Encoding Metric Tag Values |
enum |
necessary |
— |
Controls how metric tag values are encoded. Enum: [“full”, “single”] |
encoding.codec = json |
encoding.text.metric_tag_values |
Encoding Metric Tag Values |
enum |
necessary |
— |
Controls how metric tag values are encoded. Enum: [“full”, “single”] |
encoding.codec = text |
encoding.only_fields |
Encoding Only Fields |
string |
“” |
— |
List of fields that are included in the encoded event. |
— |
encoding.protobuf.desc_file |
Encoding Protobuf Desc File |
string |
“” |
— |
The path to the protobuf descriptor set file. |
encoding.codec = protobuf |
encoding.protobuf.message_type |
Encoding Protobuf Message Type |
string |
“” |
— |
The name of the message type to use for serializing. |
encoding.codec = protobuf |
encoding.timestamp |
Encoding Timestamp |
enum |
rfc3339 |
— |
Format used for timestamp fields. Enum: [“rfc3339”, “unix”, “unix_float”, “unix_ms”, “unix_ns”, “unix_us”] |
— |
framing.method |
Framing Method |
enum |
none |
— |
The framing method. Enum: [“none”, “bytes”, “character_delimited”, “length_delimited”, “newline_delimited”] |
— |
framing.character_delimited.delimiter |
Framing Character Delimited Delimiter |
string |
“” |
— |
The character that delimits byte sequences. |
framing.method = character_delimited |
framing.character_delimited.max_length |
Framing Character Delimited Max Length |
int |
— |
— |
The maximum length of the byte buffer. This length does not include the trailing delimiter. |
framing.method = character_delimited |
framing.length_delimited.length_field_is_big_endian |
Framing Length Delimited Length Field is Big Endian |
bool |
true |
— |
Length field byte order (little or big endian). |
framing.method = length_delimited |
framing.length_delimited.length_field_length |
Framing Length Delimited Length Field Length |
int |
4 |
— |
Number of bytes representing the field length. |
framing.method = length_delimited |
framing.length_delimited.length_field_offset |
Framing Length Delimited Length Field Offset |
int |
— |
— |
Number of bytes in the header before the length field. |
framing.method = length_delimited |
framing.length_delimited.max_frame_length |
Framing Length Delimited Frame Length |
int |
— |
— |
Maximum frame length. |
framing.method = length_delimited |
framing.newline_delimited.max_length |
Framing Newline Delimited Max Length |
int |
— |
— |
The maximum length of the byte buffer. |
framing.method = newline_delimited |
method |
Method |
enum |
post |
— |
Specifies the method of the HTTP request. Enum: [“delete”, “get”, “head”, “patch”, “post”, “put”] |
— |
payload_prefix |
Payload Prefix |
string |
“” |
— |
A string to prefix the payload with. |
— |
payload_suffix |
Payload Suffix |
string |
“” |
— |
A string to suffix the payload with. |
— |
proxy.enabled |
Proxy Enabled |
bool |
false |
— |
Enables proxying support. |
— |
proxy.http |
Proxy HTTP |
regex |
— |
— |
Proxy endpoint to use when proxying HTTP traffic. |
— |
proxy.https |
Proxy HTTPS |
regex |
— |
— |
Proxy endpoint to use when proxying HTTPS traffic. |
— |
proxy.no_proxy |
Proxy No Proxy |
string |
“” |
— |
A list of hosts to avoid proxying. |
— |