{"id":23626278,"url":"https://github.com/datalust/seq-input-gelf","last_synced_at":"2025-07-13T04:32:53.923Z","repository":{"id":34044642,"uuid":"159765142","full_name":"datalust/seq-input-gelf","owner":"datalust","description":"Ingest GELF payloads into Seq","archived":false,"fork":false,"pushed_at":"2024-08-15T02:56:40.000Z","size":9369,"stargazers_count":16,"open_issues_count":3,"forks_count":8,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2025-05-12T05:05:18.948Z","etag":null,"topics":["docker","gelf","seq"],"latest_commit_sha":null,"homepage":"https://datalust.co/seq","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datalust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-30T03:46:07.000Z","updated_at":"2025-04-09T10:13:37.000Z","dependencies_parsed_at":"2024-12-27T22:56:21.223Z","dependency_job_id":null,"html_url":"https://github.com/datalust/seq-input-gelf","commit_stats":null,"previous_names":["datalust/sqelf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/datalust/seq-input-gelf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-input-gelf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-input-gelf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-input-gelf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-input-gelf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datalust","download_url":"https://codeload.github.com/datalust/seq-input-gelf/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalust%2Fseq-input-gelf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259677187,"owners_count":22894664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","gelf","seq"],"created_at":"2024-12-27T22:52:47.941Z","updated_at":"2025-07-13T04:32:53.892Z","avatar_url":"https://github.com/datalust.png","language":"Rust","readme":"# Seq GELF Input [![Build status](https://ci.appveyor.com/api/projects/status/t32q67tvbvsgjxck?svg=true)](https://ci.appveyor.com/project/datalust/sqelf) [![Seq.Input.Gelf](https://img.shields.io/nuget/v/Seq.Input.Gelf.svg?style=flat)](https://nuget.org/packages/Seq.Input.Gelf) [![datalust/seq-input-gelf](https://img.shields.io/badge/docker-datalust%2Fseq--input--gelf-yellowgreen.svg)](https://hub.docker.com/r/datalust/seq-input-gelf)\n\nIngest [Graylog Extended Log Format (GELF) messages](http://docs.graylog.org/en/2.5/pages/gelf.html) via UDP or TCP into [Seq](https://datalust.co/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.\n\n## Getting started on Windows (requires Seq 5.1+)\n\nOn Windows, the GELF input is installed into Seq as a [Seq App](https://docs.getseq.net/docs/installing-seq-apps).\n\n![Seq GELF input](https://raw.githubusercontent.com/datalust/sqelf/dev/asset/app-screenshot.png)\n\n**1. Install the app package**\n\nIn _Settings_ \u003e _Apps_, choose _Install from NuGet_. The app package id is [Seq.Input.Gelf](https://nuget.org/packages/Seq.Input.Gelf).\n\n**2. Start an instance of the app**\n\nFrom the apps screen, choose _Add Instance_ and give the new GELF input a name.\n\nThe default settings will cause the GELF input to listen on localhost port 12201. Choose a different port if required.\n\nSelect _Save Changes_ to start the input.\n\n**3. Configure Windows Firewall**\n\nEnsure UDP port 12201 (or the selected port, if you specified a different one), is allowed through Windows Firewall.\n\n**4. Log some events!**\n\nThat'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).\n\nEvents ingested by the input will be associated with the default _None_ [API key](https://docs.getseq.net/docs/api-keys), which can be used to attach properties, apply filters, or set a minimum level for the ingested events.\n\n## Getting started with Docker (all versions)\n\nFor 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.\n\nTo run the container:\n\n```shell\n$ docker run \\\n    --rm \\\n    -it \\\n    -p 12201:12201/udp \\\n    -e SEQ_ADDRESS=https://seq.example.com:5341 \\\n    datalust/seq-input-gelf\n```\n\nThe container is published on Docker Hub as [`datalust/seq-input-gelf`](https://hub.docker.com/r/datalust/seq-input-gelf), previously [`datalust/sqelf` (still updated, for backwards-compatibility)](https://hub.docker.com/r/datalust/sqelf).\n\n### Container configuration\n\nA `seq-input-gelf` container can be configured using the following environment variables:\n\n| Variable                            | Description                                                                  | Default                 |\n|-------------------------------------|------------------------------------------------------------------------------|-------------------------|\n| `SEQ_ADDRESS`                       | The address of the Seq server to forward events to                           | `http://localhost:5341` |\n| `SEQ_API_KEY`                       | The API key to use                                                           | -                       |\n| `GELF_ADDRESS`                      | The address to bind the GELF server to. The protocol may be `udp` or `tcp`   | `udp://0.0.0.0:12201`   |\n| `GELF_ENABLE_DIAGNOSTICS`           | Whether to enable diagnostic logs and metrics (accepts `True` or `False`)    | `False`                 |\n| `GELF_CERTIFICATE_PATH`             | The path to a `.pem` file containing a certificate (TCP only)                |                         |\n| `GELF_CERTIFICATE_PRIVATE_KEY_PATH` | The path to a `.pem` file containing a PKCS8 private key for the certificate | `GELF_CERTIFICATE_PATH` |\n\n### Quick local setup with `docker-compose`\n\nThe 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:\n\n```yaml\nversion: '3'\nservices:\n  seq-input-gelf:\n    image: datalust/seq-input-gelf:latest\n    depends_on:\n      - seq\n    ports:\n      - \"12201:12201/udp\"\n    environment:\n      SEQ_ADDRESS: \"http://seq:5341\"\n    restart: unless-stopped\n  seq:\n    image: datalust/seq:latest\n    ports:\n      - \"5341:80\"\n    environment:\n      ACCEPT_EULA: \"Y\"\n    restart: unless-stopped\n    volumes:\n      - ./seq-data:/data\n```\n\nThe service can be started using `docker-compose up`.\n\n### Collecting Docker container logs\n\nThe output from any Docker container can be collected by configuring its logging driver on startup:\n\n```shell\n$ docker run \\\n    --rm \\\n    -it \\\n    --log-driver gelf \\\n    --log-opt gelf-address=udp://seq-input-gelf.example.com:12201 \\\n    my-app:latest\n```\n\nIn this case the `gelf-address` option needs to resolve to the running `seq-input-gelf` container.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalust%2Fseq-input-gelf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatalust%2Fseq-input-gelf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalust%2Fseq-input-gelf/lists"}