Расширенный мониторинг сети

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

Расширьте мониторинг сети с помощью метрик сетевого трафика на хостах Linux в контейнерах.

С сетевыми метриками, добавленными к вашим контейнерным хостам, анализ основных причин Davis® будет использовать их и расширять анализ, чтобы обеспечить представление о проблемах, связанных с сетью. Интенсивный сетевой трафик на определенных узлах является признаком того, что вам следует подумать о масштабировании кластера.

NetTracer

NetTracer — это инструмент с открытым исходным кодом для отслеживания событий TCP и сбора показателей сетевых подключений в Linux. Он состоит из двух частей:

  • Программа BPF, используемая для сбора данных
  • Двоичный файл, который представляет данные в структурированном или полуструктурированном формате.

Преимущества:

  • Он может отслеживать события TCP: подключение , принятие и закрытие .
  • Он может собирать метрики о каждом отслеживаемом соединении.
  • Это высокопроизводительное приложение (написано на C и C++).
  • Не зависит от версии и конфигурации ядра (ядро Linux 4.15 и выше)
  • Это проект с открытым исходным кодом ( NetTracer ) .

NetTracer определяет TCP-соединение IPv4 и IPv6 по исходному адресу и порту, конечному адресу и порту, PID взаимодействующего процесса и сетевому пространству имен.

Используя это определение соединения TCP, он собирает следующие показатели:

  • Байтов отправлено
  • Байтов получено
  • Пакетов отправлено
  • Пакетов получено
  • Пакетов, переданных повторно
  • Время приема-передачи (в микросекундах)
  • Отклонение времени приема-передачи (не используется в анализе Ключ-АСТРОМ)

По умолчанию NetTracer включается в качестве двоичного oneagentnettracerфайла с каждой установкой ЕдиногоАгента, и его можно включить через веб-интерфейс Ключ-АСТРОМ.

Платформы, поддерживаемые NetTracer

NetTracer официально поддерживает версию ядра Linux 4.15 и выше, но другие компоненты Ключ-АСТРОМ, которые сосуществуют с NetTracer на определенном хосте, предъявляют особые требования и поддерживаются в определенных дистрибутивах Linux. В следующей таблице перечислены протестированные и самые безопасные дистрибутивы Linux, которые следует использовать при планировании использования NetTracer с Ключ-АСТРОМ.

Дистрибутив Архитектура Выпуск
CentOS x86_64 8.0 и выше
Ubuntu x86_64 18.04 LTS и выше

Включение NetTracer

Если этот параметр включен, ЕдиныйАгент будет использовать NetTracer для сбора сетевых данных из контейнеров, но только для хостов Linux.

Чтобы включить NetTracer на определенном хосте Linux

  1. В меню Ключ-АСТРОМ перейдите в раздел Хосты и выберите свой хост Linux.
  2. На странице обзора хоста выберите Дополнительно ( … ) > Настройки в правом верхнем углу страницы.
  3. На странице Настройки хоста выберите Трафик NetTracer и включите Включить мониторинг сети трафика NetTracer .

Чтобы включить NetTracer глобально на всех ваших хостах Linux

  1. В меню Ключ-АСТРОМ перейдите в Настройки .
  2. В разделе Мониторинг выберите Трафик NetTracer и включите Включить мониторинг сети трафика NetTracer .

Встроенные метрики для NetTracer

Ключ метрики Название и описание Ед. изм Агрегации
builtin:tech.nettracer.bytes_rx Байтов получено

Байтов получено

Байт autoavgcountmaxminsum
builtin:tech.nettracer.bytes_tx Байтов передано

Байтов передано

Байт autoavgcountmaxminsum
builtin:tech.nettracer.pkts_retr Ретранслируемые пакеты

Количество повторно переданных пакетов

единица autovalue
builtin:tech.nettracer.pkts_rx Пакетов получено

Количество полученных пакетов

единица autovalue
builtin:tech.nettracer.pkts_tx Пакетов передано

Количество переданных пакетов

единица autovalue
builtin:tech.nettracer.retr_percentage Ретрансляция

Процент повторно переданных пакетов

Процент (%) autoavgmaxmin
builtin:tech.nettracer.rtt Время в пути туда и обратно

Время прохождения туда и обратно в миллисекундах. Агрегирует данные активных сессий

Миллисекунда autoavgcountmaxminsum
builtin:tech.nettracer.traffic Сетевой трафик

Сводка входящего и исходящего сетевого трафика в битах в секунду

бит /с autovalue
builtin:tech.nettracer.traffic_rx Входящий трафик

Входящий сетевой трафик в битах в секунду

бит /с autovalue
builtin:tech.nettracer.traffic_tx Исходящий трафик

Исходящий сетевой трафик в битах в секунду

бит /с autovalue

Расчетные показатели для NetTracer

Рассчитываются следующие метрики, доступные для NetTracer:

  • builtin:tech.nettracer.retr_percentage(Ретрансляция) Повторная передача = повторно переданные пакеты / (повторно переданные пакеты + переданные пакеты) * 100
  • builtin:tech.nettracer.traffic_rx(Входящий трафик) Входящий трафик = (сумма полученных байт * 8) в секунду
  • builtin:tech.nettracer.traffic_tx(Исходящий трафик) Исходящий трафик = (сумма переданных байт: сумма * 8) в секунду
  • builtin:tech.nettracer.traffic(Сетевой трафик) Сетевой трафик = ((сумма полученных байтов + сумма переданных байтов) * 8) в секунду

Размеры для NetTracer

Ключ метрики Измерение Ценность Ед. изм
builtin:tech.nettracer.bytes_rx dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Датчик, где:

сумма = количество байтов из всех сеансов в заданный период времени

avg/min/max = среднее/минимальное/максимальное количество байтов за сеанс в заданный период времени

count = количество сеансов в заданный период времени

Байты
builtin:tech.nettracer.bytes_tx dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Датчик, где:

сумма = количество байтов из всех сеансов в заданный период времени

avg/min/max = среднее/минимальное/максимальное количество байтов за сеанс в заданный период времени

count = количество сеансов в заданный период времени

Байты
builtin:tech.nettracer.pkts_rx dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Счетчик, отправка дельт/сброс счетчика единицы
builtin:tech.nettracer.pkts_tx dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Счетчик, отправка дельт/сброс счетчика единицы
builtin:tech.nettracer.pkts_retr dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Счетчик, отправка дельт/сброс счетчика единицы
builtin:tech.nettracer.rtt dt.entity.process_group_instance

dt.entity.process_group

dt.entity.host

Измерение Миллисекунды

Размеры контейнера для NetTracer

Если процесс выполняется в контейнере, добавляются следующие измерения:

  • dt.entity.container_group_instance
  • dt.entity.container_group

Дополнительные измерения контейнера добавляются в зависимости от типа развертывания.

Kubernetes Докер (без Kubernetes)
container.image.name(если он доступен)

k8s.container.name

k8s.namespace.name

k8s.pod.name

k8s.pod.uid

container.image.name

container.name

Где можно увидеть данные NetTracer?

После сбора данные NetTracer доступны в виде метрик в Ключ-АСТРОМ.

  • Вы можете использовать метрики в проводнике данных для создания диаграмм и информационных панелей, отображающих интересующие вас данные.
  • Раздел сетевых показателей на страницах Обзор хоста и Обзор группы процессов содержит данные NetTracer в сочетании с другими сетевыми данными, проанализированными для этого хоста.

Характеристики NetTracer

  • ebpfМодуль NetTracer отслеживает только 4096 TCP-соединений .
  • Для получения информации о прослушиваемых портах требуется активное TCP-соединение.