HTTP
Synopsis
Creates a target that sends log data to HTTP/HTTPS endpoints using configurable methods, formats, and authentication. Supports batching, compression, retry logic, and connection pooling for reliable delivery to web services, APIs, and webhooks.
Schema
- name: <string>
description: <string>
type: http
pipelines: <pipeline[]>
status: <boolean>
properties:
url: <string>
method: <string>
format: <string>
content_type: <string>
headers:
<key>: <value>
batch_size: <numeric>
timeout: <numeric>
connect_timeout: <numeric>
socket_timeout: <numeric>
max_retries: <numeric>
retry_delay: <numeric>
compression: <boolean>
keep_alive: <boolean>
follow_redirects: <boolean>
pool_max: <numeric>
pool_max_per_route: <numeric>
authentication:
type: <string>
username: <string>
password: <string>
token: <string>
header:
key: <string>
value: <string>
tls:
status: <boolean>
verify: <boolean>
cert_name: <string>
key_name: <string>
min_tls_version: <string>
max_tls_version: <string>
field_format: <string>
interval: <string|numeric>
cron: <string>
debug:
status: <boolean>
dont_send_logs: <boolean>
Configuration
The following fields are used to define the target:
| Field | Required | Default | Description |
|---|---|---|---|
name | Y | - | Target name |
description | N | - | Optional description |
type | Y | - | Must be http or https |
pipelines | N | - | Optional post-processor pipelines |
status | N | true | Enable/disable the target |
HTTP Connection
| Field | Required | Default | Description |
|---|---|---|---|
url | Y | - | Destination URL (must use http:// or https:// scheme) |
method | N | POST | HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD |
format | N | json | Output format: json, json_batch, form, message |
content_type | N | auto | Content-Type header (auto-detected from format) |
headers | N | - | Custom HTTP headers as key-value pairs |
Request Settings
| Field | Required | Default | Description |
|---|---|---|---|
batch_size | N | 1000 | Maximum number of events per batch |
timeout | N | 60 | Request timeout in seconds |
connect_timeout | N | 10 | Connection establishment timeout in seconds |
socket_timeout | N | 10 | Socket read/write timeout in seconds |
compression | N | false | Enable gzip compression |
keep_alive | N | true | Enable HTTP keep-alive connections |
follow_redirects | N | true | Follow HTTP redirects |
Retry Configuration
| Field | Required | Default | Description |
|---|---|---|---|
max_retries | N | 1 | Maximum retry attempts on failure |
retry_delay | N | 1 | Delay between retries in seconds |
Connection Pool
| Field | Required | Default | Description |
|---|---|---|---|
pool_max | N | 50 | Maximum idle connections in pool |
pool_max_per_route | N | 25 | Maximum connections per route |
Authentication
| Field | Required | Default | Description |
|---|---|---|---|
authentication.type | N | none | Authentication type: none, basic, bearer, header |
authentication.username | N* | - | Username for basic authentication |
authentication.password | N* | - | Password for basic authentication |
authentication.token | N* | - | Token for bearer authentication |
authentication.header.key | N* | - | Header name for header authentication |
authentication.header.value | N* | - | Header value for header authentication |
* = Required when using the corresponding authentication type.
TLS Configuration
| Field | Required | Default | Description |
|---|---|---|---|
tls.status | N | false | Enable TLS client certificate authentication |
tls.verify | N | true | Verify server certificate |
tls.cert_name | N | - | Client certificate file name (PEM format) |
tls.key_name | N | - | Client private key file name (PEM format) |
tls.min_tls_version | N | tls1.2 | Minimum TLS version: tls1.0, tls1.1, tls1.2, tls1.3 |
tls.max_tls_version | N | tls1.3 | Maximum TLS version: tls1.0, tls1.1, tls1.2, tls1.3 |