forked from freifunk-gluon/gluon
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allows reconfigurtion of remote syslog from within site.conf. Conflicts with the gluon-web-logging package as user made changes will be overwritten, because this package will reconfigure the syslog destination on every upgrade. Resolves freifunk-gluon#1845
- Loading branch information
Showing
5 changed files
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
gluon-logging | ||
============= | ||
|
||
The *gluon-logging* package allows to configure a remote syslog server that | ||
will receive the systems log output that is also visible when calling ``logread`` | ||
from a terminal. | ||
|
||
It supports both IPv4 and IPv6 endpoints over UDP and TCP. | ||
|
||
Note: The syslog mechanism is incapable of providing a complete log as network | ||
access is required to send out log messages and ``logd`` does not buffer and resend | ||
older log messages even though they might be available in ``logread``. | ||
|
||
This package conflicts with ``gluon-web-logging`` as it will overwrite the | ||
user-given syslog server on every upgrade. | ||
|
||
site.conf | ||
--------- | ||
|
||
syslog.ip : required | ||
- Destination address of the remote syslog server | ||
|
||
syslog.port : optional | ||
- Destination port of the remote syslog server | ||
- Defaults to 514 | ||
|
||
syslog.proto : optional | ||
- Protocol to transport syslog frames in, can be either ``tcp`` or ``udp`` | ||
- Defaults to UDP | ||
|
||
Example:: | ||
|
||
syslog = { | ||
ip = "2001:db8::1", | ||
port = 514, | ||
proto = "udp", | ||
}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=gluon-logging | ||
PKG_VERSION:=1 | ||
|
||
include ../gluon.mk | ||
|
||
define Package/gluon-logging | ||
TITLE:=Configure remote syslog from site.conf | ||
DEPENDS:=+gluon-core | ||
CONFLICTS:=gluon-web-logging | ||
endef | ||
|
||
$(eval $(call BuildPackageGluon,gluon-logging)) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
need_string({'syslog', 'ip'}, true) | ||
need_number_range({'syslog', 'port'}, 1, 65535, false) | ||
need_one_of({'syslog', 'proto'}, {'tcp', 'udp'}, false) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#!/usr/bin/lua | ||
local site = require('gluon.site') | ||
local uci = require('simple-uci').cursor() | ||
|
||
local system = uci:get_first('system', 'system') | ||
|
||
if not site.syslog.ip() then | ||
uci:delete('system', system, 'log_remote') | ||
uci:delete('system', system, 'log_ip') | ||
uci:delete('system', system, 'log_port') | ||
uci:delete('system', system, 'log_proto') | ||
else | ||
uci:set('system', system, 'log_remote', 1) | ||
uci:set('system', system, 'log_ip', site.syslog.ip()) | ||
uci:set('system', system, 'log_port', site.syslog.port(514)) | ||
uci:set('system', system, 'log_proto', site.syslog.proto('udp')) | ||
end | ||
|
||
uci:save('system') |