Сегодня свершился релиз нового и очень полезного опенсорсного проекта, созданного дирекцией разработки 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
    11.09.2019 13:31
    +1

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


    1. sergei_sporyshev Автор
      11.09.2019 13:55

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

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


      1. gecube
        11.09.2019 14:36

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


        1. iwram
          11.09.2019 15:19

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


          1. sergei_sporyshev Автор
            12.09.2019 11:20
            +1

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


  1. ferocactus
    11.09.2019 14:46

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


    1. sergei_sporyshev Автор
      12.09.2019 11:30

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


  1. AlexMayerLab
    11.09.2019 18:54
    +1

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


    1. sergei_sporyshev Автор
      12.09.2019 11:33

      ждем)


  1. KeyJoo
    13.09.2019 20:32

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