feat(syslog): a syslog receiver: UDP and TCP, senders offered before they're kept, each source's lines in a ring (#5999)
- plugins/syslog: RFC 5424 and RFC 3164 parsing, RFC 6587 TCP framing. - Lines are queued as they arrive and stored every 5 s through a Holding, so a storage stall delays them rather than losing them. - A new sender is an offered source, counted and not kept, until an admin adds it on the Syslog page (name, host); it can be ignored instead. - The listener follows the plugin's settings (port, UDP, TCP), rebinding within seconds of a save; a port it can't open is said on the page. - Hourly ring per source: age window and byte cap from Settings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# plugins/syslog/plugin.yaml
|
||||
name: syslog
|
||||
version: "1.0.0"
|
||||
description: "Receives syslog from NASes, routers and other devices, and keeps the lines of the sources you add."
|
||||
author: "Steward"
|
||||
license: "MIT"
|
||||
min_app_version: "0.1.0"
|
||||
tags:
|
||||
- syslog
|
||||
- logs
|
||||
|
||||
# Sources are added from the Syslog page (/plugins/syslog/), where a device
|
||||
# that starts sending is offered. Steward runs as an unprivileged user, so
|
||||
# the port is above 1024: point devices at it, or map 514 to it.
|
||||
config:
|
||||
port: 5514
|
||||
udp: true
|
||||
tcp: true
|
||||
retention_days: 14
|
||||
max_bytes_per_source: 50000000
|
||||
Reference in New Issue
Block a user