Мониторинг Kong Gateway

Материал из Документация Ключ-АСТРОМ

Поддержка технологий / Программное обеспечение / NGINX / Мониторинг Kong Gateway

С Ключ-Астром вы можете получить возможность наблюдать за Kong Gateway и его управляемыми API. Узнайте, как отслеживать свой Kong Gateway и собирать метрики с помощью расширения Kong Prometheus.

Предварительные требования

  • Ваша версия Kong Gate поддерживается Ключ-Астром.
  • ЕдиныйАгент или Ключ-Астром Operator установлены и доступны для мониторинга вашего Kong Gateway.

Необходимая установка зависит от вашего приложения:

Если ваше приложение работает См. инструкцию для
на виртуальной машине или на «голом железе» ЕдиныйАгент
как рабочая нагрузка в Kubernetes или OpenShift Ключ-Астром Operator

Трассировки

Чтобы начать трассировку приложений Kong, см. Инструментирование NGINX вручную.

Метрики

Ключ-Астром может собирать метрики с помощью плагина Kong Prometheus. Таким образом, предполагается следующая конфигурация:

Настройки Детали
Конечная точка служб Kong /services
Конечная точка Kong Routes /routes
Конечная точка плагинов Kong /plugins
Конечная точка метрик Prometheus /metrics
Порт HTTP прокси-сервера Kong 8000
Порт HTTPS прокси-сервера Kong 8443
HTTP-порт администратора Kong 8001
Порт HTTPS администратора Kong 8444

Обязательно адаптируйте инструкции по установке к вашей фактической конфигурации.

Включить плагин Prometheus на Kong

Чтобы включить плагин Prometheus в Kong, отправьте следующий запрос POST на конечную точку /plugins:

curl -X POST http://{HOST}:8001/plugins --data "name=prometheus"

Замените {HOST} вашим фактическим значением.

Чтобы проверить доступные метрики Kong, запросите конечную точку /metrics:

curl -i http://localhost:8001/metrics

Собирайте метрики Prometheus

Плагин Prometheus — самый удобный способ сбора метрик Kong. Плагин находится в постоянном развитии, поэтому появляются все новые и новые показатели.

В настоящее время Ключ-Астром предлагает три подхода к сбору метрик Prometheus в зависимости от среды.

Kubernetes

В Kubernetes Ключ-Астром поддерживает парсинг любой конечной точки HTTP(s), предлагая метрики в формате OpenMetrics (например, экспортеры Prometheus). С помощью аннотаций, специфичных для Ключ-Астром, вы можете указать, какие модули или сервисы следует очищать.

Узнайте, как собирать метрики Prometheus в Kubernetes.

Использование расширения

Ключ-Астром предоставляет масштабируемые средства для получения метрик Prometheus напрямую из источника без использования Kubernetes. Это работает полностью автоматически и работает лучше всего, если ЕдиныйАгент установлен на компьютере, где создаются метрики Prometheus, но это также можно сделать полностью без агента, когда ЕдиныйАгент не может быть установлен на устройстве.

  • Узнайте, как собирать метрики Prometheus без Kubernetes с помощью источника данных Extensions 2.0 Prometheus.
  • Ознакомьтесь с нашими руководствами по Extensions 2.0.

Кроме того, следите за нашим центром Software Intelligence, где мы часто публикуем новые расширения.

Amazon Managed

Amazon предоставляет управляемый сервис для Prometheus, а Ключ-Астром предоставляет средства для сбора метрик непосредственно из него, если вам это нужно. Однако, как правило, было бы более рентабельно использовать один из других методов, описанных здесь, и избежать дополнительных затрат на сервис Amazon.

Узнайте, как собирать метрики Prometheus из Amazon Managed Service для Prometheus.

Kong метрики

Ключ метрики Описание Тип
kong_bandwidth Общая пропускная способность в байтах, потребляемая на услугу/маршрут в Kong counter
kong_datastore_reachable Хранилище данных доступно из Kong; 0 недоступен gauge
kong_http_status Коды состояния HTTP для каждой службы/маршрута в Kong counter
kong_latency Задержка, добавленная Kong, общее время запроса и задержка восходящего потока для каждой службы/маршрута в Kong histogram
  • kong_latency_bucket
  • kong_latency_count
  • kong_latency_sum
gauge

counter

counter

kong_memory_lua_shared_dict_bytes Выделенные плиты в байтах в shared_dict gauge
kong_memory_lua_shared_dict_total_bytes Общая емкость в байтах shared_dict gauge
kong_memory_workers_lua_vms_bytes Выделенные байты в рабочей Lua VM gauge
kong_nginx_http_current_connections Количество HTTP-соединений gauge
kong_nginx_metric_errors_total Количество ошибок nginx-lua-prometheus counter
kong_nginx_timers Количество таймеров NGINX gauge