Поделиться через


Настройка регулирования для Аналитики контейнеров

Замечание

Журналы Container Insights регулируются только при сборе журналов сети контейнеров . Если вы не включили коллекцию журналов сети контейнеров, регулирование не включено в кластере.

Azure Monitor — Аналитика контейнеров позволяет клиентам собирать журналы, созданные в кластере Службы Azure Kubernetes (AKS). В зависимости от рабочей нагрузки и конфигурации ведения журнала объем сгенерированных журналов может быть значительным, что приводит к дросселированию и потере данных журнала. В этой статье рассматриваются значения по умолчанию, после которых журналы регулируются в Службе Аналитики контейнеров. Мы обсудим, как клиенты могут изменять эти значения. В последнем разделе описывается, как отслеживать потенциальные проблемы регулирования с помощью панели мониторинга Grafana "Качество обслуживания" (QoS).

Значения регулирования по умолчанию

Регулирование включено по умолчанию со следующими значениями:

Параметр ConfigMap Значение по умолчанию Описание
ограничение_включено правда По умолчанию задано значение true и измените это значение, чтобы управлять включением или отключением сообщений журнала сетевого потока.
throttle_rate 5 000 По умолчанию значение равно 5000 и диапазон от 1 до 25 000 и измените это значение, чтобы управлять количеством записей журнала в течение периода времени.
окно ограничения 300 По умолчанию используется значение 300, но его можно изменить для управления количеством интервалов, используемых для вычисления среднего значения.
интервал ограничения По умолчанию используется значение 1s и настройте это значение для управления интервалом времени, выраженным в формате спящего режима. Примеры: 3 с, 1,5 мин, 0,5 ч и т. д.
ограничение печати неправда По умолчанию имеет значение false и измените это значение, чтобы контролировать, следует ли выводить сообщения о состоянии с текущей скоростью и ограничениями журналов информации.

Изменение значений регулирования

Чтобы изменить значения по умолчанию, загрузите ConfigMap и измените следующие параметры в этом загруженном ConfigMap:

throttle_enabled = true # By default is true and adjust this value to control whether to enable or disable network flow log messages. 
throttle_rate = 5000 # By default is 5000 and range from 1 to 25,000 and adjust this value to control the amount of messages for the time. 
throttle_window = 300 # By default is 300 and adjust this value to control the amount of intervals to calculate average over. 
throttle_interval = "1s" # By default is 1s and adjust this value to control time interval, expressed in "sleep" format. Examples: 3s, 1.5m, 0.5h etc. 
throttle_print = false # By default is false and adjust this value to control whether to print status messages with current rate and the limits to information logs. 

После применения configmap с помощью команды kubectl apply, pod'ы будут перезапущены в течение нескольких минут.

kubectl apply -f agent_settings.networkflow_logs_config.yaml

Мониторинг метрик качества обслуживания с помощью Prometheus и Grafana

Надстройка журналов, которая собирает журналы контейнерной сети, публикует метрики качества обслуживания, которые можно использовать для отслеживания ограничения пропускной способности и потери данных журналов. В этом разделе описано, как клиенты могут использовать управляемую службу Azure Monitor для Prometheus для сбора этих метрик, а затем визуализировать их с помощью Grafana.

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

Шаги настройки

  1. Скачайте ama-metrics-prometheus-config-node ConfigMap
curl -LO https://aka.ms/ama-metrics-prometheus-config-node
  1. Проверьте, есть ли у вас уже существующий ama-metrics-prometheus-config-node ConfigMap
kubectl get cm -n kube-system | grep ama-metrics-prometheus-config-node

Если существует ConfigMap, можно добавить задание ama-logs-daemonset для сбора данных в существующий ConfigMap, иначе можно применить этот ConfigMap.

kubectl apply -f ama-metrics-prometheus-config-node.yaml 
  1. Импорт JSON-файла панели мониторинга Grafana в управляемый экземпляр Grafana Azure.

  2. Настройте enable_internal_metrics = true в ConfigMap https://github.com/microsoft/Docker-Provider/blob/ci_prod/kubernetes/container-azm-ms-agentconfig.yaml#L220

Примените configmap с помощью:

kubectl apply -f container-azm-ms-agentconfig.yaml 

Окончательная панель мониторинга

Последняя панель мониторинга качества обслуживания с потоком данных показана на следующем рисунке:

Изображение, показывающее окончательный результат настройки мониторинга качества обслуживания для Container Insights.