Веб-панель мониторинга Console Light#
Angie предоставляет широкий спектр возможностей мониторинга своей работы; помимо метрик в API и модуля Prometheus, можно использовать визуальную консоль, устанавливаемую в дополнение к серверу.
Console Light#
Console Light — это облегченный интерфейс мониторинга активности в реальном времени, который отображает ключевые показатели нагрузки и производительности сервера. Консоль основана на возможностях API-интерфейса Angie; данные мониторинга активности генерируются в реальном времени. Кроме того, консоль позволяет динамически изменять конфигурацию Angie там, где эту возможность предоставляет сам API.
Пример развернутой и настроенной консоли: https://console.angie.software/
Установка и настройка#
Console Light публикуется в виде пакетов
angie-console-light
(Angie)
и
angie-pro-console-light
(Angie PRO)
в
наших репозиториях
и устанавливается так же, как и любой другой пакет;
кроме того, можно скачать исходный код
с нашего веб-сайта
или
GitHub.
Текущая версия — 1.4.0.
После установки настройте консоль, добавив такой фрагмент location внутри блока server в файле конфигурации (обратите внимание на комментарии):
location /console/ {
# Только локальный доступ
allow 127.0.0.1;
deny all;
auto_redirect on;
alias /usr/share/angie-console-light/html/;
# Только во FreeBSD:
# alias /usr/local/www/angie-console-light/html/;
index index.html;
location /console/api/ {
api /status/;
}
# Чтобы после аутентификации работали функции редактирования (только PRO)
location /console/api/config/ {
auth_basic "Защищенный сайт";
auth_basic_user_file conf/htpasswd;
api /config/;
}
}
Не забудьте применить измененную конфигурацию:
$ sudo angie -t && sudo service angie reload
После этого консоль будет доступна
на сервере, заданном блоком server
,
по указанному для location
пути;
выше путь задан как /console/
.
Включить аутентификацию аналогично примеру выше можно для произвольного раздела API, например:
location /console/server_zones/ {
auth_basic "Защищенный сайт";
auth_basic_user_file conf/htpasswd;
}
Можно также запретить доступ к произвольному разделу
настроенного таким образом location
для консоли, например:
location /console/api/resolvers/ {
deny all;
}
Интерфейс#
Консоль представляет собой единый экран с набором вкладок, каждая из которых содержит ряд виджетов с данными мониторинга.
Подсказка
В разделах ниже описания элементов интерфейса даны в порядке слева направо.
Вкладка Angie#
Это основная вкладка, где в сводном виде отображаются основные показатели мониторинга Angie, сведенные на основе данных из нескольких разделов API.
Виджет About#
Здесь выводится номер версии Angie со ссылкой на соответствующую документацию, а также адрес сервера и время последней перезагрузки конфигурации.
Кроме того, если включена директива api_config_files, ссылка Configs открывает список файлов конфигурации, загруженных на сервере. Затем каждый файл можно просмотреть в компактном виде с подсветкой синтаксиса.
Виджет Connections#
Здесь представлена основная статистика серверных соединений, формируемая на основе раздела API /status/connections/:
Current |
Текущее количество соединений |
Accepted/s |
Число принимаемых за секунду соединений |
Active |
Число активных соединений |
Idle |
Число соединений в состоянии ожидания |
Dropped |
Количество сброшенных соединений |
Также доступно:
Accepted |
Общее число соединений, принятых с последней перезагрузки сервера |
Виджет HTTP Zones#
Внимание
Требует задать директиву status_zone
в контексте server
или location
.
Здесь представлена статистика зон разделяемой памяти контекста http
,
формируемая на основе раздела API /status/http/server_zones/:
Total |
Общее количество зон |
Problems |
Количество зон с какими-либо проблемами |
Traffic |
Общий объем входящего и исходящего трафика |
Виджет HTTP Upstreams#
Внимание
Требует задать директиву upstream
в контексте http
.
Здесь представлена статистика апстримов контекста http
, формируемая на
основе раздела API /status/http/upstreams/:
Total |
Общее количество апстримов |
Problems |
Количество апстримов с какими-либо проблемами |
Servers |
Статистика серверов с разделением по состоянию |
Виджет TCP/UDP Zones#
Внимание
Требует задать следующие директивы:
limit_conn_zone в контексте
stream
.
Пример:
stream {
# ...
limit_conn_zone $connection zone=limit-conn-stream:10m;
server {
# ...
limit_conn limit-conn-stream 1;
status_zone foo;
}
}
Здесь представлена статистика зон разделяемой памяти контекста stream
,
формируемая на основе раздела API /status/stream/server_zones/:
Conn total |
Общее количество клиентских соединений |
Conn current |
Текущее количество клиентских соединений |
Conn/s |
Количество обрабатываемых в секунду соединений |
Виджет TCP/UDP Upstreams#
Внимание
Требует задать директиву upstream
в контексте stream
.
Здесь представлена статистика апстримов контекста stream
, формируемая на
основе раздела API /status/stream/upstreams/:
Total |
Общее количество апстримов |
Problems |
Количество апстримов с какими-либо проблемами |
Servers |
Статистика серверов с разделением по состоянию |
Вкладка HTTP Zones#
Внимание
Требует задать директиву status_zone
в контексте server
или location
.
Раздел Server Zones#
Здесь в сводном виде отображается статистика мониторинга зон разделяемой памяти
для контекста server
в http
, формируемая на основе раздела API
/status/http/server_zones/. Для каждой
зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните стрелку рядом с пунктом Zone, чтобы отсортировать зоны по алфавиту или порядку в конфигурации.
Requests |
Общее количество запросов, а также число запросов в секунду |
Responses |
Количество ответов с разбиением по кодам статуса, а также их общее количество |
Traffic |
Скорость исходящего и входящего трафика, а также общие объемы исходящего и входящего трафика |
SSL |
Суммарные показатели количества: - успешных SSL-рукопожатий; - повторных использований SSL-сессий; - SSL-рукопожатий с истекшим таймаутом; - неуспешных SSL-рукопожатий. |
Раздел Location Zones#
Здесь в сводном виде отображается статистика мониторинга зон разделяемой памяти
для контекста location
в http
, формируемая на основе раздела API
/status/http/location_zones/. Для
каждой зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните стрелку рядом с пунктом Zone, чтобы отсортировать зоны по алфавиту или порядку в конфигурации.
Requests |
Текущее и общее количество запросов, а также число запросов в секунду |
Responses |
Количество ответов с разбиением по кодам статуса, их общее количество, а также число ответов в секунду |
Traffic |
Скорость исходящего и входящего трафика, а также общие объемы исходящего и входящего трафика |
Раздел Limit Conn#
Здесь приведена статистика зон limit_conn
в контексте http
, формируемая
на основе раздела API /status/http/limit_conns/. Для каждой зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните значок рядом с пунктом Zone, чтобы открыть или закрыть график со следующими показателями.
Passed |
Общее количество проксированных соединений |
Rejected |
Общее количество сброшенных соединений |
Exhausted |
Общее количество соединений, сброшенных из-за переполнения хранилища зоны |
Skipped |
Общее количество соединений, переданных с нулевым или превосходящим 255 байт ключом |
Раздел Limit Req#
Здесь приведена статистика зон limit_reqs
в контексте http
, формируемая
на основе раздела API /status/http/limit_reqs/. Для
каждой зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните значок рядом с пунктом Zone, чтобы открыть или закрыть график со следующими показателями.
Passed |
Общее количество проксированных соединений |
Delayed |
Общее количество задержанных соединений |
Rejected |
Общее количество сброшенных соединений |
Exhausted |
Общее количество соединений, сброшенных из-за переполнения хранилища зоны |
Skipped |
Общее количество соединений, переданных с нулевым или превосходящим 255 байт ключом |
Вкладка HTTP Upstreams#
Внимание
Требует задать директиву upstream
в контексте http
.
На этой вкладке в сводном виде отображается статистика мониторинга апстримов
контекста http
, формируемая на основе раздела API
/status/http/upstreams/.
Кнопка Show upstreams list переключает краткий список апстримов с указанием числа проблемных апстримов и серверов.
Переключатель Failed only переключает режим вывода статистики по проблемным апстримам.
Кнопка редактирования (только в Angie PRO) переключает интерфейс редактирования апстрима.
Раскрывающийся список с правой стороны таблицы каждого апстрима позволяет отфильтровать серверы в определенном состоянии (Up, Failed, Checking, Down).
Для каждого апстрима, помимо имени и коэффициента использования зоны разделяемой памяти, представлены следующие данные:
Server |
Имена, время простоя и веса серверов апстрима |
Подсказка
Щелкните стрелку рядом с пунктом Server, чтобы отсортировать серверы по их состоянию или порядку в конфигурации.
Requests |
Общее количество и скорость обработки запросов |
Responses |
Количество ответов с разбиением по кодам статуса |
Conns |
Количество активных соединений и их максимальный предел, если он задан |
Traffic |
Скорость исходящего и входящего трафика, а также общие объемы исходящего и входящего трафика |
Server checks |
Количество неуспешных обращений к серверу и число раз, когда сервер
считался недоступным (объект |
Health monitors (только в Angie PRO) |
Общее количество проверок сервера, количество неуспешных проверок, а также время последней проверки |
Редактирование апстримов#
В Angie PRO рядом с каждым апстримом есть кнопка редактирования; при нажатии она выводит еще две кнопки:
Вкладка TCP/UDP Zones#
Внимание
Требует задать следующие директивы:
limit_conn_zone в контексте
stream
.
Пример:
stream {
# ...
limit_conn_zone $connection zone=limit-conn-stream:10m;
server {
# ...
limit_conn limit-conn-stream 1;
status_zone foo;
}
}
Раздел TCP/UDP Zones#
Здесь в сводном виде отображается статистика мониторинга зон разделяемой памяти
контекста server
в stream
, формируемая на основе раздела API
/status/stream/server_zones/. Для каждой
зоны представлены следующие данные:
Zone |
Имя зоны |
Connections |
Текущее и общее количество соединений, а также число соединений в секунду |
Sessions |
Количество сессий с разбиением по кодам статуса, а также их общее число |
Traffic |
Скорость исходящего и входящего трафика, а также общие объемы исходящего и входящего трафика |
SSL |
Суммарные показатели количества: - успешных SSL-рукопожатий; - неуспешных SSL-рукопожатий; - повторных использований SSL-сессий; - SSL-рукопожатий с истекшим таймаутом. |
Раздел Limit Conn#
Здесь приведена статистика зон limit_conn
в контексте
stream
, формируемая на основе раздела API /status/stream/limit_conns/. Для каждой зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните значок рядом с пунктом Zone, чтобы открыть или закрыть график со следующими показателями.
Passed |
Общее количество проксированных соединений |
Rejected |
Общее количество сброшенных соединений |
Exhausted |
Общее количество соединений, сброшенных из-за переполнения хранилища зоны |
Skipped |
Общее количество соединений, переданных с нулевым или превосходящим 255 байт ключом |
Вкладка TCP/UDP Upstreams#
Внимание
Требует задать директиву upstream
в контексте stream
.
На этой вкладке в сводном виде отображается статистика мониторинга апстримов
контекста stream
, формируемая на основе раздела API
/status/stream/upstreams/.
Кнопка Show upstreams list переключает отображение краткого списка апстримов с указанием числа проблемных апстримов и серверов.
Переключатель Failed only включает и отключает режим вывода статистики по проблемным апстримам.
Кнопка редактирования (только в Angie PRO) открывает виджет редактирования апстрима.
Раскрывающийся список с правой стороны таблицы каждого апстрима позволяет отфильтровать серверы в определенном состоянии (Up, Failed, Checking, Down).
Для каждого апстрима представлены следующие данные:
Server |
Имена, время простоя и веса серверов апстрима |
Подсказка
Щелкните стрелку рядом с пунктом Server, чтобы отсортировать серверы по их состоянию или порядку в конфигурации.
Requests |
Общее количество и скорость обработки запросов |
Responses |
Количество ответов с разбиением по кодам статуса |
Conns |
Количество активных соединений и их максимальный предел, если он задан |
Traffic |
Скорость исходящего и входящего трафика, а также общие объемы исходящего и входящего трафика |
Server checks |
Количество неуспешных обращений к серверу и число раз, когда сервер
считался недоступным (объект |
Редактирование апстримов#
В Angie PRO рядом с каждым апстримом есть кнопка редактирования; при нажатии она выводит еще две кнопки:
Вкладка Caches#
Внимание
Требует задать директиву proxy_cache_path
в контексте http
.
На этой вкладке в сводном виде отображается статистика мониторинга зон
proxy_cache
контекста http
, формируемая на основе раздела API
/status/http/caches/. Для каждой зоны
представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните значок рядом с пунктом Zone, чтобы открыть или закрыть списки шардов для всех зон, где они есть.
State |
Состояние кэша: холодный (метаданные загружаются в память) или горячий (метаданные загружены) |
Memory usage |
Коэффициент использования памяти |
Max size |
Максимальный объем памяти |
Used |
Использованный объем памяти |
Disk usage |
Коэффициент использования дисковой памяти |
Traffic |
Переданный из кэша, записанный в кэш и возвращенный в обход кэша трафик |
Hit ratio |
Коэффициент попадания в кэш (отношение переданного из кэша трафика к общему объему) за временное окно, заданное в настройках |
Если для зоны включен шардинг, то она обозначена как раскрывающийся список, в котором перечислены отдельные шарды:
Path |
Путь шарда на диске |
State |
Состояние шарда: холодный (метаданные загружаются в память) или горячий (метаданные загружены) |
Max size |
Максимальный объем памяти |
Used |
Использованный объем памяти |
Disk usage |
Коэффициент использования дисковой памяти |
Вкладка Resolvers#
Внимание
Требует задать директиву resolver
в контексте http
.
На этой вкладке в сводном виде отображается статистика запросов в зонах разделяемой памяти DNS, формируемая на основе раздела API /status/resolvers/. Для каждой зоны представлены следующие данные:
Zone |
Имя зоны |
Подсказка
Щелкните стрелку рядом с пунктом Zone, чтобы отсортировать зоны по состоянию или порядку в конфигурации.
Requests |
Количество запросов типа A и AAAA, SRV и PTR |
Responses |
Количество ответов с разделением по соответствующим кодам (Format error, Server failure, Name Error, Not Implemented, Refused и прочих) |
Виджет Настройки#
Позволяет настроить частоту обновления данных в консоли, пороговое соотношение статусов 4xx, по достижении которого в соответствующих разделах, посвященных ответам сервера, появляются "желтые" предупреждения, а также временное окно для вычисления соотношения успешных попаданий в кэш (Hit ratio) и порог учета ошибок для резолвера, по достижении которого он станет "красным".
Панель управления консолью#
На всех вкладках в середине левой части страницы есть выдвигающаяся панель с двумя кнопками; верхняя приостанавливает и вновь запускает обновление данных из API, а нижняя позволяет обновить данные вручную, когда обновление приостановлено.