All Projects → datalust → sqelf

datalust / sqelf

Licence: Apache-2.0 license
Ingest GELF payloads into Seq

Programming Languages

rust
11053 projects
powershell
5483 projects

Projects that are alternatives of or similar to sqelf

Graylog2 Server
Free and open source log management
Stars: ✭ 5,952 (+39580%)
Mutual labels:  gelf
logspout-gelf
Logspout with GELF adapter
Stars: ✭ 16 (+6.67%)
Mutual labels:  gelf
gelf-extensions-logging
GELF provider for Microsoft.Extensions.Logging
Stars: ✭ 81 (+440%)
Mutual labels:  gelf
NLog.Targets.GraylogHttp
NLog target that pushes log messages to Graylog using the Http input.
Stars: ✭ 17 (+13.33%)
Mutual labels:  gelf
logback-gelf-appender
Logback appender that sends GELF messages
Stars: ✭ 38 (+153.33%)
Mutual labels:  gelf
eshopzero
.Net Microservice Application
Stars: ✭ 27 (+80%)
Mutual labels:  seq
serilog-sinks-seq
A Serilog sink that writes events to the Seq structured log server
Stars: ✭ 132 (+780%)
Mutual labels:  seq
seq-tickets
Issues, design discussions and feature roadmap for the Seq log server
Stars: ✭ 81 (+440%)
Mutual labels:  seq
Seq.Client.EventLog
Writes Windows Event Log entries to Seq
Stars: ✭ 25 (+66.67%)
Mutual labels:  seq
seq-forwarder
Local collection and reliable forwarding of log data to Seq
Stars: ✭ 43 (+186.67%)
Mutual labels:  seq
seq-api
HTTP API client for Seq
Stars: ✭ 66 (+340%)
Mutual labels:  seq
seq-cheat-sheets
Cheat sheets for Seq filtering and querying syntax
Stars: ✭ 49 (+226.67%)
Mutual labels:  seq

Seq GELF Input Build status Seq.Input.Gelf datalust/seq-input-gelf

Ingest Graylog Extended Log Format (GELF) messages via UDP or TCP into Seq. The app is packaged both as a plug-in Seq App for all platforms, and as a standalone Docker container that forwards events to Seq via its HTTP API.

Getting started on Windows (requires Seq 5.1+)

On Windows, the GELF input is installed into Seq as a Seq App.

Seq GELF input

1. Install the app package

In Settings > Apps, choose Install from NuGet. The app package id is Seq.Input.Gelf.

2. Start an instance of the app

From the apps screen, choose Add Instance and give the new GELF input a name.

The default settings will cause the GELF input to listen on localhost port 12201. Choose a different port if required.

Select Save Changes to start the input.

3. Configure Windows Firewall

Ensure UDP port 12201 (or the selected port, if you specified a different one), is allowed through Windows Firewall.

4. Log some events!

That's all there is to it. Events ingested through the input will appear in the Events stream. If the input doesn't work, check for diagnostic events raised by the input app (there is some status information shown under the app instance name).

Events ingested by the input will be associated with the default None API key, which can be used to attach properties, apply filters, or set a minimum level for the ingested events.

Getting started with Docker (all versions)

For Docker, the app is deployed as a Docker container that is expected to run alongside the Seq container. The datalust/seq-input-gelf container accepts GELF messages (via UDP on port 12201 by default), and forwards them to the Seq ingestion endpoint specified in the SEQ_ADDRESS environment variable.

To run the container:

$ docker run \
    --rm \
    -it \
    -p 12201:12201/udp \
    -e SEQ_ADDRESS=https://seq.example.com:5341 \
    datalust/seq-input-gelf

The container is published on Docker Hub as datalust/seq-input-gelf, previously datalust/sqelf (still updated, for backwards-compatibility).

Container configuration

A seq-input-gelf container can be configured using the following environment variables:

Variable Description Default
SEQ_ADDRESS The address of the Seq server to forward events to http://localhost:5341
SEQ_API_KEY The API key to use -
GELF_ADDRESS The address to bind the GELF server to. The protocol may be udp or tcp udp://0.0.0.0:12201
GELF_ENABLE_DIAGNOSTICS Whether to enable diagnostic logs and metrics (accepts True or False) False
GELF_CERTIFICATE_PATH The path to a .pem file containing a certificate (TCP only)
GELF_CERTIFICATE_PRIVATE_KEY_PATH The path to a .pem file containing a PKCS8 private key for the certificate GELF_CERTIFICATE_PATH

Quick local setup with docker-compose

The following is an example docker-compose file that can be used to manage a local Seq container alongside seq-input-gelf in your development environment to collect log events from other containers:

version: '3'
services:
  seq-input-gelf:
    image: datalust/seq-input-gelf:latest
    depends_on:
      - seq
    ports:
      - "12201:12201/udp"
    environment:
      SEQ_ADDRESS: "http://seq:5341"
    restart: unless-stopped
  seq:
    image: datalust/seq:latest
    ports:
      - "5341:80"
    environment:
      ACCEPT_EULA: "Y"
    restart: unless-stopped
    volumes:
      - ./seq-data:/data

The service can be started using docker-compose up.

Collecting Docker container logs

The output from any Docker container can be collected by configuring its logging driver on startup:

$ docker run \
    --rm \
    -it \
    --log-driver gelf \
    --log-opt gelf-address=udp://seq-input-gelf.example.com:12201 \
    my-app:latest

In this case the gelf-address option needs to resolve to the running seq-input-gelf container.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].