Eventum Logo

Eventum

Output

http

Output plugin that sends events to any HTTP endpoint with batching, TLS, and proxy support.

Sends events to an HTTP endpoint. By default, events are batched into a single JSON array (json-batch formatter) and sent as one request per batch.

Parameters

ParameterTypeDefaultConstraintsDescription
urlURLRequired. Valid HTTP/HTTPS URL.Target endpoint URL.
methodstring"POST"GET, HEAD, OPTIONS, POST, PUT, PATCH, or DELETEHTTP method.
success_codeinteger201>= 100Expected response status code.
headersmapping{}Custom request headers.
usernamestring or nullnullNon-empty if set.Username for HTTP basic auth.
passwordstring or nullnullNon-empty if set.Password for HTTP basic auth.
connect_timeoutinteger10>= 1Connection timeout in seconds.
request_timeoutinteger300>= 1Full request timeout in seconds.
verifybooleanfalseWhether to verify the server's TLS certificate.
ca_certpath or nullnullNon-empty if set.Path to CA certificate file.
client_certpath or nullnullNon-empty if set.Path to client certificate. Must be provided together with client_cert_key.
client_cert_keypath or nullnullNon-empty if set.Path to client certificate key. Must be provided together with client_cert.
proxy_urlURL or nullnullValid HTTP/HTTPS URL.Proxy address.
formatterformatterjson-batchHow events are serialized before sending.

Behavior

  • Events are batched by the generator's batch.size / batch.delay settings and sent as a single HTTP request per batch.
  • The default json-batch formatter wraps all events in a JSON array — ideal for endpoints that accept batch payloads.
  • If the response code doesn't match success_code, the write is counted as failed.

Examples

Basic POST to a webhook:

output:
  - http:
      url: https://api.example.com/events
      method: POST
      success_code: 200
      headers:
        Content-Type: application/json

With authentication and custom API key:

output:
  - http:
      url: https://api.example.com/ingest
      headers:
        Authorization: "Bearer ${secrets.api_token}"
        Content-Type: application/json
      success_code: 200

Mutual TLS with client certificates:

output:
  - http:
      url: https://secure.example.com/events
      verify: true
      ca_cert: certs/ca.pem
      client_cert: certs/client.pem
      client_cert_key: certs/client-key.pem

Via proxy:

output:
  - http:
      url: https://api.example.com/events
      proxy_url: http://proxy.internal:8080

On this page