syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
MrAnno on master
kubernetes: add warning for Api… Merge pull request #4305 from a… (compare)
HofiOne on master
systemd-journal: fix --with-sys… Merge pull request #4304 from H… (compare)
log {
source(whatever);
parser { db-parser(file('ironport.xml')); };
log {
filter { <match only iron port logs...>; };
if ('${CID}' ne '') {
parser { grouping-by(<CID aggregation options> inject-mode(passthrough)); };
};
if ('${MID}' ne '') {
parser { grouping-by(<MID aggregation options> inject-mode(passthrough)); };
};
if (<match aggregated message from either CID or MID based aggregation>) {
parser { grouping-by(<MID + CID result aggregation> inject-mode(passthrough)); };
};
filter { <match only aggregated logs emitted by the last grouping-by()>); };
};
destination(whatever);
};
I am having problems with getting shared libraries to load. I am running rsyslog (corporate standard with a config I can't change) and syslog-ng (for my stuff) on an ubuntu 20.04 system
I have installed syslog-ng from the "unofficial" packages in /usr/local
and fiddled with the systemd config to get the libraries loaded and it was all working.
now something has changed and I get the error:
Jan 18 08:01:45 secmgrprd01 syslog-ng[1831033]: Error parsing source statement, source plugin network not found in /etc/syslog-ng/conf.d/eset.conf:2:9-2:16:
Jan 18 08:01:45 secmgrprd01 syslog-ng[1831033]: 1 source s_eset {
Jan 18 08:01:45 secmgrprd01 syslog-ng[1831033]: 2-----> network(transport("tcp") port(5514) keep-alive(yes) max_connections(2));
Jan 18 08:01:45 secmgrprd01 syslog-ng[1831033]: 2-----> ^^^^^^^
Jan 18 08:01:45 secmgrprd01 syslog-ng[1831033]: 3 };
I assume the issue is that syslog-ng is not finding the library with the source network plugin.
I have these vars set in /etc/default/syslog-ng
SYSLOGNG_OPTS="--control /var/lib/syslog-sec/syslog-ng.ctl --module-path /usr/local/lib/syslog-ng/3.31 --persist-file /var/lib/syslog-sec/syslog-ng.persist --pidfile /var/lib/syslog-sec/syslog-ng.pid"
LD_LIBRARY_PATH="/usr/local/lib/syslog-ng"
Any thoughts on what might be wrong?
Error opening plugin module; module='afsocket', error='libnet.so.1: cannot open shared object file: No such file or directory'
The affile module provides file source & destination support for syslog-ng.
history
is not helpful). Then it started loading the config and barfing on the network plugin. THat was a week ago and I have just got back to it.
Jan 22 08:29:04 secmgrprd01 syslog-ng[2218448]: syslog-ng starting up; version='3.35.1'
Jan 22 08:30:34 secmgrprd01 syslog-ng[2218448]: syslog-ng shutting down; version='3.35.1'
Jan 22 08:30:34 secmgrprd01 syslog-ng[2218448]: Child program exited, restarting; cmdline='/usr/local/tools/dev/siem_logging/bin/syslog-ng-es.rb -vv --debug source --user sensors --source loghost', status='15'
./dbld/rules pull-image-devshell
, this should download the "devshell" image from the docker registry. If you use image-devshell
argument it would build it locally.
./dbld/rules shell
, this will land you in an environment where all the build tools required for syslog-ng are already installed.
/build
directory and run /dbld/bootstrap
make
, you can install binaries within the docker container using make install
/install
directory within the container.
/install/sbin/syslog-ng -Fe
this should launch syslog-ng with the default configuration (which is installed into /install/etc
)
apt
. The nasty bit is that systemctl start syslog-ng
fails with a totally obscure error message Failed with result 'protocol'.
. I eventually decided that this was ubuntu refusing to start syslog-ng because rsyslog was installed.
I'm fighting with some crazy vmware logsource and my filter is quite good, filtering out logs cannot be processed by my SIEM based on the program field (in-list filter). Unfortunately there are lots of messages dumped by this sytem with no real syslog structure (like tomcat java dumps). I wonder if there is any way to filter messages where for example program field not exists
here is an example message
<14>Feb 16 12:11:19 10.254.255.230 at com.vmware.vapi.protocol.server.msg.json.JsonServerConnection.processApiRequest(JsonServerConnection.java:396)