Skip to content

Commit 0adcbb3

Browse files
authored
Merge pull request #847 from axoflow/version/4.20.0
Version: 4.20.0
2 parents 2afc405 + e82afc2 commit 0adcbb3

34 files changed

+183
-135
lines changed

NEWS.md

Lines changed: 136 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
4.19.1
1+
4.20.0
22
======
33

4-
_This is a hotfix release that fixes a config reload time memory leak_
5-
64
AxoSyslog is binary-compatible with syslog-ng [1] and serves as a drop-in replacement.
75

86
We provide [cloud-ready container images](https://github.com/axoflow/axosyslog/#container-images) and Helm charts.
@@ -12,11 +10,142 @@ Packages are available in our [APT](https://github.com/axoflow/axosyslog/#deb-pa
1210
Check out the [AxoSyslog documentation](https://axoflow.com/docs/axosyslog-core/) for all the details.
1311

1412

13+
## Features
14+
15+
* Added new metrics
16+
17+
* `syslogng_window_capacity` and `syslogng_window_available` on `stats(level(3))`.
18+
* Shows the `log-iw-size()` value and the current state of the source window, respectively.
19+
* `syslogng_window_full_total`
20+
* Tracks how many times the window was completely full. This counter will
21+
increase any time the destination causes the source to be throttled.
22+
* `syslogng_memory_queue_processed_events_total` and `syslogng_disk_queue_processed_events_total`
23+
* Counts the number of events processed since startup by each queue.
24+
* `syslogng_output_batch_size_...`, `syslogng_output_event_size_...`, `syslogng_output_request_latency_...`
25+
* histogram style metrics for `http()`, `otel()` and other threaded destinations
26+
27+
([#823](https://github.com/axoflow/axosyslog/pull/823))
28+
([#824](https://github.com/axoflow/axosyslog/pull/824))
29+
([#845](https://github.com/axoflow/axosyslog/pull/845))
30+
31+
* `clickhouse()` destination: Added JSONCompactEachRow format and new `format` directive
32+
33+
This update enhances the ClickHouse destination by adding support for the `JSONCompactEachRow`
34+
format and introducing a new `format` directive for explicitly selecting the data format.
35+
36+
**Background**
37+
Previously, the destination supported:
38+
- `Protobuf` (default when using `proto-var`)
39+
- `JSONEachRow` (default when using `json-var`)
40+
41+
These defaults remain unchanged.
42+
43+
**What’s new**
44+
- Added support for `JSONCompactEachRow` — a more compact, array-based JSON representation (used with `json-var`).
45+
- Introduced the `format` directive, allowing manual selection of the desired format:
46+
- `JSONEachRow`
47+
- `JSONCompactEachRow`
48+
- `Protobuf`
49+
50+
**Example**
51+
```hcl
52+
destination {
53+
clickhouse (
54+
...
55+
json-var(json("$my_filterx_json_var"))
56+
format("JSONCompactEachRow")
57+
...
58+
);
59+
};
60+
```
61+
62+
**JSONEachRow (each JSON object per line, more readable):**
63+
64+
```
65+
{"id":1,"name":"foo","value":42}
66+
{"id":2,"name":"bar","value":17}
67+
```
68+
69+
**JSONCompactEachRow (compact array-based row representation):**
70+
71+
```
72+
[1,"foo",42]
73+
[2,"bar",17]
74+
```
75+
76+
**Validation and error handling**
77+
78+
**Invalid format values now produce:**
79+
```
80+
Error parsing within destination: invalid format value 'invalid format', possible values:[JSONEachRow, JSONCompactEachRow, Protobuf]
81+
```
82+
83+
**If the data’s actual format doesn’t match the selected format, ClickHouse returns:**
84+
```
85+
CANNOT_PARSE_INPUT_ASSERTION_FAILED
86+
```
87+
([#828](https://github.com/axoflow/axosyslog/pull/828))
88+
89+
* `opentelemetry()` source: Added `keep-alive()` option
90+
91+
With this new option, client connections can be kept alive during reload,
92+
avoiding unnecessary retry backoffs and other error messages on the client
93+
side.
94+
95+
The default is `yes`.
96+
97+
([#832](https://github.com/axoflow/axosyslog/pull/832))
98+
99+
* `s3()` destination: Added new `object_key_suffix()` option
100+
101+
The default suffix is an empty string, to ensure backward compatibility.
102+
([#797](https://github.com/axoflow/axosyslog/pull/797))
103+
104+
* `http()` and other threaded destinations: add `worker-partition-buckets()` option
105+
106+
This allows the same `worker-partition-key()` to use multiple worker threads.
107+
([#852](https://github.com/axoflow/axosyslog/pull/852))
108+
109+
15110
## Bugfixes
16111
17-
* `filterx`: Fixed a memory leak that occurs during reloads.
18-
([#827](https://github.com/axoflow/axosyslog/pull/827))
112+
* `filterx`: Fixed various memory leaks
113+
([#829](https://github.com/axoflow/axosyslog/pull/829))
114+
([#836](https://github.com/axoflow/axosyslog/pull/836))
115+
([#842](https://github.com/axoflow/axosyslog/pull/842))
116+
117+
* `filterx`: Fixed a variable synchronization bug.
118+
([#849](https://github.com/axoflow/axosyslog/pull/849))
119+
120+
* `filterx` `otel_logrecord()`: Fixed not clearing `body` before setting dict and array values.
121+
([#835](https://github.com/axoflow/axosyslog/pull/835))
122+
123+
* Fixed `keep-alive()` during config reload revert
124+
([#831](https://github.com/axoflow/axosyslog/pull/831))
125+
126+
* `http()` destination: Fixed batch partitioning in case of templated `body-prefix()`
127+
([#843](https://github.com/axoflow/axosyslog/pull/843))
128+
129+
* `s3`: Bugfixes and general stability improvements for the `s3` destination driver
130+
131+
* Fixed a major bug causing data loss if multithreaded upload was enabled via the `upload-threads` option.
132+
* Fixed a bug where in certain conditions finished object buffers would fail to upload.
133+
* Fixed a bug, where empty chunks were being uploaded, causing errors.
134+
135+
([#797](https://github.com/axoflow/axosyslog/pull/797))
136+
([#846](https://github.com/axoflow/axosyslog/pull/846))
137+
138+
* `filterx`: fix potential use-after-free crashes
139+
([#854](https://github.com/axoflow/axosyslog/pull/854))
140+
141+
* `disk-buffer()`: fix memory leak when `worker-partition-key()` and `disk-buffer()` are used together
142+
([#853](https://github.com/axoflow/axosyslog/pull/853))
143+
144+
145+
## Other changes
19146
147+
* Improved reload time for large configurations.
148+
([#844](https://github.com/axoflow/axosyslog/pull/844))
20149
21150
22151
[1] syslog-ng is a trademark of One Identity.
@@ -38,5 +167,5 @@ of AxoSyslog, contribute.
38167
39168
We would like to thank the following people for their contribution:
40169
41-
Andras Mitzki, Attila Szakacs, Balazs Scheidler, László Várady,
42-
Szilard Parrag, Tamás Kosztyu, shifter
170+
Andras Mitzki, Attila Szakacs, Balazs Scheidler, Bálint Horváth,
171+
László Várady, Szilard Parrag, Tamás Kosztyu, shifter

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ A simple example is to ingest syslog traffic on tcp/514 and write it to a
4545
file:
4646

4747
```
48-
@version: 4.19
48+
@version: 4.20
4949
@include "scl.conf"
5050
5151
log {
@@ -85,7 +85,7 @@ docker pull ghcr.io/axoflow/axosyslog:nightly
8585
> Note: These named packages are automatically updated when a new AxoSyslog package is released. To install a specific version, run `docker pull ghcr.io/axoflow/axosyslog:<version-number>`, for example:
8686
>
8787
> ```shell
88-
> docker pull ghcr.io/axoflow/axosyslog:4.19.1
88+
> docker pull ghcr.io/axoflow/axosyslog:4.20.0
8989
> ```
9090
9191
The container images contain a default configuration file which you probably

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.19.1
1+
4.20.0

contrib/openbsd-packaging/syslog-ng.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This should provide behavior similar to OpenBSD's syslog.conf(5).
33
# 2021-05-24 millert@openbsd.org
44

5-
@version: 4.19
5+
@version: 4.20
66
@requires openbsd
77

88
options {

doc/man/dqtool.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>dqtool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -117,7 +117,7 @@ Mar 3 10:52:05 tristram localprg[1234]: seq: 0000011631, runid: 1267609923, sta
117117
<link linkend="syslog-ng.8"><command>syslog-ng</command>(8)</link>
118118
</para>
119119
<note version="5.0">
120-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.19 Administrator Guide</command></link></para>
120+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.20 Administrator Guide</command></link></para>
121121
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
122122
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
123123
</note>

doc/man/loggen.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>loggen</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -280,7 +280,7 @@
280280
<link linkend="syslog-ng.conf.5"><command>syslog-ng.conf</command>(5)</link>
281281
</para>
282282
<note version="5.0">
283-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.19 Administrator Guide</command></link></para>
283+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.37/administration-guide"><command>The 4.20 Administrator Guide</command></link></para>
284284
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
285285
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
286286
</note>

doc/man/pdbtool.1.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>pdbtool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -377,7 +377,7 @@
377377
</term>
378378
<listitem>
379379
<para>A pattern is added to the output pattern database if at least the specified percentage of log messages from the input logfile match the pattern. For example, if the input logfile contains 1000 log messages and the <parameter>--support=3.0</parameter> option is used, a pattern is created only if the pattern matches at least 3 percent of the log messages (that is, 30 log messages). If patternize does not create enough patterns, try to decrease the support value.</para>
380-
<para>Default value: <parameter>4.19</parameter></para>
380+
<para>Default value: <parameter>4.20</parameter></para>
381381
</listitem>
382382
</varlistentry>
383383
<varlistentry version="5.0">
@@ -467,7 +467,7 @@
467467
<link linkend="syslog-ng.8"><command>syslog-ng</command>(8)</link>
468468
</para>
469469
<note version="5.0">
470-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.19 Administrator Guide</command></link></para>
470+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.20 Administrator Guide</command></link></para>
471471
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
472472
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
473473
</note>

doc/man/persist-tool.1.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>persist-tool</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -130,7 +130,7 @@ affile_sd_curpos(/var/aaa.txt) OK</synopsis>
130130
<para><link linkend="syslog-ng.conf.5"> <command>syslog-ng.conf</command>(5)</link></para>
131131
<para><link linkend="syslog-ng.8"> <command>syslog-ng</command>(8)</link></para>
132132
<note version="5.0">
133-
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.19 Administrator Guide</command></link></para>
133+
<para>For the detailed documentation of see <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/index.html"><command>The 4.20 Administrator Guide</command></link></para>
134134
<para>If you experience any problems or need help with syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://lists.balabit.hu/mailman/listinfo/syslog-ng"><command>syslog-ng mailing list</command></link>.</para>
135135
<para>For news and notifications about of syslog-ng, visit the <link xmlns:ns1="http://www.w3.org/1999/xlink" ns1:href="https://syslog-ng.org/blogs/"><command>syslog-ng blogs</command></link>.</para>
136136
</note>

doc/man/secure-logging.7.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>secure-logging</refentrytitle>
3232
<manvolnum>7</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>
@@ -190,7 +190,7 @@ AgAAAAAAAAA=:5UVybnKL1EAbgC4CLfd8HpgurjREf4LEN61/yWHSD2hbXjRD4QmQdtbwguT1chzdItK
190190
# entries will be logged to a single file called /var/log/messages.slog
191191
#
192192
193-
@version: 4.19
193+
@version: 4.20
194194
@include "scl.conf"
195195
196196
source s_local {

doc/man/slogencrypt.1.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<refmeta>
3131
<refentrytitle>slogencrypt</refentrytitle>
3232
<manvolnum>1</manvolnum>
33-
<refmiscinfo class="version">4.19</refmiscinfo>
33+
<refmiscinfo class="version">4.20</refmiscinfo>
3434
<refmiscinfo class="source"/>
3535
</refmeta>
3636
<refnamediv>

0 commit comments

Comments
 (0)