System requirements for installing NXLog Platform in an air-gapped environment
|
Air-gapped deployment is currently a beta feature available to Premium customers. Contact NXLog Support for more information. |
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.
| Deployment size | Managed agents | CPU cores | RAM without log storage |
RAM with log storage |
|---|---|---|---|---|
|
up to 1,000 |
2 |
11 GB |
19 GB |
|
1,001 to 10,000 |
3 |
14 GB |
22 GB |
|
10,001 to 50,000 |
4 |
19 GB |
43 GB |
|
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 |
|---|---|---|
|
40 GB |
Installation files; base directory |
|
30 GB |
Container image storage. |
|
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. |
|
1 GB |
Other files outside the directories above. |
|
1 GB |
Dependency OS packages. |
|
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 |
92 GB |
Software dependencies
The following software packages must be installed on the host machine before running the NXLog Platform installer.
Standard utilities:
-
make -
curl -
jq -
tar -
yum-utils(RHEL 8 only)
Container runtime:
-
podman3.x or later -
podman-dockerInstalling Docker alongside Podman can cause the NXLog Platform installation to fail because the installer relies on the
dockercommand to run Podman. Thepodman-dockerpackage ensures this redirect. -
containernetworking-pluginsversion1.1.1or later (Ubuntu 22.04 only)The minimum required version of
containernetworking-pluginsis not available in the Ubuntu 22.04 standard package repositories. Install the required version manually:$ curl -SL -O http://archive.ubuntu.com/ubuntu/pool/universe/g/golang-github-containernetworking-plugins/containernetworking-plugins_1.1.1+ds1-3build1_amd64.deb $ sudo dpkg -i containernetworking-plugins_1.1.1+ds1-3build1_amd64.deb -
Docker Compose v5.x
Docker Compose v5 is not available in the standard package repositories of all supported operating systems. Download it from the Docker Compose GitHub releases page and make sure to install the
docker-composebinary in/usr/bin/docker-composeand/usr/local/bin/docker-composeif available.
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. No outgoing internet connectivity is required or used by the installer or NXLog Platform at runtime. The only prerequisite is a means of transferring files to the host machine (LAN, physical media, or any other method).
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 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 |
|
HTTPS endpoint for the NXLog Platform user interface. |
|
Agent management. |
|
|
Ingestion of logs sent by agents. |
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.
-
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
nxpfor the username andnxpgroupfor the group name in the steps below. You may change these to suit your environment. -
Create the
nxpgroupgroup andnxpuser. 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 -
Next, create a sudoers file to grant access to the necessary commands to the service account.
$ sudo nano /etc/sudoers.d/99-nxpgroup -
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_INSTALLReplace
<installer_path>with the correct path to the directory containing the NXLog Platform installer file, and save the file.Optionally, you can replace
/bin/nanoor/bin/viwith 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. |