System requirements for installing NXLog Platform on Linux

The system requirements of NXLog Platform depend on the number of log-collecting agents that you plan to connect and your log storage needs.

The following sections provide initial resource provisioning guidelines for the different deployment sizes supported by NXLog. After completing the deployment, we recommend monitoring resource usage and increasing resources as necessary to ensure NXLog Platform runs smoothly.

Supported operating systems

You can deploy NXLog Platform on the following operating systems:

  • Debian 12, 13

  • Oracle Linux (OL) 9

  • Red Hat Enterprise Linux (RHEL) 8, 9

  • Rocky Linux 9

  • SUSE Linux Enterprise Server (SLES) 15

  • Ubuntu 22.04, 24.04

If you intend to use SELinux, you must make sure that it is installed and active before deploying NXLog Platform on the host machine.

CPU and RAM requirements

NXLog Platform provides several deployment sizes depending on the number of agents that you run or plan to run in your environment. The table below lists the minimum CPU and memory requirements of the host machine depending on the deployment size.

  • The Managed agents column represents the maximum number of agents supported by the agent management capability of NXLog Platform. Note that the number of agents sending logs to NXLog Platform can be lower or higher than that number depending on your data collection architecture.

  • CPUs must have an x86_64 architecture and support Advanced Vector Extensions 2 (AVX2) instructions. If you use virtualization, ensure that your hypervisor’s BIOS supports AVX2 and that the hypervisor allows AVX2 pass-through to the guest OS.

    To verify that AVX2 instructions are present, run the following command on the machine where you are deploying NXLog Platform:

    $ grep -io -m1 avx2 /proc/cpuinfo
    avx2
  • The RAM requirements depend on whether NXLog Platform will be used to store log data or not, as the built-in log storage database uses more memory to support high log ingestion rates. The values listed on the table are for the exclusive use of NXLog Platform, meaning that you must provision additional RAM for the operating system and any other applications running alongside NXLog Platform on the host machine. You will choose to store log data or not during the NXLog Platform installation process.

Table 1. NXLog Platform deployment sizes
Deployment size Managed agents CPU cores RAM
without log storage
RAM
with log storage

small

up to 1,000

2

11 GB

19 GB

medium

1,001 to 10,000

3

14 GB

22 GB

large

10,001 to 50,000

4

19 GB

43 GB

xlarge

50,001 to 100,000

8

38 GB

54 GB

Storage requirements

Ensure that the following storage is available on the machine before you start deploying NXLog Platform. These directories can reside on separate partitions, so ensure that each one independently has at least the listed amount of free space.

Directory Minimum free space Used for

/var/lib/containers/storage/

30 GB

Container image storage.

/var/log/

10 GB

NXLog Platform system logs. Usage scales with the number of agents; allocate more space and rotate the systemd journal and syslog logs if you expect a lot of activity.

/var/

1 GB

Other files outside the directories above.

/usr/

1 GB

Dependency OS packages.

/srv/nxp/data

10 GB

Default location for NXLog Platform data and agent logs, configurable at install time. Ideally, store this directory on a dedicated disk or partition.

We recommend using ext4 as the filesystem for this directory. ext4 is a reliable, well-supported choice for ClickHouse’s write-heavy, merge-intensive workload. Avoid filesystems that use copy-on-write (CoW), such as Btrfs, for log storage, as CoW causes write amplification and fragmentation under sustained log ingestion, degrading performance over time. See the ClickHouse filesystem recommendations for other supported filesystems.

Total

52 GB

Network requirements

NXLog Platform runs as a set of containers that communicate with each other within an internal Podman bridge network on the host machine.

Ensure that the deployment machine and your network are set up as follows:

  • The machine has a static IP address.

  • The local network 10.89.0.0/24 is free to use and reserved for the NXLog Platform container services.

    If needed, you can change the network used by the NXLog Platform containers after installation since the containers communicate with each other using the hostname. These changes require a reboot to take full effect.

  • Both your organization firewall and the host machine firewall allow the ports and hostnames described in the table below. Additionally, ensure that forwarded TCP traffic is allowed to reach the internal NXLog Platform container network.

    If you are using Debian or Ubuntu with UFW turned on, the NXLog Platform installation process configures the host machine firewall automatically with the inbound rules in the table below. However, you are still responsible for configuring any additional firewall rules, such as allowing SSH access to the host machine or any other services running there.

    We do not recommend turning off the firewall on production systems.
Direction Service Description

Inbound

443/TCP

HTTPS endpoint for the NXLog Platform user interface.

5515/TCP

Agent management.

5514/TCP

Ingestion of logs sent by agents.

Outbound

{53|custom}/TCP

{53|custom}/UDP

DNS services. Change the port number if you are running your organization’s DNS server on another port.

{25|465|587|custom}/TCP

SMTP port for sending NXLog Platform email notifications, such as new user invitations. Depending on your SMTP server, allow either port 25, 465, 587, or a custom port.

platform.nxlog.co:443/TCP

NXLog Customer Portal for customer registration and management of the customer’s organizations, subscriptions, and invoices.
NXLog Platform requires access to the Customer Portal to validate the active subscriptions and license usage.

nxlogacr.azurecr.io:443/TCP

*.blob.core.windows.net:443/TCP

Microsoft Azure Container Registry and Microsoft Azure Blob Storage.
Used for pulling the NXLog Platform container images from the NXLog container registry.

nxlog-artifacts-prod.fra1.digitaloceanspaces.com:443/TCP

nxlog-solution-pack-integration-bucket.fra1.digitaloceanspaces.com:443/TCP

DigitalOcean Spaces CDN.
Used for downloading the NXLog Platform and NXLog Agent installation packages and dynamically fetching the most recent versions of NXLog Platform configuration templates.

{*.debian.org|custom}:80/TCP

{*.debian.org|custom}:443/TCP

Debian only.

Official Debian APT system repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

{*.oracle.com|custom}:80/TCP

{*.oracle.com|custom}:443/TCP

Oracle Linux only.

Official Oracle Linux software repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

{*.redhat.com|custom}:80/TCP

{*.redhat.com|custom}:443/TCP

RHEL only.

Official Red Hat Enterprise Linux software repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

{*.rockylinux.org|custom}:80/TCP

{*.rockylinux.org|custom}:443/TCP

Rocky Linux only.

Official Rocky Linux software repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

{*.suse.com|custom}:80/TCP

{*.suse.com|custom}:443/TCP

SLES only.

Official SUSE Linux Enterprise Server software repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

{*.ubuntu.com|custom}:80/TCP

{*.ubuntu.com|custom}:443/TCP

Ubuntu only.

Official Ubuntu APT system repositories. Depending on your configuration, for example when using custom repository mirrors, you may need to allow access to different hostnames.
Used for downloading host OS software dependencies.

SMTP server requirements

Important NXLog Platform features such as creating user accounts and resetting account passwords rely on email. Ensure that you have the details of your organization’s SMTP server available, including network address, port number, and credentials in case of authenticated SMTP.

NXLog Platform supports plain-text, TLS/SSL, and STARTTLS SMTP communication. It uses a self-signed certificate for TLS. Ensure that your SMTP server accepts self-signed certificates or install an SMTP relay that does.

Service account requirements

In some environments, IT security requirements or compliance mandates forbid the long-term use of root privileges to run software applications on Linux. The steps below walk you through creating a service account with the least privileges to install and manage NXLog Platform. We tested this procedure on RHEL and Ubuntu.

  1. Make sure you have root level privileges on the target computer, and decide on a username and group name for the service account. We use nxp for the username and nxpgroup for the group name in the steps below. You may change these to suit your environment.

  2. Create the nxpgroup group and nxp user. You will use these dedicated accounts to manage NXLog Platform.

    $ sudo groupadd -g 900 nxpgroup
    $ sudo useradd -m -g nxpgroup -s /bin/bash nxp
    $ sudo passwd nxp
  3. Next, create a sudoers file to grant access to the necessary commands to the service account.

    $ sudo nano /etc/sudoers.d/99-nxpgroup
  4. Copy the following configuration to the new file:

    Cmnd_Alias NXP = /usr/bin/nxp_manage.sh, /usr/bin/journalctl, /bin/nano /etc/nxp.conf, /bin/vi /etc/nxp.conf
    Cmnd_Alias NXP_INSTALL = <installer_path>/nxp-*.sfx.sh
    %nxpgroup ALL = NXP, NXP_INSTALL

    Replace <installer_path> with the correct path to the directory containing the NXLog Platform installer file, and save the file.

    Optionally, you can replace /bin/nano or /bin/vi with your favorite text editor.

You can now install NXLog Platform using the nxp user account. See Install NXLog Platform for instructions.

After you install NXLog Platform, test that you can manage it by running the following command. If access is configured correctly, the command should return similar output (the help section is truncated in the example):

$ sudo /usr/bin/nxp_manage.sh help

Usage:
  sudo nxp_manage.sh 

General
  help                       Display this help.
  apply                      Apply the updated configurations in master.cnf.sh and run NXLog Platform.

[...]

NXLog Agent compatibility

NXLog Platform currently supports the following NXLog Agent versions:

  • NXLog Agent 5.10 or later.

  • NXLog Agent 6.2 or later.

Consider regularly updating your agents, as each NXLog Agent version provides new features that improve the compatibility with NXLog Platform. For example, NXLog Agent 6.4 and later versions support auto-enrollment to NXLog Platform on installation, greatly simplifying the agent enrollment process.