nxlog(8)

NAME

nxlog - collects, processes, converts, and forwards telemetry data in many different formats

SYNOPSIS

nxlog [-c conffile] [-f]

nxlog [-c conffile] -v

nxlog [-r | -s]

DESCRIPTION

NXLog Agent is a telemetry data collector and forwarder capable of processing high volumes of data. It supports filtering, normalizing, correlating, and converting data between different formats. Additionally, it provides features for scheduling tasks, rotating log files, buffering, and pattern-matching. NXLog Agent uses a modular architecture, so you only need to load the input, output, and extension modules that you need.

The details provided here primarily apply to NXLog Agent installations on Linux and UNIX systems. However, NXLog Agent can also be installed on Windows, and some Windows-specific notes are included.

OPTIONS

-c conffile, --conf conffile

Specify an alternative configuration file conffile. To change the NXLog Agent configuration file on Windows, modify the nxlog service parameters.

-f, --foreground

Run in the foreground instead of as a service.

-q, --quiet

Suppress output to STDOUT/STDERR.

-h, --help

Print help.

-r, --reload

Reload the configuration of a running instance.

-s, --stop

Send a stop signal to a running instance.

-v, --verify

Verify the configuration file syntax.

SIGNALS

You can control the NXLog Agent process by sending it the following signals. Some of the signals are also supported on Windows; these are shown in parentheses where applicable.

SIGHUP

Reload the NXLog Agent configuration and restart the module instances. On Windows, use sc stop nxlog and sc start nxlog instead.

SIGUSR1 (200)

Write an INFO message to the LogFile containing the current NXLog Agent status. The message will also be available via the Internal (im_internal) module.

SIGUSR2 (201)

Switch NXLog Agent to debug log level. This is equivalent to setting the LogLevel directive to DEBUG but does not require an NXLog Agent restart.

SIGINT/SIGQUIT/SIGTERM

Stop NXLog Agent. On Windows, use sc stop nxlog instead.

On Linux/UNIX, you can send a signal to a process with the kill command. For example, the following command sends the SIGUSR1 signal:

kill -SIGUSR1 $(cat /opt/nxlog/var/run/nxlog/nxlog.pid)

The equivalent on Windows is the sc command. For example, the following command sends the 200 signal:

sc control nxlog 200

FILES

/opt/nxlog/bin/nxlog

The main NXLog Agent executable.

/opt/nxlog/bin/nxlog-stmnt-verifier

A tool to check NXLog language statements. It reads statements from the standard input stream and validates them. If a statement is invalid, the tool prints an error to the standard error stream and exits with a non-zero value.

/opt/nxlog/etc/nxlog.conf

The default configuration file.

/opt/nxlog/lib/nxlog/modules

The NXLog Agent modules are located in this directory by default. See the ModuleDir directive.

/opt/nxlog/spool/nxlog

If PersistLogqueue is set to TRUE, module queues are stored in this directory. See also LogqueueDir and SyncLogqueue.

/opt/nxlog/spool/nxlog/configcache.dat

The cache file that stores the last read position. See the NoCache, CacheDir, CacheFlushInterval, and CacheSync directives.

/opt/nxlog/var/run/nxlog/nxlog.pid

The process ID (PID) of the currently running NXLog Agent process is written to this file. See the PidFile directive.

ENVIRONMENT

To access environment variables from the NXLog Agent configuration, use the envvar directive.

SEE ALSO

Copyright © NXLog Ltd. 2025

A commercial license is required to use NXLog Agent. Visit the NXLog website for more information.