Я ищу способ мониторинга моего кластера k8s, получая входящий трафик от пользовательского доступа к приложениям.
Моя цель — получить информацию о том, какие услуги более востребованы в какое время дня, чтобы построить стратегию для лучшего обслуживания приложений.
Есть ли способ сделать этот мониторинг с помощью Grafana и Promql? Или мне понадобятся другие инструменты, работающие в моем кластере, для хранения и анализа данных?
Есть ли способ сделать этот мониторинг с помощью Grafana и PromQL?
Да
Есть ли способ родные сделать это с k8s?
Нет
Нахождение внутри кластера kubernetes не влияет на то, как собирать метрики вашего приложения (ну, конечно, между prom и k8s есть некоторая интеграция, такая как обнаружение сервисов, которая упрощает его).
Что вам нужно сделать, так это только что предоставить метрики ваших приложений. Так, например, если ваши приложения разрабатываются на Java с использованием Spring, вам нужно добавить Пружинный привод, чтобы выставить некоторые базовые метрики (это просто пример, существует множество решений для выставления метрик).
Теперь, когда ваши приложения предоставляют некоторые метрики, вам нужно добавить их в качестве цели в конфигурацию prometheus.
Есть какой-то экспортер prometheus для kubernetes, например kube-state-метрики, который позволяет собирать метрики для вашего кластера, но они не собирают такие метрики, как количество запросов к одному сервису (или я не знаю о существовании такого экспортера) .