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...
С каждым видео все интереснее
Спасибо, несёшь знания в массы
Спасибо за видосы, когда нибудь я найду силы все их посмотреть 💀💀💀
Спасибо большое
Благодарю!
👍
Супер! Но как же все эти команды для запуска докер-контейнеров запускать в винде?? Если еще путь можно как-то скорректировать, идентификатор юзера для запуска графаны, конфиг-файл для виктории ну вообще никак не удается задать... Никак не запускается (
Можно попробовать WSL2 и из какого-нибудь дистрибутива Linux вызывать эти команды, например в Ubuntu
Прямо в идее можешь открыть вкладку terminal, я в винде все команды докера + гита юзаю, там же работает всё в формате ls, cd, pwd и так далее, короче обертка неплохая над виндой в самой идее
Так же с кубером cli и дженкинсом всё будет работать
@@snegok9166 я там и пишу - ниче не работает там в линуксовском стиле
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
а что делать если выскакивает ошибка "flag provided but not defined: -promscrape" при создании докера?
Использовать -promsrcrape.config=
@@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 и все должно работать.
@@romanchernukha2583 у меня тоже никак не вышло в винде это сделать, а графану как Вы запустили ? там айди юзера не задается никак
Как говорил автор выше, один из вариантов - использовать WSL. Можно через WSL зайти в папку с проектом на Winwows и запускать docker команды в нем.
@@user-vm2up2fn2t по моему на винде проще просто не пользоваться докером, не усложнять себе жизнь) запускать просто софт по-людски
Недавно делал борду, подсматривал в ваше видео) но я сразу в докере запускал и Викторию, и агент сбора, и графану.
В промскейп файле ещё можно периодичность получения метрик от приложения задать. Какая периодичность обычно на проде? Ведь не нужно нагружать слишком приложение и бд
Супер уроки. Александр, нет ли у вас желания,например на вашем сайте открыть что нить типа форума? А то поялвяются вопросы, но писать их под видео наверно не слишком уместно, был бы маленький сельский stackoverflow :) Ну вдруг
Есть канал в телеге)
Добрый день! Возник вопрос по метрикам. Мне по работе иногда приходится настраивать мониторинг в графане для Spring Boot приложений и частенько бывает, что отправка метрик в приложении устроена так, что если запущенное приложение неактивно, то никакие метрики не отправляются. Например, допустим наше приложение обрабатывает HTTP запросы, оно запущено и слушает определенный порт, если к приложению нет запросов вместо отправки метрик со значением 0, приложение вообще не отправляет метрики, как будто приложение не запущено и начинает отправлять метрики только тогда, когда к приложению есть запросы и значение метрик больше 0. Я не Java программист и хотел спросить, это так задумано библиотекой языка (как она там называется, micrometer?), или всё таки наши разрабы "готовят" метрики не совсем по рецепту?
Если честно, описанное поведение выглядит как-то странно. Во-первых, предположу, что приложение собирает только свои метрики и не использует Micrometer, в противном случае там были бы стандартные (JVM, HTTP и т.д.), большинство из которых никогда не бывает 0. Во-вторых используется схема, когда приложение само отправляет данные в реестр (push-based), на мой взгляд (и взгляд моих коллег-devops-ов) правильнее использовать схему, когда приложение предоставляет доступ к метрикам по HTTP, и агент реестра (Prometheus, VictoriaMetrics и т.д.) опрашивает приложение (pull-based). В этом случае кроме всего прочего можно отслеживать доступность приложения.
@@shurik_codes, в том то и дело, что стандартные JVM и HTTP метрики, и именно с помощью micrometer (в одном случае точно). Конечно, метрики связанные с JVM (всякие там heap memory, tenured gen и т.д.) всегда отсылают метрики (у нас они сделали методом push), а вот HTTP метрики не всегда могут приходить, например запросы выполненные со статусом 5XX могут и вовсе не приходить, пока не будет таких статусов, хотя сервис работает. Во всяком случае, спасибо за ответ, просто хотел уточнить этот момент, тут скорее всего наши разрабы готовят метрики не по рецепту. Видимо придётся самому поизучать Java и разбираться с этим.
>> например запросы выполненные со статусом 5XX могут и вовсе не приходить, пока не будет таких статусов
Это абсолютно нормальная ситуация, не во всех метриках можно сразу предопределить все возможные значения тегов, либо не везде в этом есть смысл
Добрый день, спасибо за видео! А про трейсинг запросов будет видео? И если да то какой стек технологий будет использоваться, например, grafana stack?
В пятницу будет 15 ролик, там будет Micrometer Tracing + Grafana Tempo
@@shurik_codes огонь 🔥