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.
Related modules
API module: every widget reads the
/status/tree.HTTP module: status_zone and
status_zone=in resolver fill the HTTP Zones and Resolvers tabs.Stream module: status_zone and
status_zone=in resolver fill the TCP/UDP Zones and Resolvers tabs.Stream Upstream module: zone fills the TCP/UDP Upstreams tab.
HTTP Limit Conn module: its zones join the HTTP Zones tab.
Limit Req module: its zones join the HTTP Zones tab.
Stream Limit Conn module: its zones join the TCP/UDP Zones tab.
HTTP Proxy module: proxy_cache_path fills the Caches tab.
FastCGI module: fastcgi_cache_path fills the Caches tab.
SCGI module: scgi_cache_path fills the Caches tab.
uWSGI module: uwsgi_cache_path fills the Caches tab.
Mail module:
status_zone=in resolver fills the Resolvers tab.
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.9.1 | 28.10.2026 | Fixed the warning that cache zones with no traffic always received. |
1.9.0 | 14.08.2026 | Added display of the |
1.8.2 | 23.01.2026 | Fixed the link to Angie ADC documentation. |
1.8.1 | 08.09.2025 | Fixed incorrect terms in Settings and tooltips. |
1.8.0 | 03.07.2025 | Display of response time metrics for proxied HTTP and TCP/UDP servers |
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 |
|
1.6.1 | 27.01.2025 |
|
1.6.0 | 23.01.2025 |
|
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 |
1.2.1 | 26.12.2023 | Added active health checks in the |
1.2.0 | 25.12.2023 | Added server editing in the |
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.
Tip
In the sections below, interface elements are described from left to right.
Angie Tab#

This is the main tab where the key Angie monitoring indicators are displayed in summary form, based on data from several API sections.
Note
Statistics widgets are displayed if the corresponding blocks are configured in the Angie configuration.
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 number of connections |
| Number of connections accepted per second |
| Number of active connections |
| Number of idle connections |
| Number of dropped connections |
Also available:
| Total number of connections accepted since the last server reload |
HTTP Zones Widget#
Warning
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 number of zones |
| Number of zones with any issues |
| Incoming and outgoing traffic rates, in bytes per second |
HTTP Upstreams Widget#
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#
Warning
Requires setting the status_zone directive in a
server block of the stream context.
Example:
stream {
server {
# ...
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#
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 |
Caches Widget#
Warning
Requires a cache zone set by the proxy_cache_path, fastcgi_cache_path, scgi_cache_path, or uwsgi_cache_path directive.
Displays cache zone statistics for the http context, generated from the
/status/http/caches/ API section:
| Total number of cache zones |
| Number of zones with problems, counting each problem shard of a
sharded zone separately; if there are none but some zones have
warnings, the label reads |
| Number of warm zones (metadata loaded) and cold zones (metadata being loaded into memory) |
A cache zone gets a warning if:
its
Hit ratioon the Caches tab, calculated over the time window set in the settings, is below 30% (a zone with no responses during the window has no hit ratio, so this check skips it);its size on disk exceeds
max_sizeby no more than 5%.
A zone whose size on disk exceeds max_size by more than 5% has a
problem. For a sharded zone, these size checks apply to
each shard separately, and a shard up to 5% over gives the whole zone a
warning.
Resolvers Widget#
Warning
Requires setting the status_zone parameter
of the resolver directive
(HTTP, Stream, or
Mail).
Displays DNS resolver statistics, generated from the /status/resolvers/ API section:
| Total number of resolver zones |
| Number of zones whose responses other than |
| Requests ( |
HTTP Zones Tab#
Warning
Requires setting the status_zone directive
in a server or location context. The Connection Limit Zones
section also requires the limit_conn_zone directive, and the Request
Limit Zones section requires the limit_req_zone directive, both in
the http context.
Server Zones Section#

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 Tip 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 in bytes per second, as well as total volumes of outgoing and incoming traffic in bytes |
SSL | Aggregate counts of: successful SSL handshakes; SSL session reuses; SSL handshakes with expired timeout; unsuccessful SSL handshakes |
Location Zones Section#

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 Tip 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 in bytes per second, as well as total volumes of outgoing and incoming traffic in bytes |
Connection Limit Zones (Limit Conn) Section#

Displays statistics of the zones defined by limit_conn_zone in the
http context, generated from the /status/http/limit_conns/ API section. The following data is presented for
each zone:
Zone | Zone name Tip Click the icon next to Zone to open or close the chart with the following indicators. |
Passed | Total number of connections checked against the zone and not limited |
Rejected | Total number of rejected connections |
Exhausted | Total number of connections rejected due to zone storage overflow |
Skipped | Total number of connections not checked against the zone because the key was empty or longer than 255 bytes (counted only if no zone rejected the connection) |
Request Limit Zones (Limit Req) Section#

Displays statistics of the zones defined by limit_req_zone in the
http context, generated from the /status/http/limit_reqs/ API section. The following data is presented for
each zone:
Zone | Zone name Tip Click the icon next to Zone to open or close the chart with the following indicators. |
Passed | Total number of requests checked against the zone and neither delayed nor rejected |
Delayed | Total number of delayed requests |
Rejected | Total number of rejected requests |
Exhausted | Total number of requests rejected due to zone storage overflow |
Skipped | Total number of requests not checked against the zone because the key was empty or longer than 65535 bytes (counted only if another zone checked the request without rejecting it) |
HTTP Upstreams Tab#

This tab summarizes upstream monitoring statistics for the http context,
generated from the /status/http/upstreams/
API section. In debug mode, memory usage percentage is also displayed.
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).
For each upstream, in addition to its name and shared memory zone utilization ratio, the following data is presented:
Server | Names, total downtimes, and weights of upstream servers Tip 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 in bytes per second, as well as total volumes of outgoing and incoming traffic in bytes |
Server checks | Number of unsuccessful attempts to contact the server and the number of times
the server was considered unavailable (the |
Health monitors | Total number of server checks, number of unsuccessful checks, and the time of the last check |
Response time | Time from the beginning of the request to sending the first byte of the response;
total time from the beginning of the request to completion of sending the entire response
(the |
Editing upstreams#
In Angie PRO, there is an edit button next to each upstream; when clicked, it displays two more buttons:
TCP/UDP Zones Tab#
Warning
Requires setting the status_zone directive in a
server block of the stream context. The Connection Limit
Zones section also requires the limit_conn_zone
directive in the stream context.
Example:
stream {
# ...
limit_conn_zone $connection zone=limit-conn-stream:10m;
server {
# ...
status_zone foo;
# optional: counts this server's connections in the zone
limit_conn limit-conn-stream 1;
}
}
TCP/UDP Zones Section#

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 name |
| Current and total number of connections, as well as the number of connections per second |
| Number of sessions broken down by status codes, as well as their total number |
| Outgoing and incoming traffic rates in bytes per second, as well as total volumes of outgoing and incoming traffic in bytes |
| Aggregate counts of: successful SSL handshakes; unsuccessful SSL handshakes; SSL session reuses |
Connection Limit Zones (Limit Conn) Section#

Displays statistics of the zones defined by
limit_conn_zone in the stream context,
generated from the /status/stream/limit_conns/ API section. The following data is presented for
each zone:
| Zone name Tip Click the icon next to |
| Total number of connections checked against the zone and not limited |
| Total number of rejected connections |
| Total number of connections rejected due to zone storage overflow |
| Total number of connections not checked against the zone because the key was empty or longer than 255 bytes (counted only if no zone rejected the connection) |
TCP/UDP Upstreams Tab#

This tab summarizes upstream monitoring statistics for the stream context,
generated from the /status/stream/upstreams/ API section.
In debug mode, memory usage percentage is also displayed.
The
Show upstreams listbutton toggles the display of a brief list of upstreams with the number of problematic upstreams and peers.The
Failed onlyswitch enables and disables the display mode for problematic upstreams statistics.The edit button opens the
upstream editingwidget.The dropdown list on the right side of each upstream table allows you to filter servers in a specific state (
Up,Failed,Checking,Down).
For each upstream, the following data is presented:
| Names, total downtimes, and weights of upstream servers Tip Click the arrow next to |
| Number of active connections and their maximum limit, if set |
| Outgoing and incoming traffic rates in bytes per second, as well as total volumes of outgoing and incoming traffic in bytes |
| Number of unsuccessful attempts to contact the server and the number of times
the server was considered unavailable (the |
| Total number of server checks, number of unsuccessful checks, and the time of the last check |
| Time spent establishing a connection to the backend;
time from the beginning of the request to receiving the first byte of the response;
total time elapsed from the beginning of the request to receiving the last byte of the response
(the |
Editing upstreams#
In Angie PRO, there is an edit button next to each upstream; when clicked, it displays two more buttons:
Caches Tab#

Warning
Requires a cache zone set by the proxy_cache_path, fastcgi_cache_path, scgi_cache_path, or uwsgi_cache_path directive.
This tab summarizes monitoring statistics for cache zones in the http
context, generated from the /status/http/caches/ API
section. The following data is presented for each zone:
| Zone name Tip Click the icon next to |
| Cache state: cold (metadata being loaded into memory) or warm (metadata loaded) |
| Memory utilization ratio |
| Maximum cache size on disk, in bytes; the infinity sign if the cache size isn't limited |
| Current cache size on disk, in bytes |
| Disk utilization ratio |
| Traffic served from cache, written to cache, and returned bypassing the cache, in bytes |
| Percentage of responses served from cache ( |
For a sharded zone, Max size, Used, and
Disk usage are tracked per shard; the zone's own row shows dashes, and
the zone is displayed as a dropdown list of individual shards:
| Shard path on disk |
| Shard state: cold (metadata being loaded into memory) or warm (metadata loaded) |
| Maximum shard size on disk, in bytes; the infinity sign if the shard size isn't limited |
| Current shard size on disk, in bytes |
| Disk utilization ratio |
Resolvers Tab#

Warning
Requires setting the status_zone parameter
of the resolver directive
(HTTP, Stream, or
Mail).
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 name Tip Click the arrow next to |
| Number of A and AAAA, SRV, PTR type requests |
| Number of responses broken down by corresponding codes
( |
Settings Widget#

Allows you to configure general console parameters:
Data refresh rate. Default value – 1 sec.
Threshold for the share of
4xxresponses among all requests of an HTTP zone or HTTP upstream server. Above it, the zone or server is counted as a warning in the HTTP Zones or HTTP Upstreams widget, and the matching tab's icon turns "yellow" if nothing there has problems; on the HTTP Zones tab, the zone's row is also marked "yellow". Default value – 30%.Time window for calculating the cache hit ratio. Default value – 300 sec.
Error threshold for resolvers. When it is exceeded, the resolver zone turns "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
. 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.


