ah, kozben meglett
https://github.com/syslog-ng/syslog-ng/pull/5441

koszi a jelzest!
udv

—————————————————
Hoffmann Istvan
On Aug 25, 2025 at 11:16 +0200, Peter Czanik (pczanik) <Peter.Czanik@oneidentity.com>, wrote:
Hi Gyula,

Thanks for the report! I talked to the developer, who worked on it, and it is not a known issue. Please open a GitHub issue at https://github.com/syslog-ng/syslog-ng/issues/ for easier tracking, and also attach a minimal configuration to reproduce the problem, together with some information about your environment (number of log source hosts, message rate, etc.).

Thanks,
Peter

Peter Czanik (CzP) <peter.czanik@oneidentity.com>
Balabit (a OneIdentity company) / syslog-ng upstream
https://syslog-ng.com/community/
https://twitter.com/PCzanik


From: Kerekes Gyula <gyula@harcinyul.hu>
Sent: Friday, August 22, 2025 10:35
To: syslog-ng@lists.balabit.hu <syslog-ng@lists.balabit.hu>
Subject: [syslog-ng]Re: syslog-ng version 4.9.0 is now available
 
CAUTION: This email originated from outside of the organization. Do not follow guidance, click links, or open attachments unless you recognize the sender and know the content is safe.

Hi,


I tried this stats exporter-dont-log() feature and it works well but it seems like it has a mem leak somewhere. I tried to switch off the prometheus data collection to one of the syslog-ng hosts and the mem consumption stayed fairly low. On the other hand all the others used 1-2 gigs of RSS mem. Is it a known issue?


Gyula


2025. 07. 17. 15:19 keltezéssel, Peter Czanik (pczanik) írta:
Hi,

I am happy to announce that version 4.9.0 of syslog-ng is now available. Thanks everyone who contributed code, documentation, testing, or in any other way.

Peter

4.9.0
Highlights
  • stats-exporter: Added two new sources, stats-exporter() and stats-exporter-dont-log(), which directly serve the output of syslog-ng-ctl stats and syslog-ng-ctl query to a http scraper. The only difference is that stats-exporter-dont-log() suppresses log messages from incoming scraper requests, ensuring no messages appear in the log path. Meanwhile, stats-exporter() logs unparsed messages, storing incoming scraper HTTP requests in the MSG field.
    Example usage for a Prometheus Scraper which logs the HTTP request of the scraper to /var/log/scraper.log:
    @version: 4.9
    @include "scl.conf"
    
    source s_prometheus_stat {
        stats-exporter(
            ip("0.0.0.0")
            port(8080)
            stat-type("query")
            stat-query("*")
            scrape-freq-limit(30)
            single-instance(yes)
        );
    };
    
    log {
        source(s_prometheus_stat);
        destination { file(/var/log/scraper.log); };
    };
    
Example usage for a generic HTTP Scraper which sends e.g. the GET /stats HTTP/1.1 HTTP request to get statistics of syslog-ng, do not want to log or further process the HTTP requests in the log pipe, and needs the response in CSV format:
@version: 4.9
@include "scl.conf"

source s_scraper_stat {
    stats-exporter-dont-log(
        ip("0.0.0.0")
        port(8080)
        stat-type("stats")
        stat-format("csv")
        scrape-pattern("GET /stats*")
        scrape-freq-limit(30)
        single-instance(yes)
    );
};

log {
    source(s_scraper_stat);
};
Note: A destination is not required for this to work; the stats-exporter() source will respond to the scraper regardless of whether a destination is present in the log path.
Available options:
stat-type(string) - query or stats, just like for the syslog-ng-ctl command line tool, see there for the details
stat-query(string) - the query regex string that can be used to filter the output of a query type request
stat-format(string) - the output format of the given stats request, like the -m option of the syslog-ng-ctl command line tool
scrape-pattern(string) – the pattern used to match the HTTP header of incoming scraping requests. A stat response will be generated and sent only if the header matches the pattern string
scrape-freq-limit(non-negative-int) - limits the frequency of repeated scraper requests to the specified number of seconds. Any repeated request within this period will be ignored. A value of 0 means no limit
single-instance(yes/no) - if set to yes only one scraper connection and request will be allowed at once
(#5259)