Overview

F5 NGINX Agent v3.0 is available now

The F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One, enabling remote management of the NGINX Instance(s). It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control.

Key Features

  • Enable Access to Key NGINX One Use Cases

    • Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and enhancing operational workflows.
    • Connect to NGINX One Console
  • Real-Time Observability into NGINX One Data Plane Instances

    • Provides live monitoring and actionable insights into the performance, status, and health of NGINX One Data Plane instances, improving decision-making and operational efficiency.

    • OpenTelemetry support comes with F5 NGINX Agent, and the ability to export the metrics data for use in other applications.

Configuration management

  • The F5 NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX from a centralized management plane.
  • Additionally, the F5 NGINX Agent verifies that the configuration changes are successfully applied to NGINX.

Metrics Collection

  • The F5 NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector .
  • This embedded collector gathers vital performance and health metrics for both NGINX and the underlying instance it operates on.
  • For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times. Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide deep observability into NGINX’s behavior, enabling teams to troubleshoot issues effectively, optimize performance, and maintain high availability.
  • Collected metrics can be seamlessly exported to the NGINX One Console or integrated with third-party data aggregators.

How NGINX Agent works

graph BT

    %% Define colors for the subgraphs
    style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000
    style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
    style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
    style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000
    style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
    style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
    style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000
    style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000

    subgraph ManagementPlane["NGINX One"]
        CommandControl["Command Server"]
        OTelManagementPlane["OTel Receiver"]
    end

    subgraph Compute["NGINX Instance"]
        subgraph Agent["Agent Process"]
            OTelDataPlane["OTel Collector"]
        end

        subgraph NGINX["NGINX Process"]
            NGINXMetrics["Metrics"]
        end
        NGINXConfig["NGINX Configuration Files"]
        ErrorLogs["NGINX Error Logs"]

        Metrics["Host Metrics"] --> |Collects| OTelDataPlane
        NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"]
        Agent --> |Watch/Reload| NGINX
        Agent --> |Reads| ErrorLogs
        OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"]
        Agent <--> |Reads/Writes| NGINXConfig
    end

    Compute <--> |gRPC| ManagementPlane
 

The figure shows:

  • An NGINX Instance running on bare metal, virtual machine or container
  • The NGINX One Cloud Console includes:
    • Command Server to manage NGINX configurations, push new/updated configuration files remotely, and perform integrity tests.
    • OpenTelemetry (OTel) Receiver that receives observability data from connected Agent instances.
  • An NGINX Agent process running on the NGINX instance. NGINX Agent is responsible for:
    • Watching, applying, validating, automatically roll back to last good configuration if issues are detected.
    • Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to the NGINX One Cloud Console.
  • Collection and monitoring of host metrics (CPU usage, Memory utilization, Disk I/O) by the Agent OTel collector.
  • Collected data is made available on the NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes.