Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Контроллер ingress-nginx в надстройке маршрутизации приложений предоставляет множество метрик для запросов, процесса nginx и контроллера, который может быть полезным для анализа производительности и использования приложения.
Модуль маршрутизации приложений предоставляет конечную точку метрик Prometheus на порту 10254 и частную службу /metrics.
Prerequisites
- Кластер Службы Azure Kubernetes (AKS) с включенной надстройкой маршрутизации приложений.
- Экземпляр Prometheus, например управляемая служба Azure Monitor для Prometheus.
Проверка конечной точки метрик
Чтобы проверить, собираются ли метрики, можно настроить перенаправление порта с локального порта на порт 10254 на службе nginx-metrics.
kubectl port-forward -n app-routing-system service/nginx-metrics :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254
Запишите локальный порт (43307 в данном случае) и откройте http://localhost:43307/metrics в браузере. Вы должны увидеть загрузку метрик контроллера ingress-nginx.
Теперь можно завершить port-forward процесс, чтобы закрыть переадресацию.
Настройка управляемой службы Azure Monitor для Prometheus
Управляемая служба Azure Monitor для Prometheus — это полностью управляемая служба, совместимая с Prometheus, которая поддерживает стандартные отраслевые функции, такие как PromQL, панели мониторинга Grafana и оповещения Prometheus. Эта служба требует настройки надстройки метрик для агента Azure Monitor, который отправляет данные в Prometheus. Если ваш кластер не настроен с помощью дополнения, вы можете воспользоваться этой статьей, чтобы настроить службу Azure Kubernetes (AKS) для отправки данных в управляемую службу Azure Monitor для Prometheus.
Включение очистки на основе монитора служб
После обновления кластера с помощью агента Azure Monitor необходимо настроить агент, чтобы включить сбор данных с конечной точки метрик. Для этого можно создать pod или монитор службы .
Ниже осуществляется сбор метрик Мониторинга службы контроллером ingress-nginx, развернутым надстройкой для маршрутизации приложений.
kubectl apply -f - <<EOF
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: nginx-monitor
namespace: app-routing-system
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/component: ingress-controller
app.kubernetes.io/managed-by: aks-app-routing-operator
app.kubernetes.io/name: nginx
endpoints:
- port: prometheus
EOF
Через несколько минут pods в пространстве имен ama-metrics должны перезапуститься и применить новую конфигурацию.
Просмотр визуализации метрик в Управляемой Grafana Azure
Теперь, когда у вас есть управляемая служба Azure Monitor для Prometheus и Azure Managed Grafana, вы должны получить доступ к управляемому экземпляру Grafana.
Существуют две официальные панели мониторинга ingress-nginx, которые можно скачать и импортировать в экземпляр Grafana.
- Панель мониторинга контроллера Ingress-nginx
- Панель мониторинга производительности обработки запросов
Панель мониторинга контроллера Ingress-nginx
Эта панель мониторинга обеспечивает видимость объёма запросов, подключений, показателей успешности, перезагрузки конфигурации и несинхронизированных конфигураций. Вы также можете использовать её для просмотра нагрузки сетевого ввода-вывода, использования памяти и ЦП контроллера входящего трафика. Наконец, он также показывает время отклика P50, P95 и P99 percentile для ваших входящего трафика и их пропускной способности.
Эту панель мониторинга можно скачать на сайте GitHub.
Панель мониторинга производительности обработки запросов
Эта панель мониторинга обеспечивает видимость производительности обработки запросов для различных конечных точек входящего трафика, которые являются конечными точками ваших приложений, в которые контроллер входящего трафика перенаправляет трафик. В нем показаны процентили P50, P95 и P99 для общего времени запросов и времени исходящих откликов. Вы также можете просматривать статистические данные об ошибках запроса и задержках. Используйте эту панель мониторинга для просмотра и повышения производительности и масштабируемости приложений.
Эту панель мониторинга можно скачать на сайте GitHub.
Импорт панели мониторинга
Чтобы импортировать панель мониторинга Grafana, разверните меню слева и щелкните "Импортировать " в разделе "Панели мониторинга".
Затем отправьте нужный файл панели мониторинга и нажмите кнопку "Загрузить".
Дальнейшие шаги
- Вы можете настроить масштабирование рабочих нагрузок с помощью метрик входа, собранных Prometheus, используя автомасштабирование на основе событий Kubernetes (KEDA). Узнайте больше об интеграции KEDA с AKS.
- Создайте и запустите нагрузочный тест с помощью Azure Load Testing для тестирования производительности рабочей нагрузки и оптимизации масштабируемости приложений.