Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Dec 01 21:43
    MrAnno commented #4173
  • Dec 01 19:21
    bazsi ready_for_review #4211
  • Dec 01 19:20
    bazsi edited #4211
  • Dec 01 19:20
    bazsi commented #4211
  • Dec 01 19:18
    bazsi synchronize #4211
  • Dec 01 18:29
    kira-syslogng commented #4173
  • Dec 01 17:50
    MrAnno commented #4209
  • Dec 01 17:49
    MrAnno commented #4209
  • Dec 01 17:48
    MrAnno commented #3785
  • Dec 01 17:39
    MrAnno commented #4209
  • Dec 01 17:39
    MrAnno commented #4209
  • Dec 01 17:31
    bazsi synchronize #4173
  • Dec 01 16:40
    bazsi edited #4173
  • Dec 01 16:40
    bazsi edited #4214
  • Dec 01 16:19
    MrAnno review_requested #4173
  • Nov 30 17:16
    HofiOne synchronize #4209
  • Nov 30 17:15
    HofiOne synchronize #4209
  • Nov 30 14:34
    kira-syslogng commented #4209
  • Nov 30 14:20
    HofiOne synchronize #4209
  • Nov 30 14:19
    HofiOne synchronize #4209
Balazs Scheidler
Just use the list type hint
1 reply
Fabien Wernli
rpasche: FWIW you could also use an Elasticsearch ingest pipeline : https://www.elastic.co/guide/en/elasticsearch/reference/7.15/split-processor.html
2 replies
Fabien Wernli
we like to do most in syslog-ng too, but when we have json upstream, we don't want syslog-ng to mess up its types, so we use ingest pipelines to parse the json in ES
just for the record: I understand your use-case

I am an assistant professor at Beihang University. Our team is doing a study about GSoC mentors, aiming to understand the motivations, challenges, strategies, and gains of GSoC mentors. To this end, we designed a questionnaire. We sincerely invite GSoC mentors to participate in this survey. Your feedback is very important for us.

Questionnaire link: https://forms.gle/rgAWwmrvrCb5XdAq9

If you are interested in this study, welcome to join our follow-up interview! Thank you very much!


Xin Tan

2 replies
hi guys im getting an issue on syslog-ng version 3.23.1 where logs are not written to the disk. I've spent a lot of time troubleshooting but had no luck. Would love some insight or assistance from the community if you guys may have any recommendations. Sorry for the trouble. And thank you so much
6 replies
Wojciech Adam Koszek
Imagine you're building a hobby project. You don't want to invest in Logstash'es and Kibanas. You love syslog-ng however. What's the easiest way to get some dashboard for logs?
To give you an example: modern tool to get web stats could be Grafana or something, but one can use Webalizer tool that has 1995 look, but does the job. I wonder if there's some 1995 tool that just works and gives me simple querability without all the maintenance
2 replies
Fabien Wernli
I'm guessing grafana/loki would be the most straightforward route nowadays
Peter Czanik
if you do not mind closed source and do not need scalability in the long run, I liked SEQ, when I tested it a while ago: https://www.syslog-ng.com/community/b/blog/posts/creating-a-new-http--based-syslog-ng-destination-seq
1 reply
Fabien Wernli
Hi I'm getting a json parsing error that I don't understand: https://gist.github.com/faxm0dem/463d632d2f4031d8236f3294a04a98f6
I'm guessing it's the NaN it doesn't like
Fabien Wernli
yeah that was it
sorry for the noise
syslog-ng 3 (3.35.1)
looks like cisco parser is not working
and when I introduce syslog traffic from my network through the cisco parser, nothing comes out

Basic config elements look like this:

source s_ciscoudp { udp (ip("") port(5140) flags(no-parse,store-raw-message)); };
destination d_raw { file("/var/log/raw" template("${RAWMSG}\n")); };
destination d_fromcisco { file("/etc/syslog-ng/fromcisco" template(t_jsonfile)); };

template t_jsonfile {
template("$(format-json --scope rfc5424 --scope dot-nv-pairs
--rekey .* --shift 1 --scope nv-pairs --key ISODATE)\n\n");

parser p_cisco {

log { source(s_ciscoudp); destination(d_raw); parser(p_cisco); destination(d_fromcisco); };

and i am getting the traffic into syslog-ng
destination d_raw works, raw messages get written
but nothing happens afterwards
Any ideas on how to find out whats wrong
Fabien Wernli
svestenik: hi
1 reply
you might have more clues when activating the internal() source
it will output internal logs of syslog-ng
if that doesn't give you any more clues, use the debug mode
syslog-ng -evdf /etc/syslog-ng/syslog-ng.conf
Gábor Nagy
Hi @svestenik What @faxm0dem suggested is a good idea: you need to know where is your message dropped.
Since you have a relatively simple log path with two destinations and a parser, I suspect the message is dropped in the p_cisco cisco-parser.
Cisco parser drops the message if it's format doesn't match a supported cisco format.
Ohh, sorry, you already figured that out...
Fabien Wernli
svestenik: you can also send us an example out of your raw log so we can check on our side
Gábor Nagy
We need to see what kind of messages are dropped by the cisco-parser. Can you show us an example, please?
17 replies
cisco-parser supports the following format:
<pri>(sequence: )?(origin-id: )?(timestamp? timezone?: )?%msg
i want to contribute to your oragnization.what is the procedure to setup your project .what should i follow?
Gábor Nagy
Hello @dvlsatya !
We are more than happy to receive contributions from the community! :)
At first I suggest to compile syslog-ng.
You have several options: you can use our docker-based infrastructure and then you don't have to setup a build environment on your computer.
Here is a short description about the usage the docker-based build system (dbld):
What kind of contribution do you have in mind?
Where can i find open issue or fields open for contribution
1 reply
Fabien Wernli
I just updated to debian/bullseye, and the latest syslog-ng-master says `Required bison not found /home/fwernli/git/syslog-ng/build/lib/rewrite/rewrite-expr-grammar.y
I've got `bison (GNU Bison) 3.7.5
ah I see the warning now in the configure script that I need at least 3.7.6
back to yak shaving then
Fabien Wernli
That one's been fun
I have created a new syslog configuration file in /opt/syslog-ng/etc/conf.d.
I have created one source and destination file inside script /var/log/myfile.txt
For some reason i have changed the destination file to myfile1.txt inside the configuration and reloaded the config file.
Though i have deleted myfile.txt, still is it there and updated with the same data as myfile1 has. I have deleted myfile.txt multiple times but still creating. Could someone please help on this?
Gábor Nagy
Hi @deepulikesbru!
That sounds strange. Syslog-ng writes to the new file after the reload.
Can you share with us the actual config, please?
Does the old file (myfile.txt) have the same content like the new myfile1 file after it's been re-created? Does it have the old myfile.txt contents as well?
I cant share the contents of those files.
@gaborznagy I removed the config file and created with different file names again inside the config file with mytext2.txt and deleted myfile.txt and myfile1.txt before reloading. I did see the files myfile.txt and myfile1.txt again after some time. Why these files are creating again after sometime though i have deleted the files? What could be the issue? Does syslog has internally anything to clear the buffer ??
László Várady
@deepulikesbru What syslog-ng version are you using?
A reload reinitializes the pipeline, so you should not see that file recreated if you previously removed that from the configuration, unless your configuration is invalid. In case the config is invalid, syslog-ng reverts back to the previous configuration.

source s_src {
follow-freq(10) );


template app_test_struc {
template("${DATE} | From ${HOST_FROM} | ${PRIORITY} | ${MSGHDR}${MSG}\n");

destination d_des {
file("/var/log/myfile2.txt" template(app_test_struc));

log {source(s_src); destination(d_des); };

@MrAnno @gaborznagy
Above is the config file, When i try to give another file name say myfile3 after some testing, the deleted files also exist in the /var/log along with newly created log myfile3.