I have the windows Server that the VM GrayLog is sitting on to start talking; my next question is how many machines can I connect to the GrayLog server using NxLog and how? I put the same nxlog.conf file on two windows PC and they are not talking. I am new to this process and I am just trying to learn the ropes.
What is it you exactly use nxlog for? What are your requirements? winlogbeat is used to ship windows events logs. filebeat will ship log files. Both beats are designed to try not dropping any event. The output beats->events requires logstash to acknowledge all logs being send. Events not being acknowledge will be resend. Plus both beats keep track of published events. If beats are restarted, they will continue where they left off.
nxlog -> logstash normally uses tcp and you try to push as fast as possible. The thing about plain TCP is, published events are not ACKed by logstash. Without ACK you can not really tell how far logstash has been in processing your events. On the other hand nxlogs has some event processing features yet missing in beats (event processing support has just been added for 5.0).
I have used nxlog for shipping IIS logs and event logs. I've replaced the service on one of my test machines with a package of filebeat+topbeat+winlogbeat and it has worked nicely thus far. My main concern at this point is over speed/performance
Let's say I have 10 different windows servers shipping logs to a single linux logstash instance, which log shipper (nxlog/beats) would you say is a heavier burden on the logstash instance? Would this even be noticeable?
I can't really say anything about differences regarding performance, resource usage. I'd expect tcp input in logstash to be somewhat faster, as no additional protocol overhead is involved + no latencies for waiting for logstash to ACK events (unless OS/network buffers fill up generating back-pressure on nxlog). In newer beats, one can enable pipelining requests to overcome some network and encoding latencies. By default beats->logstash uses compression. This requires some more CPU+buffers for encoding/decoding, but reduces network overhead (depending on content maybe by a factor of 6 or 7 if you're lucky). In logstash 2.4 and upcoming 5.0 release, the beats plugin was rewritten with lumberjack protocol being reimplemented in java based on netty, whereas TCP plugin is still ruby based. Beats->logstash uses JSON + adds quite an amount of meta-data (which can be filtered out in 5.0 release), adding some additional encoding/decoding overhead. Not sure about nxlog here.
But this results in:Couldn't parse Exec block at C:\Program Files (x86)\nxlog\conf\nxlog.conf:67; couldn't parse statement at line 67, character 39 in C:\Program Files (x86)\nxlog\conf\nxlog.conf; function 'delete()' does not exist or takes different arguments
Once installed, open the NXLog configuration file located at: C:\Program Files (x86)\nxlog\conf\nxlog.conf and paste this sample text into the file, adjusting the values for your account as necessary:
I'm trying to send this log to my syslog server and I want to combine these multiple lines to 1 line so I can easily grep/search for specific users or groups. I've read some of the documentation on nxlog's website regarding multiline but haven't found a specific config to put them all in 1 entry with a syslog header.
The scope of your question is very broad, I think to answer it we need more specifics. What are you using nxlog and emite for, and what do you hope to achieve by sending data to splunk (or sending it from splunk to the other tools)?
Hello, I found on the nxlog site, the integration steps for splunk: -user-guide/splunk.html
nxlog can output to a file, and sub-directories based on the source. A splunk UF/HF can monitor these and send them to the indexing tier. set the host to the path segment where the files are being written (the directory created for each source should be the hostname of the source). that way, splunk will assign the correct host to each event.
An event storm is a massive event generation in a short period of time. This might cause bandwidth issues on your network and/or performance issues on the Windows servers. Therefore, in the nxlog.conf file, USM Appliance configures NXLog to drop Windows events when the events per second (EPS) is 200 or higher. It will resume forwarding events as soon as the EPS returns to below 200.
If not done already, download patterndb.xml and nxlog.conf, and then place it in the conf directory of your NXLog installation. Depending on which version you use, the directory can be C:\Program Files (x86)\nxlog\conf\ for the 32-bit version or C:\Program Files\nxlog\conf\ for the 64-bit version.
nxlog is a modular, multi-threaded, high-performance log management solution with multi-platform support. In concept it is similar to syslog-ng or rsyslog but is not limited to unix/syslog only. It can collect logs from files in various formats, receive logs from the network remotely over UDP, TCP or TLS/SSL . It supports platform specific sources such as the Windows Eventlog, Linux kernel logs, Android logs, local syslog etc. Writing and reading logs to/from databases is also supported.
I have Ms SYSMON running on a majority of my clients and grabbing it all with WEC, but mine is gong to LogRhythm and not Chronicle SIEM. But in theory it should work as in previous position I did the same with nxlog grabbing sysmon to an ELK stack.
Now for simplicity, you can just use swiftonsecurity sysmon config. But if you want granular control, I recommend Olaf Hartong's.