The variable system inside rsyslog is JSON based (for easy consumption
of JSON input, the prime source of structured data). In JSON, keys
("variable names") are case-sensitive. This causes constant problems
inside rsyslog configurations. A major nit is that case-insensitivity
option inside templates (even if turned on) does not work with JSON
keys because they of inner workings*1.
It is much more natural to treat keys in a case-INsensitive way (e.g.
"$!Key" and "$!key" are the same). We do not expect any real problems
out of this, as key names only differing in case is highly unlikely.
However, as it is possible we provide a way to enable case-sensitivity
via the global(variables.casesensitve="on") global config object.
Note that the default is to do case-insensitive matches. The reason
is that this is the right thing to do in almost all cases, and we do
not envision any problems at all in existing deployments.
*1 Note: case-insensitivity in rsyslog is achieved by converting all
names to lower case. So that the higher speed of strcmp() can be used.
The template option does actually that, convert the template keys to
lower case. Unfortunately, this does not work with JSON, as JSON keys
are NOT converted to lower case.
closes https://github.com/rsyslog/rsyslog/issues/1805
now you can continue logging after switch to persistent
journal without need to restart rsyslog service.
Bumped correspondidng systemd version dependency.
Many tests depend on omstdout. Given the fact that omstdout
is really only useful for the testbench (at least that's the intent),
we now require --enable-omstdout if --enable-testbench is given.
The alternative would have been to disable all those tests that
need it, which would have lead to considerable less testbench
coverage.
closes https://github.com/rsyslog/rsyslog/issues/1649
The KSI subsystem has been replaced by a newer Guardtime-provided
subsystem. Note that the old KSI subsystem does no longer work
to to Guardtime backend changes.
Libgt still continous to work.
closes https://github.com/rsyslog/rsyslog/issues/1590
Also fixed tryresume and doAction handling when action is
in suspend state.
Calling for Callbacks more often.
Adjusted kafka fail test settings.
diag.sh script detects of kafka server comes up proberly
Added liblz4 to dependencies for omkafka/imkafka needed
for static linking.
This addresses the omkafka queue problem from issue:
https://github.com/rsyslog/rsyslog/issues/1052
Yet it does not fully solve the message problem yet,
but I am working on this.
We are currently only checking for librdkafka package config file but
the file was renamed to rdkafka long time ago.
This commit will make sure that we check for the current pc file first,
check for old name second and fall back to the library check as last
resort.
... but used it for libfastjson. This was a left-over when we
could use both json-c and libfastjson. As github user hdatma
pointed out, this was confusing to users. This has now been
changed to LIBFASTJSON. No functional changes.
Added --enable-omkafka back and added --enable-imkafka to configure
options. Only if both are enabled, kafka tests can be used and run.
testbench: replaced old kafka tests with new ones using imkafka/omkafka
imkafka: Added support to custom parameters from confParam
confParam works simular like in omkafka and can be used to set
custom parameters.
testbench: Added missing new kafka testfile
Basic features need to be added now.
testbench: Added kafka test with multi kafka instances
All kafka instances are connected to one zookeeper instance.
Diag script has been adjusted to propper start/stop single
kafka instances.
autotools: Added version check for librdkafka to be higher than 0.9.1
Network namespaces are part of the linux kernel since v2.6.24. This
enables forwarding output into a configurable network namespace. E.g.,
action(type="omfwd" networknamespace="my_ns" target="192.168.1.23"
port="10514")
Signed-off-by: Bastian Stender <bst@pengutronix.de>