epok

Fluent Bit

Fluent Bit sends logs to POST /api/v1/fluent as JSON. Use an Epok ingest key in the X-API-Key header. The key determines the workspace and project; the optional tagquery parameter supplies a service name.

Local log configuration

ini
[SERVICE]
    Flush 1
[INPUT]
    Name tail
    Path /var/log/my-app.log
    Tag app.logs
[OUTPUT]
    Name http
    Match app.logs
    Host localhost
    Port 3100
    URI /api/v1/fluent?tag=my-app
    Format json
    Json_Date_Key date
    Json_Date_Format double
    Header X-API-Key EPOK_INGEST_KEY
    Retry_Limit false

Use your Epok ingest host with port 443 and Tls On outside local development. Keep Format json: the default MessagePack format is not accepted. Log text, timestamps, levels and supported Kubernetes metadata follow the existing Fluent Bit ingest path.

Metrics

Metrics use POST /api/v1/write on the metrics gateway (local port 8080). Pair a metrics input such asprometheus_scrape with this output. A log input does not produce metric samples.

ini
[OUTPUT]
    Name prometheus_remote_write
    Match app.metrics
    Host localhost
    Port 8080
    URI /api/v1/write
    Header X-API-Key EPOK_INGEST_KEY
    Retry_Limit false

Verify with the real agent

bash
scripts/p2_agent_acceptance.sh

Run from a source checkout with Docker Compose. The rig pins Fluent Bit 3.2.10, tails an exact log line, scrapes a known gauge and checks both in Epok under the authenticated project. Real-agent verification is pending the coordinator run; the existing parser was not changed for this work.