SC24EP13 Мониторинг сервисов с Micrometer и VictoriaMetrics - Разработка проектов со Spring

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024
  • В тринадцатом ролике цикла я продолжаю тему мониторинга сервисов, но на этот раз предлагаю рассмотреть более распространённую связку инструментов: Micrometer, VictoriaMetrics в качестве альтернативы Prometheus и Grafana. Примеры настройки инструментов мониторинга будут включать и OAuth 2.0.
    В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
    Репозиторий проекта: github.com/ale...
    #java #spring #micrometer #grafana #victoriametrics #prometheus #howto
    Мои ресурсы:
    - Сайт: alexkosarev.name
    - Канал на RUclips: / @shurik_codes
    - Канал в Telegram: t.me/+TZCuO38v...
    - Группа для обсуждений в Telegram: t.me/+UFAkw187...
    - Паблик в VK: shurik....
    - Канал в Дзене: dzen.ru/shurik...
    - Канал на Rutube: rutube.ru/chan...
    - Страница в Boosty: boosty.to/akos...
    Поддержать проект:
    - Доны в VK: donut/s...
    - Донаты в Boosty: boosty.to/akos...
    - Через Tinkoff: www.tinkoff.ru...

Комментарии • 30

  • @user-ss4nl3zb8v
    @user-ss4nl3zb8v 5 месяцев назад +2

    С каждым видео все интереснее

  • @user-sl1ti8bx4h
    @user-sl1ti8bx4h 4 месяца назад +1

    Спасибо, несёшь знания в массы

  • @ЙоганБарусов
    @ЙоганБарусов 5 месяцев назад +1

    Спасибо за видосы, когда нибудь я найду силы все их посмотреть 💀💀💀

  • @divergenny
    @divergenny 5 месяцев назад +2

    Спасибо большое

  • @user-wl2os3tk5v
    @user-wl2os3tk5v 3 месяца назад +1

    Благодарю!

  • @e-researcher
    @e-researcher 3 месяца назад +1

    👍

  • @user-br4gt7xu2j
    @user-br4gt7xu2j 4 месяца назад +2

    Супер! Но как же все эти команды для запуска докер-контейнеров запускать в винде?? Если еще путь можно как-то скорректировать, идентификатор юзера для запуска графаны, конфиг-файл для виктории ну вообще никак не удается задать... Никак не запускается (

    • @shurik_codes
      @shurik_codes  4 месяца назад

      Можно попробовать WSL2 и из какого-нибудь дистрибутива Linux вызывать эти команды, например в Ubuntu

    • @snegok9166
      @snegok9166 2 месяца назад

      Прямо в идее можешь открыть вкладку terminal, я в винде все команды докера + гита юзаю, там же работает всё в формате ls, cd, pwd и так далее, короче обертка неплохая над виндой в самой идее

    • @snegok9166
      @snegok9166 2 месяца назад

      Так же с кубером cli и дженкинсом всё будет работать

    • @user-br4gt7xu2j
      @user-br4gt7xu2j 2 месяца назад

      @@snegok9166 я там и пишу - ниче не работает там в линуксовском стиле

    • @faithace3308
      @faithace3308 Месяц назад

      docker run --name selmag-metrics -p 8428:8428 -v C:\Users\User\Путь к проекту\selmag-parent/config/victoria-metrics/promscrape.yaml:/promscrape.yaml victoriametrics/victoria-metrics:v1.93.12 --promscrape.config=/promscrape.yaml

  • @romanchernukha2583
    @romanchernukha2583 5 месяцев назад +1

    а что делать если выскакивает ошибка "flag provided but not defined: -promscrape" при создании докера?

    • @shurik_codes
      @shurik_codes  5 месяцев назад

      Использовать -promsrcrape.config=

    • @romanchernukha2583
      @romanchernukha2583 5 месяцев назад +2

      @@shurik_codes Моя вина, ибо неправильно описал ошибку. Я использую флаг "-promscrape.config=promscrape.yaml" в команде "docker run --name test-metrics -p 8428:8428 -v C:/Users/user/IdeaProjects/RestTest/config/victoria-metrics/promscrape.yaml:/promscrape.yaml victoriametrics/victoria-metrics:v1.93.12 -promscrape.config=promscrape.yaml", докер создается но не запускается и уже как раз таки тут выскакивает ошибка "flag provided but not defined: -promscrape". Хотя я проверил через -help и все должно работать.

    • @user-br4gt7xu2j
      @user-br4gt7xu2j 4 месяца назад +1

      @@romanchernukha2583 у меня тоже никак не вышло в винде это сделать, а графану как Вы запустили ? там айди юзера не задается никак

    • @user-vm2up2fn2t
      @user-vm2up2fn2t 4 месяца назад

      Как говорил автор выше, один из вариантов - использовать WSL. Можно через WSL зайти в папку с проектом на Winwows и запускать docker команды в нем.

    • @user-br4gt7xu2j
      @user-br4gt7xu2j 4 месяца назад

      @@user-vm2up2fn2t по моему на винде проще просто не пользоваться докером, не усложнять себе жизнь) запускать просто софт по-людски

  • @user-007-1
    @user-007-1 5 месяцев назад

    Недавно делал борду, подсматривал в ваше видео) но я сразу в докере запускал и Викторию, и агент сбора, и графану.
    В промскейп файле ещё можно периодичность получения метрик от приложения задать. Какая периодичность обычно на проде? Ведь не нужно нагружать слишком приложение и бд

  • @explo9087
    @explo9087 5 месяцев назад +1

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

    • @shurik_codes
      @shurik_codes  5 месяцев назад +1

      Есть канал в телеге)

  • @AlejandroRodriguez-qk4ub
    @AlejandroRodriguez-qk4ub 3 месяца назад

    Добрый день! Возник вопрос по метрикам. Мне по работе иногда приходится настраивать мониторинг в графане для Spring Boot приложений и частенько бывает, что отправка метрик в приложении устроена так, что если запущенное приложение неактивно, то никакие метрики не отправляются. Например, допустим наше приложение обрабатывает HTTP запросы, оно запущено и слушает определенный порт, если к приложению нет запросов вместо отправки метрик со значением 0, приложение вообще не отправляет метрики, как будто приложение не запущено и начинает отправлять метрики только тогда, когда к приложению есть запросы и значение метрик больше 0. Я не Java программист и хотел спросить, это так задумано библиотекой языка (как она там называется, micrometer?), или всё таки наши разрабы "готовят" метрики не совсем по рецепту?

    • @shurik_codes
      @shurik_codes  3 месяца назад +1

      Если честно, описанное поведение выглядит как-то странно. Во-первых, предположу, что приложение собирает только свои метрики и не использует Micrometer, в противном случае там были бы стандартные (JVM, HTTP и т.д.), большинство из которых никогда не бывает 0. Во-вторых используется схема, когда приложение само отправляет данные в реестр (push-based), на мой взгляд (и взгляд моих коллег-devops-ов) правильнее использовать схему, когда приложение предоставляет доступ к метрикам по HTTP, и агент реестра (Prometheus, VictoriaMetrics и т.д.) опрашивает приложение (pull-based). В этом случае кроме всего прочего можно отслеживать доступность приложения.

    • @AlejandroRodriguez-qk4ub
      @AlejandroRodriguez-qk4ub 3 месяца назад

      @@shurik_codes, в том то и дело, что стандартные JVM и HTTP метрики, и именно с помощью micrometer (в одном случае точно). Конечно, метрики связанные с JVM (всякие там heap memory, tenured gen и т.д.) всегда отсылают метрики (у нас они сделали методом push), а вот HTTP метрики не всегда могут приходить, например запросы выполненные со статусом 5XX могут и вовсе не приходить, пока не будет таких статусов, хотя сервис работает. Во всяком случае, спасибо за ответ, просто хотел уточнить этот момент, тут скорее всего наши разрабы готовят метрики не по рецепту. Видимо придётся самому поизучать Java и разбираться с этим.

    • @shurik_codes
      @shurik_codes  3 месяца назад

      >> например запросы выполненные со статусом 5XX могут и вовсе не приходить, пока не будет таких статусов
      Это абсолютно нормальная ситуация, не во всех метриках можно сразу предопределить все возможные значения тегов, либо не везде в этом есть смысл

  • @krab9512
    @krab9512 5 месяцев назад +1

    Добрый день, спасибо за видео! А про трейсинг запросов будет видео? И если да то какой стек технологий будет использоваться, например, grafana stack?

    • @shurik_codes
      @shurik_codes  5 месяцев назад +1

      В пятницу будет 15 ролик, там будет Micrometer Tracing + Grafana Tempo

    • @krab9512
      @krab9512 5 месяцев назад

      @@shurik_codes огонь 🔥