Skip to content

docs: Agent v3 tech spec #382

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Apr 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 10 additions & 60 deletions content/agent/technical-specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,69 +5,19 @@ weight: 700
docs: DOCS-000
---

## Overview
NGINX Agent is designed to operate efficiently on any system that meets the standard
hardware requirements for running NGINX Plus itself. This ensures compatibility, stability,
and performance aligned with the NGINX core platform:

This document outlines the technical specifications for the F5 NGINX Agent, including details on supported operating systems, deployment environments, compatible NGINX versions, minimum system sizing requirements, and logging considerations.
### Supported distributions

---

## Supported Distributions

The NGINX Agent is versatile and can operate across various environments. Currently, the following distributions are supported:

| Distribution | Supported Versions | Architectures |
|------------------------------------|---------------------------------------|---------------------|
| **AlmaLinux** | 8, 9 | x86_64, aarch64 |
| **Alpine Linux** | 3.16, 3.17, 3.18, 3.19 | x86_64, aarch64 |
| **Amazon Linux** | 2023 | x86_64, aarch64 |
| **Amazon Linux 2** | LTS | x86_64, aarch64 |
| **CentOS** | 7.4+ | x86_64, aarch64 |
| **Debian** | 11, 12 | x86_64, aarch64 |
| **Oracle Linux** | 7.4+, 8.1+, 9 | x86_64 |
| **Red Hat Enterprise Linux (RHEL)**| 7.4+, 8.1+, 9.0+ | x86_64, aarch64 |
| **Rocky Linux** | 8, 9 | x86_64, aarch64 |
| **SUSE Linux Enterprise Server (SLES)** | 12 SP5, 15 SP2 | x86_64 |
| **Ubuntu** | 20.04 LTS, 22.04 LTS | x86_64, aarch64 |

---

## Supported Deployment Environments

The NGINX Agent supports deployment in the following environments:

- **Bare Metal** machines
- **Containers**
- **Public Cloud** platforms, including AWS, Google Cloud Platform, and Microsoft Azure
- **Virtual Machines**

---

## Supported NGINX Versions

The NGINX Agent is compatible with all supported releases of NGINX Open Source and NGINX Plus.

---

## Minimum System Requirements

Below are the recommended minimum system specifications for running the NGINX Agent:

| **Resource** | **Minimum Requirement** |
|--------------|--------------------------|
| **CPU** | 1 CPU core |
| **Memory** | 1 GB RAM |
| **Network** | 1 GbE NIC |
| **Storage** | 20 GB |

---

## Logging
{{< include "nginx-plus/supported-distributions.md" >}}

The NGINX Agent uses log files in standardized formats to collect metrics. As the number of log formats or instances grows, the size of these log files will increase correspondingly.
To see the detailed technical specifications for NGINX Plus, refer to the official
[NGINX Plus documentation]({{< ref "/nginx/technical-specs.md" >}}).

To avoid system storage constraints caused by expanding log directories, it is recommended to:

- Set up a **dedicated partition** for `/var/log/nginx-agent`.
- Enable **[log rotation](https://linux.die.net/man/8/logrotate)** to manage log file growth effectively.
### Recommended hardware

For additional details on managing logs, refer to the [Configuration Overview]({{< relref "/agent/how-to/configuration-overview.md#logs" >}}).
For recommended hardware, see the
[Sizing guide for deploying NGINX Plus on bare metal servers](https://www.f5.com/pdf/deployment-guide/Sizing-Guide-for-Deploying-NGINX-Plus-on-Bare-Metal-Servers-2019-11-09.pdf).
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ The installation process involves installing NGINX Plus without root privileges
You can install NGINX Plus without root privileges following the steps on the [NGINX Plus installation page]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus/#unpriv_install" >}}). The steps include a script that will allow you to install NGINX Plus in a non-root environment.

{{< note >}}
NGINX Agent has its own user group (`nginx-agent`) which is created when NGINX Agent is installed. The user NGINX is running under is added to this user group during the installation of NGINX Agent. If you change the NGINX user after installing NGINX Agent, you will need to [manually add the new NGINX user]({{< ref "/agent/configuration/configure-nginx-agent-group.md" >}}) to the `nginx-agent` group.
NGINX Agent has its own user group (`nginx-agent`) which is created when NGINX Agent is installed. The user NGINX is running under is added to this user group during the installation of NGINX Agent. If you change the NGINX user after installing NGINX Agent, you will need to [manually add the new NGINX user]({{< ref "/agent/v2/configuration/configure-nginx-agent-group.md" >}}) to the `nginx-agent` group.
{{< /note >}}

### Install NGINX Agent

After installing NGINX Plus, you can install NGINX agent following the steps on the [NGINX Agent installation page]({{< ref "/agent/installation-upgrade/installation-oss.md" >}}).
After installing NGINX Plus, you can install NGINX agent following the steps on the [NGINX Agent installation page]({{< ref "/agent/v2/installation-upgrade/installation-oss.md" >}}).

### Start NGINX Agent

Expand Down
20 changes: 20 additions & 0 deletions content/includes/nginx-plus/supported-distributions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
docs:
---

{{<bootstrap-table "table table-striped table-bordered">}}
| Distribution | Supported on R33 | Supported on R32 |
|-------------------------------------|-----------------------------------------------|-----------------------------------------------|
| AlmaLinux | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) |
| Alpine Linux | 3.17 (x86_64, aarch64) **(deprecated)** <br> 3.18 (x86_64, aarch64) <br> 3.19 (x86_64, aarch64) <br> 3.20 (x86_64, aarch64) **(new)** | 3.16 (x86_64, aarch64) **(deprecated)** <br> 3.17 (x86_64, aarch64) <br> 3.18 (x86_64, aarch64) <br> 3.19 (x86_64, aarch64) |
| Amazon Linux | 2023 (x86_64, aarch64) | 2023 (x86_64, aarch64) |
| Amazon Linux 2 | LTS (x86_64, aarch64) | LTS (x86_64, aarch64) |
| CentOS | **Not supported** | 7.4+ (x86_64) **(deprecated)** |
| Debian | 11 (x86_64, aarch64) <br> 12 (x86_64, aarch64) | 11 (x86_64, aarch64) <br> 12 (x86_64, aarch64) |
| FreeBSD | 13 (amd64) <br> 14 (amd64) | 13 (amd64) <br> 14 (amd64) |
| Oracle Linux | 8.1+ (x86_64, aarch64) <br> 9 (x86_64) | 7.4+ (x86_64) **(deprecated)** <br> 8.1+ (x86_64, aarch64) <br> 9 (x86_64) |
| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64) <br> 9.0+ (x86_64, aarch64) | 7.4+ (x86_64) **(deprecated)** <br> 8.1+ (x86_64, aarch64) <br> 9.0+ (x86_64, aarch64) |
| Rocky Linux | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) |
| SUSE Linux Enterprise Server (SLES) | 12 SP5 (x86_64) **(deprecated)** <br> 15 SP2+ (x86_64) | 12 SP5 (x86_64) <br> 15 SP2+ (x86_64) |
| Ubuntu | 20.04 LTS (x86_64, aarch64) <br> 22.04 LTS (x86_64, aarch64) <br> 24.04 LTS (x86_64, aarch64) | 20.04 LTS (x86_64, aarch64) <br> 22.04 LTS (x86_64, aarch64) <br> 24.04 LTS (x86_64, aarch64 **(new)** |
{{</bootstrap-table>}}
16 changes: 1 addition & 15 deletions content/nginx/technical-specs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,7 @@ NGINX Plus is available only as a binary; it is not distributed as source code.

## Supported Distributions {#supported-distributions}

{{<bootstrap-table "table table-striped table-bordered">}}
| Distribution | Supported on R34 | Supported on R33 |
|-------------------------------------|----------------------------------------------------|--------------------------------------------------------|
| AlmaLinux | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) |
| Alpine Linux | 3.18 (x86_64, aarch64) **(deprecated)** <br> 3.19 (x86_64, aarch64) <br> 3.20 (x86_64, aarch64) <br> 3.21 (x86_64, aarch64) **(new)** | 3.17 (x86_64, aarch64) **(deprecated)** <br> 3.18 (x86_64, aarch64) <br> 3.19 (x86_64, aarch64) <br> 3.20 (x86_64, aarch64) **(new)** |
| Amazon Linux | 2023 (x86_64, aarch64) | 2023 (x86_64, aarch64) |
| Amazon Linux 2 | LTS (x86_64, aarch64) | LTS (x86_64, aarch64) |
| Debian | 11 (x86_64, aarch64) <br> 12 (x86_64, aarch64) | 11 (x86_64, aarch64) <br> 12 (x86_64, aarch64) |
| FreeBSD | 13 (amd64) <br> 14 (amd64) | 13 (amd64) <br> 14 (amd64) |
| Oracle Linux | 8.1+ (x86_64, aarch64) <br> 9 (x86_64) | 8.1+ (x86_64, aarch64) <br> 9 (x86_64) |
| Red Hat Enterprise Linux (RHEL) | 8.1+ (x86_64, aarch64) <br> 9.0+ (x86_64, aarch64) | 8.1+ (x86_64, aarch64) <br> 9.0+ (x86_64, aarch64) |
| Rocky Linux | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) | 8 (x86_64, aarch64) <br> 9 (x86_64, aarch64) |
| SUSE Linux Enterprise Server (SLES) | 15 SP2+ (x86_64) | 12 SP5 (x86_64) **(deprecated)** <br> 15 SP2+ (x86_64) |
| Ubuntu | 20.04 LTS (x86_64, aarch64) **(deprecated)** <br> 22.04 LTS (x86_64, aarch64) <br> 24.04 LTS (x86_64, aarch64) | 20.04 LTS (x86_64, aarch64) <br> 22.04 LTS (x86_64, aarch64) <br> 24.04 LTS (x86_64, aarch64) |
{{</bootstrap-table>}}
{{< include "nginx-plus/supported-distributions.md" >}}

---

Expand Down