Мы создали плагин в Grafana для мониторинга k8s: уже в официальном Grafana-store +43





Сегодня свершился релиз нового и очень полезного опенсорсного проекта, созданного дирекцией разработки ITSumma — плагина в Grafana для мониторинга Kubernetes. Он включён в официальный графана-стор — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app

Его ключевые полезности:


  1. интеграция с k8s-api для построения полной карты ваших приложений + группировка по неймспейсам + привязка к подам/сервисам.
  2. графическое представление распределения приложений по нодам k8s-кластера в реальном времени.
  3. реалтайм статистика о статусе приложений/подов в кластере и сообщений об ошибках (например, если ваше приложение перестало проходить liveness-probes).
  4. дашборды со статистикой различных параметров нод кластера (использование CPU, памяти, нагрузки на дисковую подсистему и сетевые интерфейсы), а также со статистикой по использованию ресурсов конкретным подом (CPU, память, сетевые интерфейсы ) и по статусам deployment’ов/statefulset’ов/daemonset’ов, в которых можно посмотреть количество доступных реплик приложения, количество запущенных контейнеров этим приложением и количество рестартов контейнеров.
  5. отдельная визуализация для просмотра реалтайм статистики о состоянии нод в кластере.



Откуда плагин собирает информацию?


Конфигурация плагина предусматривает сбор данных, во-первых, с API-сервера k8s (для построения карты ваших приложений, сбора состояний приложений, информации о пройденных пробах и т.д.). Также в плагине отдельно выставляется дополнительный Prometeus datasource (сбор метрик с kube-state-metrics и node-exporter’а).



Почему и зачем мы это сделали?


Всё просто: аналогичных плагинов — ровно один, и он уже около года не поддерживается.

Что нас в нём, помимо этого, не устраивало:

  1. отсутствие грамотной визуализации карты приложений.
  2. несовместимость с текущими версиями node-exporter'a и kube-state-metrics'a.
  3. отсутствие поддержки мониторинга statefulset'ов.

Ну, и и мы просто можем себе это позволить! ;-)

Звёздочки, ишшуи и пулреквесты приветствуются — github.com/devopsprodigy/kubegraf

И, конечно, большое спасибо Александру Зобнину за поддержку с воздуха!

Очень скоро я расскажу всю историю создания: «как это было». Не переключайтесь (с)

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (10):

  1. gecube
    /#20610201 / +1

    прошу больше скриншотов. А что такое карта приложений? Я вообще ожидаю увидеть что-то типа графа связей как у Appdynamics или хотя бы как Istio рисует.

    • sergei_sporyshev
      /#20610351

      В данный момент «Карта приложений» — это визуальное разбиение всего проекта на неймспейсы, в каждом из которых есть 6 блоков: deployments, statefulsets, daemonsets, jobs, cronjobs, other (отдельные поды)
      В каждой из вложенных сущностей указан список подов, активных в данный момент, и сервисов, по которым приложение доступно (с указанием порта, протокола)

      Визуальный граф у нас в планах, следите за изменениями)

      • gecube
        /#20610597

        ну, мы пока визуально кластер видим в панели ранчера. Там вся эта разбивка по workloads/secrets есть и далее проваливаться по pod'ам и контейнерам тоже можно. Пока ранчеровский взгляд как это надо отображать кажется самым вменяемым. Но, повторюсь, это не совсем "карта сервисов"

        • iwram
          /#20610899

          Тоже используем ранчер. Сделал такие же экспортеры и графики, пробовал на голом кластере. Не понимаю, чем решение в статье отличается от хорошо настроенного прометеуса в том же ранчере (ну и с дальнейшим переносом на голый кластер с такими же метриками).

          • sergei_sporyshev
            /#20613903 / +1

            Изначальная идея пошла от «хочу все видеть в одном месте» (и данные о кластере из апи, и метрики, и «просто лампочки что все хорошо»)
            Вариант с хорошо настроенным промом и собственными дашбордами никто не отменял, мы в своем решении собрали наработки с всех проектов мониторинга прошедших через нас, причем как с точки зрения адмнистраторов-дежурных-отделамониторинга, так и с точки зрения девелоперов и бизнеса

  2. ferocactus
    /#20610657

    Есть ли варианты применения этого плагина к Openshift кластеру?

    • sergei_sporyshev
      /#20613975

      честно сказать — пока даже не пробовали) но идею в блокнотик с идеями записали!

  3. AlexMayerLab
    /#20611939 / +1

    ООО!!! Крутяк))) затестим ) ждите фидбек)

  4. KeyJoo
    /#20621639

    Отлично, есть подвижки.