Skip to content
/ agent Public

NGINX Agent provides an administrative entry point to remotely manage, configure and collect metrics and events from NGINX instances

License

Notifications You must be signed in to change notification settings

nginx/agent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub go.mod Go version GitHub License Contributions Welcome Slack coverage

NGINX Agent

NGINX Agent is a companion daemon for your NGINX Open Source or NGINX Plus instance. It enables:

  • Remote management of NGINX configurations
  • Collection and reporting of real-time NGINX performance and operating system metrics
  • Notifications of NGINX events

Development Environment Setup

Installing Prerequisite Packages

The following packages need to be installed:

Workaround to install mdatagen

git clone https://github.com/open-telemetry/opentelemetry-collector.git
cd opentelemetry-collector
git checkout v0.114.0
cd cmd/mdatagen
go install

Before starting development on the NGINX Agent, it is important to download and install the necessary tool and dependencies required by the NGINX Agent. You can do this by running the following make command:

make install-tools

Building NGINX Agent from Source Code

Build NGINX Agent deb package:

OSARCH=<operating system archiecture> make local-deb-package

Build NGINX Agent rpm package:

OSARCH=<operating system archiecture> make local-rpm-package

Build NGINX Agent apk package:

OSARCH=<operating system archiecture> make local-apk-package

Testing NGINX Agent

Unit tests

To run unit tests and check that there is enough test coverage run the following

make unit-test coverge

To check for race conditions, the unit tests can also be run with a race condition detector

make race-condition-test

Integration tests

To run integration tests, run the following

make integration-test

Testing with a mock management plane

For testing command operations, there is a mock management gRPC server that can be used. See here: mock management gRPC server
For testing metrics, there is a mock management OTel collector that can be used. See here: mock management OTel collector

NGINX Agent Technical Specifications

Supported Distributions

NGINX Agent can run in most environments. For a list of supported distributions, see the NGINX Technical Specs guide.

Supported Deployment Environments

NGINX Agent can be deployed in the following environments:

  • Bare Metal
  • Container
  • Public Cloud: AWS, Google Cloud Platform, and Microsoft Azure
  • Virtual Machine

Supported NGINX Product Versions

NGINX Agent works with all supported versions of NGINX Open Source and NGINX Plus.

Sizing Recommendations

Minimum system sizing recommendations for NGINX Agent: TBD

Community

Contributing

Get involved with the project by contributing! Please see our contributing guide for details.

Change Log

See our release page to keep track of updates.

License

Apache License, Version 2.0