- 21, Oct 2024
- #1
Контекст
Я пытаюсь составить диаграмму использования пропускной способности сети узлом двумя разными способами:
- Глядя на глобальные метрики для этого узла
- Суммируя соответствующие показатели для каждого пода
Для этого я выполняю следующие запросы Prometheus (пример полосы пропускания приема):
Для всего узла (метрика от узла-экспортера)
irate()
За капсулу (метрика из kubelet)
sum()
Результаты отображаются на следующей информационной панели Grafana после создания некоторой нагрузки на HTTP-сервис под названием thrpt-receiver
:
Вот что я вижу, если посмотреть на необработанные показатели без sum(irate(container_network_receive_bytes_total{node="$node",container!=""}[$__rate_interval])) by (pod,interface)
and sum(irate(node_network_receive_bytes_total{instance="10.142.0.54:9100"}[$__rate_interval])) by (device)
применяемый:
Проблема
Как видите, результаты сильно различаются, вплоть до того, что я почти уверен, что делаю что-то не так, но что?
Что вызывает у меня особенно подозрение в отношении показателей Pod, так это предположительно увеличивающаяся получаемая пропускная способность kube-proxy (который, AFAIK, не должен получать никакого трафика в режиме iptables) и таких агентов, как экспортер узлов Prometheus и т. д.
#Прометей