Мы создали плагин в Grafana для мониторинга Kubernetes
Он уже доступен в официальном Grafana-store!
Наконец-то свершился релиз нового и очень полезного опенсорсного проекта, созданного дирекцией разработки ITSumma — плагина в Grafana для мониторинга Kubernetes. Он включён в официальный графана-стор — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app
Его ключевые полезности:
- Интеграция с k8s-api для построения полной карты ваших приложений + группировка по неймспейсам + привязка к подам/сервисам.
- Графическое представление распределения приложений по нодам k8s-кластера в реальном времени.
- Реалтайм статистика о статусе приложений/подов в кластере и сообщений об ошибках (например, если ваше приложение перестало проходить liveness-probes).
- Дашборды со статистикой различных параметров нод кластера (использование CPU, памяти, нагрузки на дисковую подсистему и сетевые интерфейсы), а также со статистикой по использованию ресурсов конкретным подом (CPU, память, сетевые интерфейсы ) и по статусам deployment’ов/statefulset’ов/daemonset’ов, в которых можно посмотреть количество доступных реплик приложения, количество запущенных контейнеров этим приложением и количество рестартов контейнеров.
- Отдельная визуализация для просмотра реалтайм статистики о состоянии нод в кластере.
Откуда плагин собирает информацию?
Конфигурация плагина предусматривает сбор данных, во-первых, с API-сервера k8s (для построения карты ваших приложений, сбора состояний приложений, информации о пройденных пробах и т.д.). Также в плагине отдельно выставляется дополнительный Prometeus datasource (сбор метрик с kube-state-metrics и node-exporter’а).
Почему и зачем мы это сделали?
Всё просто: аналогичных плагинов — ровно один, и он уже около года не поддерживается.
Что нас в нём, помимо этого, не устраивало:
- Отсутствие грамотной визуализации карты приложений.
- Несовместимость с текущими версиями node-exporter'a и kube-state-metrics'a.
- Отсутствие поддержки мониторинга statefulset'ов.