Console Light Web Monitoring Panel#

Angie provides a wide range of possibilities to monitor its work; in addition to the metrics API and the Prometheus module, you can use a visual console that installs beside the server.

Console Light#

Console Light is a lightweight, real-time activity monitoring interface that displays key server load and performance metrics. The console is based on the API capabilities of Angie; activity monitoring data is generated in real time. In addition, the console allows you to dynamically modify Angie configuration where the API itself provides this capability.

Example of a deployed and configured console: https://console.angie.software/

Version History#

Version

Release Date

Changes

1.7.2

07.04.2025

Added "busy" option in filter controller on the "HTTP/TCP/UDP Upstreams" pages.

1.7.1

04.04.2025

Fixed incorrect values in the "HTTP/Location Zones" tables on the "HTTP Zones" page.

1.7.0

02.04.2025

  • Display exact data volumes in bytes on mouse hover

  • New busy status for upstream peers in the statistics API, indicating that a peer has reached the limit configured by the max_conns parameter

  • Fixed documentation links

1.6.1

27.01.2025

  • Fixed typos

  • Fixed a development-time project build issue

1.6.0

23.01.2025

  • Internationalisation support with available locales: en, ru.

  • Sticky header feature added to the table component.

  • Support for data measurement units in pebibytes (PiB).

  • Fixed incorrect value counter in the HTTP Upstreams widget on the main page.

  • Default values are now correctly used on the HTTP Upstreams page in the response context.

1.5.0

Not publicly released.

1.4.0

08.08.2024

Added monitoring status display in the website favicon.

1.3.0

28.04.2024

Added the ability to set a server to the draining state in the upstream context.

1.2.1

26.12.2023

Added active health checks in the Stream context.

1.2.0

25.12.2023

Added server editing in the Stream context.

Installation and configuration#

Console Light is published as angie-console-light (Angie) and angie-pro-console-light (Angie PRO) packages in our repositories and can be installed like any other package; alternatively, you can download the source code from our website or GitHub.

After installation, configure the console by adding the following location inside a server block in the server configuration (note the comments):

location /console/ {

    # Local access only
    allow 127.0.0.1;
    deny all;

    auto_redirect on;

    alias /usr/share/angie-console-light/html/;
    # FreeBSD only:
    # alias /usr/local/www/angie-console-light/html/;
    index index.html;

    location /console/api/ {
        api /status/;
    }

    # For editing features to work after authentication (PRO only)
    location /console/api/config/ {

        auth_basic           "Protected site";
        auth_basic_user_file conf/htpasswd;

        api /config/;
    }
}

Don't forget to apply the modified configuration:

$ sudo angie -t && sudo service angie reload

After this, the console will be available on the server specified by the server block, at the path specified for the location; in the example above, the path is set as /console/.

Authentication can be enabled for any API section similar to the example above, for instance:

location /console/server_zones/ {
    auth_basic           "Protected site";
    auth_basic_user_file conf/htpasswd;
}

You can also restrict access to any section of the configured console location, for example:

location /console/api/resolvers/ {
    deny all;
}

Interface#

The console is a single screen with a set of tabs, each containing several widgets with monitoring data.

Hint

In the sections below, interface elements are described from left to right.

Angie Tab#

Console Light - main screen


This is the main tab where the key Angie monitoring indicators are displayed in summary form, based on data from several API sections.

About Widget#

Displays the Angie version number with a link to the corresponding documentation, as well as the server address and the time of the last configuration reload.

Additionally, if the api_config_files directive is enabled, the Configs link opens a list of configuration files loaded on the server. Each file can then be viewed in a compact format with syntax highlighting.

Connections Widget#

Displays basic server connection statistics, generated from the /status/connections/ API section:

Current

Current number of connections

Accepted/s

Number of connections accepted per second

Active

Number of active connections

Idle

Number of idle connections

Dropped

Number of dropped connections

Also available:

Accepted

Total number of connections accepted since the last server reload

HTTP Zones Widget#

Attention

Requires setting the status_zone directive in a server or location context.

Displays shared memory zone statistics for the http context, generated from the /status/http/server_zones/ API section:

Total

Total number of zones

Problems

Number of zones with any issues

Traffic

Total incoming and outgoing traffic volume

HTTP Upstreams Widget#

Attention

Requires setting the zone directive in an upstream block in the http context.

Displays upstream statistics for the http context, generated from the /status/http/upstreams/ API section:

Total

Total number of upstreams

Problems

Number of upstreams with any issues

Servers

Server statistics broken down by state

TCP/UDP Zones Widget#

Attention

Requires setting the following directives:

Example:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

Displays shared memory zone statistics for the stream context, generated from the /status/stream/server_zones/ API section:

Conn total

Total number of client connections

Conn current

Current number of client connections

Conn/s

Number of connections processed per second

TCP/UDP Upstreams Widget#

Attention

Requires setting the zone directive in an upstream block in the stream context.

Displays upstream statistics for the stream context, generated from the /status/stream/upstreams/ API section:

Total

Total number of upstreams

Problems

Number of upstreams with any issues

Servers

Server statistics broken down by state

HTTP Zones Tab#

Attention

Requires setting the status_zone directive in a server or location context.

Server Zones Section#

Console Light - "Server Zones" section on the "HTTP Zones" tab


Summarizes shared memory zone monitoring statistics for the server context in http, generated from the /status/http/server_zones/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the arrow next to Zone to sort zones alphabetically or by configuration order.

Requests

Total number of requests and the number of requests per second

Responses

Number of responses broken down by status codes, as well as their total number

Traffic

Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic

SSL

Aggregate counts of: successful SSL handshakes; SSL session reuses; SSL handshakes with expired timeout; unsuccessful SSL handshakes

Location Zones Section#

Console Light - "Location Zones" section on the "HTTP Zones" tab


Summarizes shared memory zone monitoring statistics for the location context in http, generated from the /status/http/location_zones/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the arrow next to Zone to sort zones alphabetically or by configuration order.

Requests

Total number of requests and the number of requests per second

Responses

Number of responses broken down by status codes, as well as their total number

Traffic

Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic

Limit Conn Section#

Console Light - "Limit Conn" section on the "HTTP Zones" tab


Displays statistics of limit_conn zones in the http context, generated from the /status/http/limit_conns/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the icon next to Zone to open or close the chart with the following indicators.

Passed

Total number of proxied connections

Rejected

Total number of rejected connections

Exhausted

Total number of connections dropped due to zone storage overflow

Skipped

Total number of connections passed with a zero or greater than 255 bytes key

Limit Req Section#

Console Light - "Limit Req" section on the "HTTP Zones" tab


Displays statistics of limit_reqs zones in the http context, generated from the /status/http/limit_reqs/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the icon next to Zone to open or close the chart with the following indicators.

Passed

Total number of proxied connections

Delayed

Total number of delayed connections

Rejected

Total number of rejected connections

Exhausted

Total number of connections dropped due to zone storage overflow

Skipped

Total number of connections passed with a zero or greater than 255 bytes key

HTTP Upstreams Tab#

Console Light - "HTTP Upstreams" tab


Attention

Requires setting the zone directive in an upstream block in the http context.

This tab summarizes upstream monitoring statistics for the http context, generated from the /status/http/upstreams/ API section.

  • The Show upstreams list button toggles a brief list of upstreams with the number of problematic upstreams and peers.

  • The Failed only switch toggles the display mode for problematic upstreams statistics.

  • The edit button toggles the upstream editing interface.

  • The dropdown list on the right side of each upstream table allows you to filter servers in a specific state (Up, Failed, Checking, Down, Busy).

For each upstream, in addition to its name and shared memory zone utilization ratio, the following data is presented:

Server

Names, downtimes, and weights of upstream servers

Hint

Click the arrow next to Server to sort servers by their state or configuration order.

Requests

Total number and processing rate of requests

Responses

Number of responses broken down by status codes

Connections

Number of active connections and their maximum limit, if set

Traffic

Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic

Server checks

Number of unsuccessful attempts to contact the server and the number of times the server was considered unavailable (the health object in the API)

Health monitors

Total number of server checks, number of unsuccessful checks, and the time of the last check

Editing upstreams#

In Angie PRO, there is an edit button next to each upstream; when clicked, it displays two more buttons:

Edit selected

Edit selected servers within an upstream. Allows you to set the following parameters for all at once: Weight, maximum connection limit (Max_conns), maximum failure limit that marks a server as unavailable (Max_fails), time window for counting failures for the maximum failure limit (Fail_timeout), state (active - enabled, down - disabled, or draining - only receives requests from sessions previously bound through sticky).

You can also delete the selected servers here.

Console Light - editing servers on the "HTTP Upstreams" tab


Add server

Add a server to the upstream. Allows you to set the following parameters: address, backup server or not, Weight, maximum connection limit (Max_conns), maximum failure limit that marks a server as unavailable (Max_fails), failure counting time window (Fail_timeout), state (active - enabled, down - disabled, or draining - only receives requests from sessions previously bound through sticky).

Console Light - adding a server on the "HTTP Upstreams" tab


TCP/UDP Zones Tab#

Attention

Requires setting the following directives:

Example:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

TCP/UDP Zones Section#

Console Light - "TCP/UDP Zones" tab


Summarizes shared memory zone monitoring statistics for the server context in stream, generated from the /status/stream/server_zones/ API section. The following data is presented for each zone:

Zone

Zone name

Connections

Current and total number of connections, as well as the number of connections per second

Sessions

Number of sessions broken down by status codes, as well as their total number

Traffic

Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic

SSL

Aggregate counts of: successful SSL handshakes; unsuccessful SSL handshakes; SSL session reuses

Limit Conn Section#

Console Light - "Limit Conn" section on the "TCP/UDP Zones" tab


Displays statistics of limit_conn zones in the stream context, generated from the /status/stream/limit_conns/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the icon next to Zone to open or close the chart with the following indicators.

Passed

Total number of proxied connections

Rejected

Total number of rejected connections

Exhausted

Total number of connections dropped due to zone storage overflow

Skipped

Total number of connections passed with a zero or greater than 255 bytes key

TCP/UDP Upstreams Tab#

Console Light - "TCP/UDP Upstreams" tab


Attention

Requires setting the zone directive in an upstream block in the stream context.

This tab summarizes upstream monitoring statistics for the stream context, generated from the /status/stream/upstreams/ API section.

  • The Show upstreams list button toggles the display of a brief list of upstreams with the number of problematic upstreams and peers.

  • The Failed only switch enables and disables the display mode for problematic upstreams statistics.

  • The edit button opens the upstream editing widget.

  • The dropdown list on the right side of each upstream table allows you to filter servers in a specific state (Up, Failed, Checking, Down, Busy).

For each upstream, the following data is presented:

Server

Names, downtimes, and weights of upstream servers

Hint

Click the arrow next to Server to sort servers by their state or configuration order.

Connections

Number of active connections and their maximum limit, if set

Traffic

Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic

Server checks

Number of unsuccessful attempts to contact the server and the number of times the server was considered unavailable (the health object in the API)

Editing upstreams#

In Angie PRO, there is an edit button next to each upstream; when clicked, it displays two more buttons:

Edit selected

Edit selected servers within an upstream. Allows you to set the following parameters for all at once: Weight, maximum connection limit (Max_conns), maximum failure limit that marks a server as unavailable (Max_fails), time window for counting failures for the maximum failure limit (Fail_timeout), state (active - enabled, down - disabled, or draining - only receives requests from sessions previously bound through sticky).

You can also delete the selected servers here.

Console Light - editing servers on the "TCP/UDP Upstreams" tab


Add server

Add a server to the upstream. Allows you to set the following parameters: address, backup server or not, Weight, maximum connection limit (Max_conns), maximum failure limit that marks a server as unavailable (Max_fails), failure counting time window (Fail_timeout), state (active - enabled, down - disabled, or draining - only receives requests from sessions previously bound through sticky).

Console Light - adding a server on the "TCP/UDP Upstreams" tab


Caches Tab#

Console Light - "Caches" tab


Attention

Requires setting the proxy_cache_path directive in the http context.

This tab summarizes monitoring statistics for proxy_cache zones in the http context, generated from the /status/http/caches/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the icon next to Zone to open or close the lists of shards for all zones that have them.

State

Cache state: cold (metadata being loaded into memory) or hot (metadata loaded)

Memory usage

Memory utilization ratio

Max size

Maximum memory size

Used

Used memory size

Disk usage

Disk utilization ratio

Traffic

Traffic served from cache, written to cache, and returned bypassing the cache

Hit ratio

Cache hit ratio (ratio of traffic served from cache to total volume)

If sharding is enabled for a zone, it is shown as a dropdown list that lists individual shards:

Path

Shard path on disk

State

Shard state: cold (metadata being loaded into memory) or hot (metadata loaded)

Max size

Maximum memory size

Used

Used memory size

Disk usage

Disk utilization ratio

Shared Zones Tab#

Console Light - "Shared Zones" tab


This tab summarizes monitoring statistics for all shared memory zones across all contexts. The following data is presented for each zone:

Zone

Zone name

Hint

Click the arrow next to Zone to sort zones by size or configuration order.

Total memory pages

Total number of memory pages

Used memory pages

Number of memory pages used

Memory usage

Memory utilization ratio for the zone

Resolvers Tab#

Console Light - "Resolvers" tab


Attention

Requires setting the resolver directive in the http context.

This tab summarizes query statistics in DNS shared memory zones, generated from the /status/resolvers/ API section. The following data is presented for each zone:

Zone

Zone name

Hint

Click the arrow next to Zone to sort zones by state or configuration order.

Requests

Number of A and AAAA, SRV, PTR type requests

Responses

Number of responses broken down by corresponding codes (Success, Format error, Server failure, Name error, Not implemented, Refused and others)

Settings Widget#

Console Light - "Settings" widget


Allows you to configure general console parameters:

  • Data refresh rate. Default value — 1 sec.

  • Threshold ratio for 4xx statuses. When the threshold is reached, "yellow" warnings appear in the corresponding sections related to server responses. Default value — 7%.

  • Time window for calculating the cache hit ratio. Default value — 300 sec.

  • Error threshold for the resolver. When the threshold is reached, the resolver will turn "red". Default value — 3%.

  • Console interface language. Available options: English and Russian. By default, the console language is selected based on the locale set in the browser.

Console Control Panel#

On all tabs, in the middle of the left side of the page, there is a slide-out panel with two buttons Console Light - console control buttons on the "About" tab. The top button pauses and resumes data updates from the API, while the bottom button allows you to update the data manually when updates are paused.