datalust / seq-forwarder

Local collection and reliable forwarding of log data to Seq
Apache License 2.0
57 stars 15 forks source link

Is seq-forwarder supporting Seq 2020.x ? #50

Closed darrynparker closed 3 years ago

darrynparker commented 3 years ago

We're liking the idea of implementing seq-forwarder to help build a resiliency story though it doesn't look to work out of the box with forwarding payloads to our new Seq server (v 2020.1).

We believe the forwarder receives the payload as we can see the date time and file size changes in the seq-forwarder database, though we're then presented with the following seq-forwarder error messages.

[12:56:26 INF] Seq Forwarder listening on http://localhost:15341 [12:56:32 INF] Creating a new default log buffer in C:\ProgramData\Seq\Forwarder\Buffer [12:56:32 INF] Log buffer open on C:\ProgramData\Seq\Forwarder\Buffer; 0 entries, next key will be 1 [12:56:32 INF] Log shipper started, events will be dispatched to https://XXXXXXXXXXXX:5341/ [12:56:34 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: f1944ac99fe14280877414171ddd30a9)."} [12:56:36 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: 8c8c78431b354fe782d22fb99e36ef72)."} [12:56:46 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: 12bc888ad7c14b718628c360fbb48224)."} [12:57:06 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: 36495a107b7145f9a2a790f562f7ef96)."} [12:57:46 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: ef5f918f6c0d4c75a33a2c5e0933fc8c)."} [12:59:06 ERR] Received failed HTTP shipping result InternalServerError: {"Error":"An unhandled error occurred while serving the request (token: 960a4465e00b4397b5d1e47583ce1e63)."}

It looks like the seq-forward required payloads is a different schema too.

(From Postman) seq-forwarder example payload: { "events": [ { "@t": "{{$timestamp}}", "@mt": "{{$randomLoremText}}", "User": "{{$randomLoremText}}" } ] }

Seq schema: {"@t":"{{$timestamp}}","@mt":"{{$randomLoremText}}","User":"{{$randomLoremText}}"}

nblumhardt commented 3 years ago

Thanks for getting in touch. This is #16; unfortunately the failure mode isn't graceful, currently. Are you using compact: true in WriteTo.Seq()?

darrynparker commented 3 years ago

Thanks for the reply Nick,

For some applications we are, for others we're not. We have a number of in-production applications that I would rather not change in code so that I can introduce this forwarder concept.

The Seq service itself will always be upgraded to the latest version so I was hoping for a graceful solution with the introduction of the seq-forwarder.

Is there going to be a release to take in this issue?

nblumhardt commented 3 years ago

Hi Darryn,

Thanks for your reply, and sorry about the slow response. We'd definitely like to take this forward, but we don't currently have a release milestone planned for Forwarder, so it is difficult to indicate any timeline.

I'll loop back and try to reassess what work is required, here - I don't recall there being any quick way to achieve this, but with fresh eyes I might spot something!

Best regards, Nick

nblumhardt commented 3 years ago

Hi @darrynparker; I've created PR #51 with an implementation. It would be great to have your thoughts on the new direction I've proposed, there. Thanks!