Capabilities of NGINX Controller R1 - NGINX

Original: https://www.nginx.com/blog/nginx-controller-r1-released/

We were pleased to announce general availability (GA) for NGINX Controller, our centralized management platform for NGINX Plus instances, on June 26th. In our initial blog post for Controller, we outlined how NGINX Controller solves challenges faced by enterprises as they undertake their digital transformation journey.

This blog details key capabilities of NGINX Controller R1, which supports full lifecycle management of NGINX Plus load balancers – from initial deployment and validation to ongoing troubleshooting and maintenance.

NGINX Controller R1 features:

NGINX Controller Overview Dashboard

NGINX Controller features are powered by a small agent that’s installed on target NGINX Plus servers. Once the agent is installed and registered, NGINX Plus instances can be managed using NGINX Controller. This agent gathers performance data about these instances and sends it back to NGINX Controller for analysis. With the agent in place, Controller is able to carry out a wide range of reporting and management functions.

NGINX Controller Features in Detail

While NGINX Controller is easy to use, it incorporates both breadth and depth of functionality. Here, we describe Controller’s capabilities, but you will get the best feel for what it can do for you by using it in your own environment.

Simplified Configuration Management

Controller provides a wizard that helps you set up a new load balancer easily, in just five steps. Using an intuitive interface, you can create and edit commonly used load balancing configuration options, such as:

All of these configuration options include NGINX-recommended practices as default options.

Controller supports a policy-based approach to management. You can quickly create configurations for test, staging, production, or line-of-business-specific applications, enabling developers to deploy applications faster.

Deploying configurations using the intuitive ‘Configure’ interface

The figure shows a variety of configurations, including Staging and Production for AWS environments labeled AWS_USW_1_Staging and AWS_USW_2_Production, respectively. We created these using the wizard. The Staging configuration for www.nginxlab.com consists of two upstream servers, 10.2.3.10 and 10.2.3.11. This configuration will take effect on the NGINX Plus instance when you click the Push Configuration button.

Monitoring, Alerting, and Troubleshooting

Controller provides real-time visibility as well as historical trending for more than 200 health and performance metrics. These include:

Monitoring these metrics will help you find the root cause of performance and security issues. Listed below are examples of some questions that Controller can help answer:

Monitoring NGINX Plus performance metrics

The figure shows trending of connections per second and total number of connections over the last four hours for AWS_EC2_Instance_2 Configuration. You can see that NGINX is handling about 184 connections per second on 6/20/18 at 14:00.

You can set thresholds for these metrics and receive alerts via email when there’s a breach of a threshold.

NGINX Controller has a built-in Overview dashboard. This dashboard includes an Application Health Score, which is an aggregate measure of successful requests and the timeliness of requests. You can set low and high thresholds for request time.

While you should always strive toward maintaining a very high Application Health Score, the parameters that constitute this score are application-dependent. For instance, you may want client requests to be fulfilled within one second for an application that’s in production, but have a much higher request time window for an application running in test environment.

You can showcase application health to key stakeholders, such as senior management for your team, using this dashboard. You can also quickly create your own dashboards to help you focus on metrics that are of interest to you.

NGINX Controller Overview dashboard

The figure shows KPIs that are necessary to assess the health of your environment. For this environment, Application Health Score is at 100% for 2K requests. There are no HTTP 5xx errors. There are no delays in fulfilling client requests. CPU is not stressed at all – CPU usage is very low at 2%.

Tagging

Tagging is a powerful mechanism to organize and manage your configurations. You can create and assign tags to categorize and monitor your load balancers based on purpose, environment, location, or any characteristic you choose. You can filter dashboard views by tags, enabling you to monitor specific environments, such as production or staging.

Controller allows you to receive alerts about NGINX Plus instances that have specific tags. So you can prevent notification storms by applying specific tags to alerts – for instance, you may only be interested in receiving alerts about AWS, or about production environments.

Analyzer

Analyzer provides actionable best-practice recommendations based on our learnings from thousands of support cases, as well as from consulting engagements supporting complex deployments. We want you to benefit from the collective wisdom accumulated from our many customers over more than a decade of NGINX use in production.

Analyzer provides the following benefits:

When a config has gotten too far out of date, using Controller can prompt you to start a fresh config from scratch, based on best practices. It helps you “knock the rust off” your existing NGINX infrastructure.

Misconfigurations highlighted by Analyzer

This figure shows two specific misconfigurations for the AWS-EC2_Instance_2 NGINX Plus instance. This configuration is missing default_server and server_name directives. Analyzer also provides guidance on how to resolve these issues.

Instance Inventory

This view facilitates a quick audit of all your NGINX Plus instances. You can track the status and software version of all your NGINX Plus instances. You can filter this view by hostname, uptime, or system metrics such as CPU usage and memory usage.

Multi-Cloud Support

NGINX Controller is delivered as a Docker package. Docker offers complete flexibility in terms of deployment. You can deploy Controller in any environment that supports Docker containers – be it private or public cloud, virtual machines, or bare metal – to manage NGINX Plus instances operating across a multi-cloud environment.

Rest API

All performance and health metrics can be exported via the NGINX Controller REST API for seamless integration with any monitoring tool. Upon providing the application name, and redirect URIs, an API key gets generated. A monitoring application can the use the API key to extract NGINX Plus performance metrics.

Conclusion

NGINX Controller makes your NGINX Plus deployment more effective and easier to manage. Attend our upcoming webinar to get an in–depth look and demo of NGINX Controller. Watch our video to see a quick overview of NGINX Controller. And attend NGINX Conf 2018 to learn more about the past, present, and future of NGINX Controller.

Retrieved by Nick Shadrin from nginx.com website.