Как работать с Prometheus в Go на примере рекламного сервера - VyacheArt

  Рет қаралды 11,744

Slavniy IT

Slavniy IT

Күн бұрын

Пікірлер: 57
@donutduck9769
@donutduck9769 Жыл бұрын
Привет, большое спасибо за качественный контент! Про графану было бы тоже интересно посмотреть
@VyacheArt
@VyacheArt Жыл бұрын
Привет, спасибо большое за отзыв! Про графану замётано, расскажу!
@iaroslavrul
@iaroslavrul Жыл бұрын
Очень крутое и интересное видео, спасибо! С нетерпением жду про графану)
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо большущее! Про графану сделаю!
@sovrinfo
@sovrinfo Жыл бұрын
Спасибо за видео. Коммент в поддержку! Сделайте еще продолжение c Графаной!!!
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо!! Уже делаю! 🙃
@bsisow
@bsisow Жыл бұрын
Спасибо! Превосходный контент и шикарные знания. Однозначно лайк и подписка.
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо!
@elbridget-c
@elbridget-c Жыл бұрын
Эластик не про метрики, эластик про логи. Собственно, три столпа observability: метрики, логи, профайлинг. Видео с подачей очень хорошее, спасибо!
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо большое! И отдельное спасибо за уточнение, но, если не ошибаюсь, не совсем так: elasticsearch да, про хранение, обработку и аналитику логов. Но есть Elastic APM, который строится на базе агента-коллектора, кибаны и elasticsearch, и он вполне себе про метрики производительности. Но да, я в видео не уточнил про конкретно APM
@НикитаКуликов-ч4с
@НикитаКуликов-ч4с Жыл бұрын
Спасибо за видео! Интересно было бы посмотреть про SD, в частности про консул
@VyacheArt
@VyacheArt Жыл бұрын
Спасиибо! Я пока не силён в SD, но вероятно скоро поднаберусь ещё практического опыта и попробую рассказать!
@daymaker_trading
@daymaker_trading Жыл бұрын
Спасибо огромное! Очень круто, интересно и качественно!
@VyacheArt
@VyacheArt Жыл бұрын
Большущее спасибо за такие тёплые слова!
@victorkochkarev2576
@victorkochkarev2576 Жыл бұрын
Спасибо за видео, с нетерпением жду видео о Графане
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо большущее! Видео с графаной уже даже в работе:)
@TheVenom20003
@TheVenom20003 6 ай бұрын
Спасибо большое, очень понятно + приятный голос и оформление
@АлександрРабушко-ц7о
@АлександрРабушко-ц7о Жыл бұрын
Спасибо за контент! Очень интересные и качественные видео! Конечно же ждём видос про графану)!
@VyacheArt
@VyacheArt Жыл бұрын
Спасииибо! И очень рад, что нравятся видео. Про графану будет!
@alexanderyurkin9363
@alexanderyurkin9363 Жыл бұрын
Спасибо за видео! Хотел бы увидеть визуализацию в grafana)
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо большое за коммент! Визуализацию в графане покажу, замётано!
@ArtemCYOU
@ArtemCYOU Жыл бұрын
да мы юзаем так же бакеты и каунты но не саммори) видео все актуальней становятся) стоит сделать про графану и обязательно про дата сорс , а то как выяснилось не все девопсы в курсе как можно крутить вертеть там данными)
@VyacheArt
@VyacheArt Жыл бұрын
> а то как выяснилось не все девопсы в курсе как можно крутить вертеть там данными) О да, мне дико заходит, что в графане можно выводить данные из того же кликхауса. И более того ставить на эти данные метрики! Обязательно расскажу об этом в ролике про графану, готовлю его как раз. Спасибо большущее за коммент и оценку!
@ckv59
@ckv59 Жыл бұрын
Лайк за светлую тему IDE
@VyacheArt
@VyacheArt Жыл бұрын
Хехе, не ожидал, что кто-то оценит)) Спасииибо!
@UAStriker
@UAStriker Жыл бұрын
Супер! Спасибо за ваш труд. Жду уроки по графане
@VyacheArt
@VyacheArt Жыл бұрын
Спасииибо! Уже готовлю!
@TheWowashka
@TheWowashka Жыл бұрын
спасибо, очень полезно) про графану было бы классно рассказать
@VyacheArt
@VyacheArt Жыл бұрын
Спасибоо! Рад, что оказалось полезным, а про графану уже готовлю!
@Арт1234-с3г
@Арт1234-с3г Жыл бұрын
Спасибо, давай с grafana)
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо! Уже работаю над ним!
@Alexey-gp7vc
@Alexey-gp7vc Жыл бұрын
Не ну Grafana стопудов нужна, чтоб понять как это всё красиво сделать) p.s. монтаж шикарен (разве что в паре мест графики были перекрыты, но это несущественно), тема интересна 👍 p.p.s. между pull и push сбором метрик есть какая-то принципиальная разница или тот или иной вариант выбирают только из-за выбора конкретной тулзы?
@VyacheArt
@VyacheArt Жыл бұрын
По поводу графаны замётано, сделаю! Спасибо большое за отзыв и монтаже и теме:)) По поводу pull и push - тут тема большая, но попробую ответить. Изначально это зависит от ваших возможностей: если ваш сервис доступен снаружи, и к нему может достучаться сервер метрик, то он может работать по Pull модели. Но может быть обратная ситуация: сервис находится за NAT, и тогда возможно использовать только Push модель. Также у вас может быть короткоживущий сервис, который запускается, что-то делает, и завершается. Тогда Pull модель тоже не подойдёт, потому что большую часть времени сервис будет недоступен. В Pull модели очень удобно то, что Вы можете настраивать сбор централизованно и в одном месте. Но когда серверов много, и они часто меняются, то каждый раз править конфиг неудобно, и было бы удобнее на стороне приложения пушить метрики. На практике вот какие наблюдения: мы (где я работаю) очень давно используем прометеус и классическую Pull модель. Но был период, когда у нас происходил рост в несколько десятков серверов в неделю, и приходилось часто лезть в конфиг и релоадить сервер (хотя и есть всякие ансиблы). И это в целом ок, но это отдельный процесс, который отнимает время. В такой ситуации я бы предпочёл уже Push модель, когда мне вполне ок переложить на приложение ответственность за отправку метрик. При этом мы работаем с аутсорс девопсами, которые поддерживают инфраструктуру многих компаний, и они предпочитают использовать Push модель, потому что во-первых не угадаешь есть ли у сервера вообще публичный IP адрес, а во-вторых так проще добавлять и убирать с мониторинга. Я сейчас придерживаюсь такого принципа: по умолчанию использую Pull модель, потому что удобна централизованная настройка, а для короткоживущих сервисов Push. При этом даже необязательно менять тулзу: в prometheus можно использовать push модель через "push-gateway". Поэтому тут выбор исключительно исходя из Ваших возможностей и требований
@Alexey-gp7vc
@Alexey-gp7vc Жыл бұрын
​@@VyacheArt спасибо за такой развёрнутый ответ, стало куда понятней) это реально тема для отдельного видео! Было бы круто, после графаны, увидеть и небольшое видео про выбор между pull и push и реализацию 'push модель через "push-gateway"' - был бы довольно исчерпывающий плейлист 💪
@efimgibsun7969
@efimgibsun7969 Жыл бұрын
нужен ролик про графану)
@VyacheArt
@VyacheArt Жыл бұрын
Будет, спасибо за фидбек!
@HEX_CAT
@HEX_CAT Жыл бұрын
@unlite2896
@unlite2896 Жыл бұрын
Спасибо за урок! Пожалуйста, можно поподробнее про необходимость мультиплексора? Не очень понятна фраза "Вы можете получить на неожиданном порту свои метрики". Как такое возможно, если мы явно его прописываем?
@VyacheArt
@VyacheArt Жыл бұрын
Пожалуйста! И спасибо за коммент!! Это я говорил про два варианта: 1. С мультиплексором, как в видео 2. С использованием `http.Handle` и `http.ListenAndServe(address, nil)`, то есть без мультиплексора Вот во втором случае будет использоваться мультиплексор по умолчанию, который `http.DefaultServeMux`. Если в каком-то другом месте кода тоже будет `http.ListenAndServe(address2, nil)`, то оба слушателя будут идти к единственному DefaultServeMux, и на другом порту тоже будут доступны метрики. Вот чтобы таких неожиданностей не случалось, лучше использовать явный мультиплексор. В частности в метриках.
@unlite2896
@unlite2896 Жыл бұрын
@@VyacheArt Правильно понимаю, что если сначала инициализировать server := &http.Server{Addr: addr}, и уже у сервера использовать server.ListenAndServe(), то проблемы с глобальным мультеплексором не будет, и это тоже можно считать вариантом использования для метрик?
@VyacheArt
@VyacheArt Жыл бұрын
@@unlite2896 только сейчас заметил, что не ответил на комментарий из-за не пришедшего уведомления ютуба( Это немного разные вещи. Мультиплексор - это по сути роутер, который матчит пришедший адрес и его обработчик (если такой есть). А http.Server - это сервер, задача которого слушать TCP порт и понимать HTTP протокол. Если Вы явно прокинете в созданный http.Server отдельный Handler (то есть &http.Server{Addr: addr, Handler: mux}), то проблемы не будет, но это будет аналогично тому что Вы вызовете http.ListenAndServe(address, mux), потому что внутри он просто создаёт &Server{Addr: address, Handler: mux}. А если вы сделаете просто &http.Server{Addr: addr}, то Handler будет также nil, и сработает вот это условие с использованием дефолтного мультиплексора github.com/golang/go/blob/0853f8caec60f59df234c287be7f5971ab62133f/src/net/http/server.go#L2927
@oleksandrtolstoi5468
@oleksandrtolstoi5468 Жыл бұрын
Гоу урок про графану!
@VyacheArt
@VyacheArt Жыл бұрын
Уже в процессе, спасиибо!
@1654045
@1654045 10 ай бұрын
Привет. У меня бомбардир выдает среди прочего и значения Errors Timout. Я так понимаю это какие-то потери? Подскажи пожалуйста что это и как с этим бороться?
@YourAwesomePlace
@YourAwesomePlace Жыл бұрын
подскажи актуальный форк bombardier, а то в главном проекте go1.15 и даже на 1.17 не ставится?
@VyacheArt
@VyacheArt Жыл бұрын
Я использую как раз github.com/codesenberg/bombardier У него в go.mod 1.15, но это говорит о версии, на котором он разрабатывался. У гошки же обратная совместимость, поэтому на старших 1.* должно всё работать: ➜ ~ bombardier --version bombardier version unspecified darwin/arm64 ➜ ~ go version go version go1.19.5 darwin/arm64 А какая ошибка возникает?
@katherinevse
@katherinevse 3 ай бұрын
А вышло ли уже видео про графану?
@VyacheArt
@VyacheArt 2 ай бұрын
Вышло, welcome kzbin.info/www/bejne/Z4PTk6aqq8yhjKc :) Возможно, в конце года или в начале следующего сниму апдейт по последней версии, но в видео всё ещё актуальная 🙂
@Bampir1337
@Bampir1337 Жыл бұрын
Как сделать такую же офигенную консольку?
@VyacheArt
@VyacheArt Жыл бұрын
Ееее, всегда мечтал чтоб кто-то заметил:)) Это оболочка oh my zsh, плагин zsh-autosuggestions, и настроенная под себя тема Powerlevel10k
@v_chelnik
@v_chelnik 6 ай бұрын
есть видео по графане?
@VyacheArt
@VyacheArt 6 ай бұрын
Есть, воть kzbin.info/www/bejne/Z4PTk6aqq8yhjKc
@ДмитрийКириллов-к5ъ
@ДмитрийКириллов-к5ъ Жыл бұрын
Го Графану
@VyacheArt
@VyacheArt Жыл бұрын
Будет!
@donutduck9769
@donutduck9769 Жыл бұрын
еще идея для видел, эврона входило видео про чистую архитектуру, мне многое показалось спорным было бы интересно увидеть твое мнение по архитектуре приложения на гошке kzbin.info/www/bejne/jGfPgnpsmZp_nbc
@VyacheArt
@VyacheArt Жыл бұрын
Спасибо за идею! Попробую подумать в эту сторону
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,9 МЛН
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 6 МЛН
Архитектура Go проекта на практике
30:09
Evrone Development
Рет қаралды 17 М.
Задача из Ozon: Golang собеседование
18:20
Олег Козырев
Рет қаралды 29 М.
10 КРУТЫХ идей Go проектов для новичков
5:55
Славный АйТи
Рет қаралды 4,3 М.
Введение в gRPC: пишем сервер на Go
18:03
Gopher School (Уроки по Golang)
Рет қаралды 61 М.
Александр Пугач - Метрики в .NET на примере OpenTelemetry и Prometheus
59:57
DotNext — конференция для .NET‑разработчиков
Рет қаралды 3 М.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,9 МЛН