The new parameter permits to specify a replacement to be configured
when "escapeLF" is set to "on". Previously, a fixed replacement string
was used ("#012"/"\n") depending on circumstances. If the parameter is
set to an empty string, the LF is simply discarded.
closes https://github.com/rsyslog/rsyslog/issues/3889
- use permanent worker-dependent buffers to avoid malloc/free for each entry
- move socket structures to worker data, remove global mutex
- add log lines for parameters and general workflow
- don't send body if empty/incomplete (see new parameters)
- don't close/reopen socket every time -> let session open or create new every X entry (see new parameters)
- clean up code
- added 'send_partial', to let mmdarwin send body if not all fields were retrieved, or not
default false = only send complete bodies
- added 'socket_max_use' to open new session every X packet, useful for some versions of Darwin (prior to 1.1)
default is 0 = do not open new session/keep only one
- added 'evt_id' to the darwin header (Darwin v1+ compatibility)
miscellaneous bug fixes in improg:
- properly truncate string after an input event is submitted
- set msgoffset to 0.
- tests added to check above fixes
omhttp, 'checkpath' option, was not configurable in the past.
- add 'checkpath' to the cnfparamdescr table.
- fix issue with checkpath passing extra garbage characters in string.
- add 'checkpath' into unit test - omhttp-retry.sh
This brings omamqp1 up-to-date with the latest qpid-proton-c
api version. This also adds a test for the plugin, to test
the basic functionality. The test requires the user to
install qdrouterd and the python qpid-proton library in order
to use the simple_recv.py test program.
- plugin will get (docker) container logs from a host as well as filling out some
basic container metadata as id, name, image, labels.
- requirements: curl-7.40.0+, for unix_domain_socket option (Docker API listens on a
local socket). Additionally, plugin will handle the issue of log lines larger than
16KB begin split by Docker.
- include imdocker-unittests in testbench
- enable imdocker tests in osx travis tests
- use curl master branch for imdocker-tests
- fix cflags for pthread
- enforce minimum curl version during configuration - to 7.40.0 for imdocker
- container polls after the initial one are automatically filtered utilizing the 'since' option as per docker api
- imdocker tests refactored.
- add escapeLF config option
Test bench test added:
- imdocker-basic: checks for completeness.
- imdocker-basic-vg: same as basic with valgrind enabled.
- imdocker-long-logline: checks imdocker can handle 16K+ log lines.
- imdocker-long-logline-vg: same as long-logline test with valgrind enabled.
- add option 'retrieveNewLogsFromStart' which will cause imdocker to ignore the 'tail'
option when retrieving container logs for newly activated containers. Containers that
were already active when imdocker first starts still uses the tail option.
- imdocker-new-logs-from-start: checks that new containers will ignore the tail option
- imdocker-new-logs-from-start-vg: valgrind enabled
- multi-line support via docker label: imdocker.startregex
added multi-line tests for testbench
Travis test bench related history and notes:
- Travis tests, enable imdocker
- imdocker travis tests not enabled in precise or trusty ubuntu versions of travis-test.
Assuming travis tests will run in ubuntu 16
- tests: harden container name against strange file system pathes
RSYSLOG_DYNNAME contains the file system path, which is NOT guarnateed
to be suitable for things other than file names.
- tests: bugfix and guard against false negative
- content_check_with count was done before rsyslog was terminated, so
it was uncertain how many messages were written at that spot
(especially on slow machines)
- so far, only the number of lines was checked, not their content. So
any problems with the actual messages would not have been detected.
- improved support for listcontainer options, fix racy imdocker tests
New parameters for mmkubernetes (module and action):
* `cacheexpireinterval`
If `cacheexpireinterval` is -1, then do not check for cache expiration.
If `cacheexpireinterval` is 0, then check for cache expiration.
If `cacheexpireinterval` is greater than 0, check for cache expiration
if the last time we checked was more than this many seconds ago.
* `cacheentryttl` - maximum age in seconds for cache entries
New statistics counters:
* `podcachenumentries` - the number of entries in the pod metadata cache.
* `namespacecachenumentries` - the number of entries in the namespace
metadata cache.
* `podcachehits` - the number of times a requested entry was found in the
pod metadata cache.
* `namespacecachehits` - the number of times a requested entry was found
in the namespace metadata cache.
* `podcachemisses` - the number of times a requested entry was not found
in the pod metadata cache, and had to be requested from Kubernetes.
* `namespacecachemisses` - the number of times a requested entry was not
found in the namespace metadata cache, and had to be requested from
Kubernetes.
They occur on some, newer, platforms. We do not really fix them, but rather
make the compiler ignore them. This is not really good, but the module is
contributed and so that's for now the best thing we can do.
Add ability to specify the libcurl CURLOPT_SSL_VERIFYHOST
option to skip verification of the hostname in the peer cert.
WARNING: This option is insecure, and should only be used
for testing. The default value is off, meaning, the hostname
will be verified by default.