Console Light Web Monitoring Panel#
Introduction#
Angie provides a wide range of possibilities to monitor its work; in addition to the metrics API and the http_prometheus module, you can use a visual console that installs beside the server.
Console Light is a lightweight, real-time activity monitoring interface that displays key server performance metrics. The console is based on the API capabilities of Angie; activity monitoring data is pulled in real time. In addition, the console allows you to dynamically modify Angie configuration if the API itself provides this capability.
Example of a deployed and configured console: https://console.angie.software/
Installation and configuration#
Console Light is published as
angie-console-light
(Angie)
and
angie-pro-console-light
(Angie PRO)
in
our repositories
and can be installed like any other package;
also, you can download the source code
from our website
or
GitHub.
Current version is 1.4.0.
After installation, configure the console by adding the following location inside a server block in the configuration file (mind 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
;
above, the path is set as /console/
.
As in the sample above, authentication can be enabled for an arbitrary API section, for example:
location /console/server_zones/ {
auth_basic "Protected site";
auth_basic_user_file conf/htpasswd;
}
You can also restrict access to an arbitrary 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, the interface elements are described from left to right.
Angie Tab#
This is the main tab where the main Angie monitoring indicators based
on data from several API sections are displayed.
About Widget#
Displays Angie version number with a link to the relevant documentation set, as well as the server address and the last restart time.
Besides, if the api_config_files directive is enabled, the Configs link opens a list of configuration files that were loaded on the server. Each file can be then opened in a compact view with syntax highlighting.
Connections Widget#
Displays basic server connection statistics, generated from the /status/connections/ API section:
Current |
Current connections |
Accepted/s |
Connections accepted per second |
Active |
Active connections |
Idle |
Idle connections |
Dropped |
Dropped connections |
Also available:
Accepted |
Total connections accepted since the last server restart |
HTTP Zones Widget#
Attention
The widget requires setting the status_zone directive
in a server
or location
context.
Displays shared memory zone statistics of the http
context, generated from
the /status/http/server_zones/ API
section:
Total |
Total zones |
Problems |
Problematic zones |
Traffic |
Total incoming and outgoing traffic |
HTTP Upstreams Widget#
Attention
The widget requires setting the upstream directive
in the http
context.
Displays http
context upstream statistics, generated from the
/status/http/upstreams/ API section:
Total |
Total upstreams |
Problems |
Problematic upstreams |
Servers |
Server statistics by state |
TCP/UDP Zones Widget#
Attention
The widget requires setting the following directives:
limit_conn_zone in a
stream
context
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 of the stream
context, generated from
the /status/stream/server_zones/ API
section:
Conn total |
Total client connections |
Conn current |
Current client connections |
Conn/s |
Connections handled per second |
TCP/UDP Upstreams Widget#
Attention
The widget requires setting the upstream directive
in the stream
context.
Displays upstream statistics of the stream
context, generated from the
/status/stream/upstreams/ API section:
Total |
Total upstreams |
Problems |
Problematic upstreams |
Servers |
Server statistics by state |
HTTP Zones Tab#
Attention
The tab requires setting the status_zone directive
in a server
or location
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 |
Hint
Click the arrow next to Zone to sort the zones alphabetically or in configuration order.
Requests |
Total number of requests as well as the number of requests per second |
Responses |
Number of responses by status code, as well as the total number of responses |
Traffic |
Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic |
SSL |
Cumulative counts of: - successful SSL handshakes; - SSL sessions reused; - SSL handshakes with expired timeout; - unsuccessful SSL handshakes. |
Location Zones Section#
Summarizes statistics of shared memory zone monitoring 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 the zones alphabetically or in configuration order.
Requests |
Total number of requests as well as the number of requests per second |
Responses |
Number of responses by status code, as well as the total number of responses |
Traffic |
Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic |
Limit Conn Section#
Displays statistics of limit_conn
zones in http
context, generated from
the /status/http/limit_conns/ API section.
The following data is provided 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 proxied connections |
Rejected |
Total rejected connections |
Exhausted |
Total connections dropped due to zone storage being exhausted |
Skipped |
Total connections passed with a key of zero or greater than 255 bytes |
Limit Req Section#
Displays statistics of limit_reqs
zones in the http
context, generated
from the /status/http/limit_reqs/ API section. The
following data is provided 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 proxied connections |
Delayed |
Total delayed connections |
Rejected |
Total rejected connections |
Exhausted |
Total connections dropped due to zone storage being exhausted |
Skipped |
Total connections passed with a key of zero or greater than 255 bytes |
HTTP Upstreams Tab#
Attention
The tab requires setting the upstream directive
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 summary of upstreams with the number of problematic upstreams and servers.
The Failed only switch toggles the output mode focused on problematic upstreams.
The edit button (Angie PRO only) toggles the upstream editing interface.
The drop-down list on the right side of each upstream table allows you to filter its servers by 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, downtimes, and weights of upstream servers |
Hint
Click the arrow next to Server to sort the servers by their state or configuration order.
Requests |
Total number and processing speed of requests |
Responses |
Number of responses by status code |
Conns |
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 |
Unsuccessful attempts to reach the server and the number of times the
server was considered unavailable ( |
Health monitors (Angie PRO only) |
Total server probes, unsuccessful probes, and the time of the last probe |
Editing upstreams#
For Angie PRO, there is an edit button next to each upstream; when clicked, it brings up two more buttons:
TCP/UDP Zones Tab#
Attention
The tab requires setting the following directives:
limit_conn_zone in a
stream
context
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#
Summarizes monitoring statistics of shared memory zones of 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 connections, as well as connections per second |
Sessions |
Number of sessions by status code, as well as total sessions |
Traffic |
Outgoing and incoming traffic rates, as well as total volumes of outgoing and incoming traffic |
SSL |
Cumulative counts of: - successful SSL handshakes; - unsuccessful SSL handshakes; - SSL sessions reused; - SSL handshakes with expired timeout. |
Limit Conn Section#
Displays statistics of limit_conn
zones in stream
context, generated
from the /status/stream/limit_conns/ API section. The
following data is provided 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 proxied connections |
Rejected |
Total rejected connections |
Exhausted |
Total connections dropped due to zone storage being exhausted |
Skipped |
Total connections passed with a key of zero or greater than 255 bytes |
TCP/UDP Upstreams Tab#
Attention
The tab requires setting the upstream directive
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 a summary of upstreams with the number of problematic upstreams and servers.
The Failed only switch toggles the output mode focused on problematic upstreams.
The edit button (Angie PRO only) toggles the upstream editing interface.
The drop-down list on the right side of each upstream table allows you to filter its servers by 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, downtimes, and weights of upstream servers |
Hint
Click the arrow next to Server to sort the servers by their state or configuration order.
Requests |
Total number and processing speed of requests |
Responses |
Number of responses by status code |
Conns |
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 |
Unsuccessful attempts to reach the server and the number of times the
server was considered unavailable ( |
Editing upstreams#
For Angie PRO, there is an edit button next to each upstream; when clicked, it brings up two more buttons:
Caches Tab#
Attention
The tab requires setting the proxy_cache_path directive
in the http
context.
Summarizes monitoring statistics of proxy_cache
zones of 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 shard lists for all zones that have them.
State |
Cache state: cold (metadata loading) 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 transferred from the cache, written to the cache, and returned bypassing the cache |
Hit ratio |
Cache hit ratio (traffic transferred from the cache to total volume) during the time window configured in settings |
If sharding is enabled for a zone, it is labeled as a drop-down list that contains individual shards:
Path |
Shard disk path |
State |
Shard state: cold (metadata loading) or hot (metadata loaded) |
Max size |
Maximum memory size |
Used |
Used memory size |
Disk usage |
Disk utilization ratio |
Resolvers Tab#
Attention
The tab requires setting the resolver directive
in the http
context.
Summarizes statistics of queries in the 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 the zones by their state or configuration order.
Requests |
Number of A and AAAA, SRV, or PTR requests |
Responses |
Number of responses by relevant codes (Format error, Server failure, Name Error, Not Implemented, Refused, and others) |
Settings Widget#
Allows you to configure the frequency of data updates in the console, the 4xx status threshold ratio that makes yellow warnings appear in the corresponding server response sections, as well as a time window for calculating the ratio of successful cache hits (Hit ratio) and the error accounting threshold for the resolver that turns it red.
Console control pane#
All tabs have a pull-aside bar in the middle left of the page with two buttons; the top one pauses or restarts data updates from the API, and the bottom one allows you to update the data manually when the update is paused.