System requirements for installing NXLog Platform using Helm
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.
Kubernetes cluster requirements
Before deploying NXLog Platform, you must set up a Kubernetes cluster that meets the following conditions:
-
The cluster is running Kubernetes >= 1.32.
-
The cluster is running one of the following supported ingress controllers:
-
Ingress NGINX Controller (community-maintained)
-
The following command-line tools are installed on your workstation:
-
kubectl for running commands against Kubernetes clusters.
Runkubectl versionto check the installed version. -
Helm for deploying and managing Kubernetes applications using charts.
Runhelm versionto check the installed version. -
jq for processing and transforming JSON data.
Runjq --versionto check the installed version.
-
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 for each node of the Kubernetes cluster, 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.
-
The CPUs of all Kubernetes nodes running NXLog Platform pods must have an x86_64 architecture and support Advanced Vector Extensions 2 (AVX2). If your Kubernetes cluster runs on virtual machines, ensure that your hypervisor’s BIOS supports AVX2 and that the hypervisor allows AVX2 pass-through to the guest OS of each Kubernetes node.
To verify that AVX2 instructions are present, run the following command on each node:
$ grep -io -m1 avx2 /proc/cpuinfo avx2 -
The RAM requirements for all Kubernetes nodes 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, Kubernetes cluster, and any other system daemons or applications running on each cluster node. You will configure whether to store log data or not during the NXLog Platform installation process.
| Deployment size | Managed agents | CPU cores per node | RAM per node without log storage |
RAM per node 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
You have full control over the type and configuration of the default cluster StorageClass that will satisfy the NXLog Platform PersistentVolumeClaims (PVCs). NXLog recommends using a StorageClass that:
-
Supports expanding volumes, especially when using NXLog Platform to store log data.
-
Provides at-rest encryption.
-
Uses a network-backed storage solution to ensure that pods can be scheduled on any node in the cluster without being tied to a local disk. However, NXLog Platform runs successfully even if the StorageClass is backed by local disk storage.
The storage capacity depends on your data retention requirements and whether you use the built-in log storage. At a minimum, provision the following recommended capacity:
-
42 GB of baseline storage capacity for all NXLog Platform components that use persistent storage.
-
If you’re using the built-in log storage, 100 GB of initial storage capacity for log data. In production, you will need to provision storage based on the log ingestion rate, data retention period, and your replication or backup policies.
After deploying NXLog Platform, you must monitor the PVC usage and adjust the requested storage as needed.
Network requirements
When deploying NXLog Platform using the Helm chart, ensure that your cluster and network are set up as follows:
-
The Kubernetes cluster provides standard pod and service networking, and allows egress HTTP traffic from the default
nxpnamespace where NXLog Platform is deployed tokubernetes.default.svc:443to support Vault authentication. -
Both your organization firewall and the cluster’s network policies allow the ports and hostnames described in the table below. While deploying NXLog Platform, you will configure your ingress controller or load balancer to expose the inbound ports.
| Direction | Service | Description |
|---|---|---|
Inbound |
|
HTTPS endpoint for the NXLog Platform user interface. |
|
Agent management. |
|
|
Ingestion of logs sent by agents. |
|
Outbound |
|
DNS services. Change the port number if you are running your organization’s DNS server on another port. |
|
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. |
|
|
NXLog Customer Portal for customer registration and management of the customer’s organizations, subscriptions, and invoices. |
|
|
Microsoft Azure Container Registry and Microsoft Azure Blob Storage. |
|
|
DigitalOcean Spaces CDN. |
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.
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. |