Skip to content

Local collection and reliable forwarding of log data to Seq

License

Notifications You must be signed in to change notification settings

rdavisunr/seq-forwarder

 
 

Repository files navigation

Seq Forwarder Build status Join the chat at https://gitter.im/datalust/seq Download

Seq Forwarder is a client-side tool for sending log data to Seq.

HTTP forwarding

Seq Forwarder can run as a Windows service on client machines. It receives events over a local HTTP API and persists these to its own internal storage until the remote Seq server can be reached.

Seq Forwarder

Seq Forwarder listens on port 15341. The HTTP ingestion API is identical to the Seq one, so standard client libraries like Serilog.Sinks.Seq can write to it directly.

Log.Logger = new LoggerConfiguration()  
    .WriteTo.Seq("http://localhost:15341")
    .CreateLogger();

Log.Information("Hello, Seq Forwarder!");  

Importing JSON log files

The seq-forwarder import command can be used to import JSON log files directly into Seq. The log file needs to be in Serilog's native JSON format (e.g. produced by the Seq sink or Serilog's JsonFormatter) with one JSON-encoded event per line.

seq-forwarder import -f myapp.json -u https://my-seq -p User=appuser1 -p Email=appuser@example.com

The command will print a GUID ImportId that will be attached to the imported events in Seq. Additional properties can be specified on the command-line, like User= and Email= above, to tag the events.

Building

Visual Studio 2015 is required. While migrating from our internal CI no scripted build is set up yet - just build the solution in Release mode and grab the resulting binaries.

The solution is currently a Windows-only .NET 4.5.2 application. .NET Core support is intended sometime after its RTM.

You will need Wix 3.10 to build the setup/MSI.

Debugging

F5 will work, but you will need to either run the install command (see below) to create an HTTP namespace reservation, or run as Administrator (on Windows).

Deployment

The outputs from Seq.Forwarder and Seq.Forwarder.Administration (if required) projects can be XCOPY-deployed.

Setup

Run Seq.Forwarder.Administration.exe to install the forwarder, or check out the command-line for scripted setup.

Command-line usage

List available commands:

seq-forwarder help

Get command help:

seq-forwarder help <command>

Install as a Windows service:

seq-forwarder install

Set destination Seq server details:

seq-forwarder config -k output.serverUrl --value="http://my-seq/"
seq-forwarder config -k output.apiKey --value="1234567890"

Start the Windows service:

seq-forwarder start

Run interactively:

seq-forwarder run

Change the buffer size cap (defaults to 64 MB):

seq-forwarder config -k storage.bufferSizeBytes -v 1073741824  
seq-forwarder restart  

About

Local collection and reliable forwarding of log data to Seq

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.0%
  • Other 1.0%