epok

Vector

Vector sends logs and metrics directly to Epok. An Epok ingest key inX-API-Key selects the workspace and project. No vendor account connection or SaaS import is involved.

Configure the agent

This configuration targets Vector 0.46.1. Export your ingest key asEPOK_INGEST_KEY in the Vector process environment, set your log path and local metrics exporter, and make the data directory writable. The shared service name joins logs and metrics. These localhost URLs assume Vector runs on the same host as Epok; containers need reachable service names. Use your Epok ingest host with HTTPS outside development. Route logs to port 3100 and metrics to port 8080.

yaml
data_dir: /var/lib/vector
sources:
  logs:
    type: file
    include: [/var/log/my-app.log]
    read_from: beginning
  metrics:
    type: prometheus_scrape
    endpoints: [http://localhost:9100/metrics]
    scrape_interval_secs: 2
transforms:
  service:
    type: remap
    inputs: [logs]
    source: '.service = "my-app"'
  metric_service:
    type: remap
    inputs: [metrics]
    source: '.tags.service = "my-app"'
sinks:
  epok_logs:
    type: http
    inputs: [service]
    uri: http://localhost:3100/api/v1/ingest
    method: post
    encoding:
      codec: json
    framing:
      method: newline_delimited
    request:
      headers:
        X-API-Key: ${EPOK_INGEST_KEY}
    batch:
      timeout_secs: 1
    healthcheck:
      enabled: false
  epok_metrics:
    type: prometheus_remote_write
    inputs: [metric_service]
    endpoint: http://localhost:8080/api/v1/write
    request:
      headers:
        X-API-Key: ${EPOK_INGEST_KEY}
    batch:
      timeout_secs: 1
    healthcheck:
      enabled: false

Supported intake

  • POST /api/v1/ingest: newline-delimited JSON logs. Keep the JSON codec and newline framing together.
  • POST /api/v1/write: Prometheus remote write metrics, encoded by Vector as snappy protobuf.

Log message, timestamp and service fields are preserved; gauges retain their values and labels. The configured sinks disable startup health probes; delivery is verified by stored data. Missing keys return 401; unknown keys or insufficient ingest scope return 403, and quotas return 429.

Verify with real agents

bash
scripts/p2_agent_acceptance.sh

From a source checkout with Docker Compose, this runs Vector alongside Datadog, Fluent Bit and Prometheus in an isolated fresh Epok stack. It requires an exact Vector log, a gauge equal to 44 and matching service attribution across logs and metrics from all three log agents in one workspace and project. Vector compatibility remains pending until this real-agent acceptance passes; local unit tests alone do not verify it.