NXLog Docs

Red Hat Enterprise Linux

This section describes the steps for installing and upgrading NXLog on Red Hat Enterprise Linux (RHEL) and its derivatives.

In the past, we advertised support for CentOS due to its close relationship with Red Hat Enterprise Linux. However, our packages are only tested on RHEL systems. We cannot guarantee that RHEL packages will work on any other systems.

Distributions that are binary compatible with RHEL (Alma Linux, Rocky Linux, older CentOS Linux versions) will be able to use our packages, but they are not officially supported by NXLog.

Installing NXLog

First, download the appropriate NXLog installation file from the NXLog website.

  1. Log in to your account, then click My account at the top of the page.

  2. Under the Downloads > NXLog Enterprise Edition files tab, download the correct file for the target platform.

    Table 1. Available RHEL NXLog files
    Platform Archive

    RHEL 6

    nxlog-6.2.9212_rhel6_x86_64.tar.bz2

    RHEL 7

    nxlog-6.2.9212_rhel7_x86_64.tar.bz2

    RHEL 8

    nxlog-6.2.9212_rhel8_x86_64.tar.bz2

    RHEL 9

    nxlog-6.2.9212_rhel9_x86_64.tar.bz2

    Generic RPM

    nxlog-6.2.9212_generic_rpm_x86_64.rpm

    The RHEL 6, RHEL 7, RHEL 8, and RHEL 9 archives above each contain several RPMs (see NXLog packages in a RHEL archive below). These RPMs have dependencies on system-provided RPMs.

    The generic RPM above contains all the libraries (such as libpcre and libexpat) that are needed by NXLog. The only dependency is libc. However, some modules are not available (im_checkpoint, for example). The advantage of the generic RPM is that it can be installed on most RPM-based Linux distributions.

  3. Transfer the file to the target server using SFTP or a similar secure method.

  4. Log in to the target server and extract the contents of the archive (unless you are using the generic package):

    # tar -xf nxlog-6.2.9212_rhel7.x86_64.tar.bz2
    Table 2. NXLog packages in a RHEL archive
    Package Description

    nxlog-6.2.9212_rhel7.x86_64.rpm

    The main NXLog package

    nxlog-checkpoint-6.2.9212_rhel7.x86_64.rpm

    Provides the im_checkpoint module

    nxlog-dbi-6.2.9212_rhel7.x86_64.rpm (available for RHEL 6 and RHEL 7 only)

    Provides the im_dbi and om_dbi modules

    nxlog-java-6.2.9212_rhel7.x86_64.rpm

    Provides the xm_java, im_java, and om_java modules

    nxlog-kafka-6.2.9212_rhel7.x86_64.rpm

    Provides the im_kafka and om_kafka modules

    nxlog-odbc-6.2.9212_rhel7.x86_64.rpm

    Provides the im_odbc and om_odbc modules

    nxlog-pcap-6.2.9212_rhel7.x86_64.rpm

    Provides the im_pcap module

    nxlog-perl-6.2.9212_rhel7.x86_64.rpm

    Provides the xm_perl, im_perl, and om_perl modules

    nxlog-python-6.2.9212_rhel7.x86_64.rpm

    Provides the xm_python, im_python, and om_python modules

    nxlog-ruby-6.2.9212_rhel7.x86_64.rpm

    Provides the xm_ruby, im_ruby, and om_ruby modules

    nxlog-systemd-6.2.9212_rhel7.x86_64.rpm

    Provides the im_systemd module

    nxlog-wseventing-6.2.9212_rhel7.x86_64.rpm

    Provides the im_wseventing module

    nxlog-zmq-6.2.9212_rhel7.x86_64.rpm

    Provides the im_zmq and om_zmq modules

    1. Optional: To change the NXLog user and group for the installation, set the NXLOG_USER and NXLOG_GROUP environment variables. During installation, a new user and a new group will be created based on these environment variables. They will be used for User and Group directives in nxlog.conf, and for the ownership of some directories under /opt/nxlog. Specifying an already existing user or group is not supported. The created user and group will be deleted on NXLog removal.

      # export NXLOG_USER=nxlog2
      # export NXLOG_GROUP=nxlog2
  5. Download the public key file from the NXLog’s public contrib repository and import it to the RPM database.

    # rpm --import nxlog-pubkey.asc

    For more details about the package verification, see the Signature Verification for RPM Packages section in the User Guide.

  6. If you are installing the nxlog-zmq package, enable the EPEL repository so ZeroMQ dependencies will be available:

    # yum install -y epel-release
  7. Use yum to install the required NXLog packages (or the generic package) and dependencies.

    # yum install nxlog-6.2.9212_rhel7.x86_64.rpm
  8. Configure NXLog by editing /opt/nxlog/etc/nxlog.conf. General information about configuring NXLog can be found in Configuration. For more details about configuring NXLog to collect logs on Linux, see the GNU/Linux summary.

  9. Verify the configuration file syntax.

    # /opt/nxlog/bin/nxlog -v
    2017-03-17 08:05:06 INFO configuration OK
  10. Start the service using the service command:

    # service nxlog start
  11. Check that the NXLog service is running.

    # service nxlog status
    nxlog (pid  9218) is running...

Upgrading NXLog

To upgrade an NXLog installation to the latest release, or to replace a trial installation of NXLog Enterprise Edition with a licensed copy, use yum as in the installation instructions above. It is recommended to make a backup of the configuration files before starting this process.

# yum install nxlog-6.2.9212_rhel7.x86_64.rpm
The same procedure is used to upgrade from NXLog Community Edition to NXLog Enterprise Edition. However, in such a case, you will need to manually copy the previous configuration to the new installation.
The same user and group will be used for the upgrade as was used for the original installation (see installation user and group above). Changing to a different user and group during an upgrade is not supported.

Uninstalling NXLog

To uninstall NXLog, use yum remove. To remove any packages that were dependencies of NXLog but are not required by any other packages, include the --setopt=clean_requirements_on_remove=1 option. Verify the operation before confirming!

# yum remove 'nxlog-*'
This procedure may not remove all files that were created while configuring NXLog. Likewise, any files created as a result of NXLog’s logging operations will not be removed. To find these files, examine the configuration files that were used with NXLog and check the installation directory (/opt/nxlog).