Get to Know the NGINX Controller Agent
Learn about the NGINX Controller Agent
The NGINX Controller Agent is a compact application written in Golang. NGINX Controller uses the Controller Agent to manage and monitor each NGINX Plus instance that the Agent is installed on. Once installed, the NGINX Controller Agent collects metrics and metadata and sends them securely to NGINX Controller for storage and visualization.
You need to install the NGINX Controller Agent on all of the hosts you’d like to monitor.
Once installed, the NGINX Controller Agent automatically starts to report metrics. You should see the real-time metrics data in the NGINX Controller user interface after about one minute.
There’s no need to manually add or configure anything in the NGINX Controller user interface after installing the Agent. When the Agent is started, the metrics and the metadata are automatically reported to NGINX Controller and are visualized in the user interface. You can, however, configure the NGINX Controller Agent to customize how it collects and reports metrics.
All communications between the NGINX Controller Agent and the backend are done securely over SSL/TLS. All traffic is always initiated by the NGINX Controller Agent. The backend system doesn’t set up any connections back to the NGINX Controller Agent.
The NGINX Controller Agent attempts to detect and monitor all unique NGINX process instances running on a host and collects a separate set of metrics and metadata for each. The Agent uses the following qualifications to identify unique NGINX instances:
- A unique control process and its workers, started with an absolute path to a distinct NGINX binary.
- A control process running with a default config path, or with a custom path set in the command-line parameters.
You should not make manual changes to the
nginx.conffile on NGINX Plus instances that are managed by NGINX Controller. Manually updating the
nginx.conffile on managed instances may adversely affect system performance. In most cases, NGINX Controller will revert or overwrite manual updates made to
NGINX Controller, the NGINX Controller Agent, and the NGINX Controller Application Security Add-on support the following distributions and architectures.
Refer to the NGINX Plus Technical Specifications guide for the distributions that NGINX Plus supports.
|Controller ADC App Security
|Controller APIM Advanced Security
|Amazon Linux||2||x86_64||Not supported||v3.0+||Not supported||Not supported|
|Amazon Linux||2017.09+||x86_64||Not supported||v3.0+||Not supported||Not supported|
|CentOS||6.5+||x86_64||Not supported||v3.0+||Not supported||Not supported||• CentOS 6.5 and later versions in the CentOS 6 family are partially supported.
• This distribution does not support AVRD.
|CentOS||7.4+||x86_64||v3.0+||v3.0+||v3.12+||v3.19+||• CentOS 7.4 and later versions in the CentOS 7 family are supported.|
|Debian||8||x86_64||Not supported||v3.0–3.21||Not supported||Not supported||• This distribution does not support AVRD.|
|Debian||10||x86_64||Not supported||v3.17+||v3.17+||v3.19+||See the NGINX Plus Admin Guide for requirements for Debian 10.|
|Red Hat Enterprise Linux||6.5+||x86_64||Not supported||v3.0+||Not supported||Not supported||• RHEL 6.5 and later versions in the RHEL 6 family are partially supported.|
|Red Hat Enterprise Linux||7.4+||x86_64||v3.5+||v3.5+||v3.12+||v3.19+||• RHEL 7.4 and later versions in the RHEL 7 family are supported.
• SELinux may interfere with NGINX Controller installation and operation. If you do enable SELinux, it must use permissive mode. Use of enforcing mode is not supported.
|Red Hat Enterprise Linux||8.0+||x86_64||v3.18.3+||v3.18.3+||v3.22+||v3.19.2+||Support for RHEL 8 is a technology preview. While installing NGINX Controller and the NGINX Agent on RHEL 8 works well in low-scale deployments for testing and proof of concept purposes, installing NGINX Controller on RHEL 8 for large-scale deployments has not been tested. There may be performance or stability issues. We recommend testing NGINX Controller on RHEL 8 for scale in a test environment before deploying to production. See the Installing NGINX Controller on RHEL 8 guide for requirements.|
NGINX Controller v3.1 and later use an Analytics, Visibility, and Reporting daemon (AVRD) to aggregate and report app-centric metrics, which you can use to track and check the health of your apps. To learn more about these metrics, see the NGINX Metrics Catalog topic.
See the NGINX Controller Technical Specifications for the complete list of system requirements for NGINX Controller and the NGINX Controller Agent.
NGINX Controller and the NGINX Controller Agent versions 3.6 and earlier require Python 2.6 or 2.7. Python is not needed for NGINX Controller or the NGINX Controller Agent versions 3.7 and later.
This documentation applies to the following versions of NGINX Controller: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, and 3.17.