Рубрика «logs»

Зачем нужны ID запросов в логах?

Когда вы работаете с распределённой системой — будь то микросервисы, фронтенд + бэкенд или nginx + приложение — жизненно важно иметь ��озможность «протянуть» один и тот же идентификатор запроса через все её компоненты. Это позволяет сопоставлять логи из разных источников, быстро находить ошибки и проводить корреляционный анализ.

В nginx для этого из коробки есть переменная $request_id — 32-символьный hex-идентификатор (например, a1b2c3d4e5f678901234567890abcdef). Его можно передать бэкенду через proxy_set_header X-Request-ID $request_id; или fastcgi_param HTTP_X_REQUEST_ID $request_id;, а также сохранить в access-логах.

Читать полностью »

Логотип Pino

Логотип Pino

Логи там, логи здесь... Логи — везде. Каждое современное приложение нуждается в логировании. В каждом языке есть свои фреймворки и библиотеки для сбора логов с сервисов, но сегодня мы поговорим про JavaScript и Node.js.

В мире Node.js много различных библиотек для логирования, каждая со своими особенностями. Сегодня мы разберем библиотеку Pino,Читать полностью »

Всем привет

Хочу поделиться с сообществом своим проектом.

Telescope - это open-source web-приложение для удобной работы с логами, хранящимися в ClickHouse.

Telescope — web-based log viewer UI - 1

Зачем и почему?

Потому что мне не нравятся существующие решения для работы с логами. Часть из них заставляет использовать определённый формат логов и скорее является платформой для хранения и обработки логов (и не только), нежели просто просмотрщиком (например, Читать полностью »

Статья, в основном, ориентирована для специалистов, которые столкнулись с проблемой "исчезающих" документов в MongoDB и не понимающих, где найти историю этих документов, была ли она вообще сохранена в коллекции или же была обновлена и удалена, и в какой последовательности происходили все эти действия и в какое время.

Читать полностью »

С момента прошлого релиза фреймворка 🐙 userver для С++ прошло чуть больше полугода. За это время мы многое сделали:

userver 2.0 — большой релиз фреймворка для IO-bound программ - 1

  • сильно оптимизировали работу фреймворка и обогнали основных конкурентов в бенчмарках высокопроизводительных фреймворков;
  • значительно упростили конфигурирование;
  • обзавелись install, докер-образами, Yandex Cloud-образом и DEB-пакетами;
  • обросли новой функциональностью, включая серверные мидлвари для HTTP, и YDB-драйвером;
  • перешли на новую ежемесячную схему релизов и упростили версионирование.

Читать полностью »

С момента выхода 🐙 userver в опенсорс прошло чуть больше года. За это время мы успели реализовать множество запросов от наших новых пользователей и обросли внушительной аудиторией в каналах поддержки. При этом поток вопросов, как пользоваться различными частями userver, значительно сократился, а это значит, наши улучшения документации принесли свои плоды.

image

Поэтому мы вышли из беты и сделали релиз!

Что нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Ответы на все эти вопросы ждут вас под катом.
Читать полностью »

Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на GitHub-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.

Яндекс выложил в опенсорс бету фреймворка userver - 1

🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать полностью »

Напоследок немного новостей о «смотрелке» для логов chipmunk. Ничего особенного, никаких кардинальных изменений или же заметных фитч, а скорее работа над ошибками, да и просто хочется сказать пару слов о прошедшем, настоящем и будущем.

Читать полностью »

Всем привет!

В этой статье я хочу рассказать о том, как выбирал архиватор для сжатия логов нашей фронт-офисной системы.

Подразделение, в котором я работаю, занимается разработкой и сопровождением единой фронт офисной системы Банка. Я отвечаю за ее сопровождение, мониторинг и DevOps.

Наша Система — это высоконагруженное приложение, ежедневно обслуживающее более 5 000 уникальных пользователей. На сегодняшний день — это «монолит» со всеми своими достоинствами и недостатками. Но сейчас активно идет процесс выноса функционала в микросервисы.

Ежедневно наша система генерирует более 130 ГБ «сырых» логов и, несмотря на то, что мы используем ENG стек (Elasticsearch Nxlog Graylog), файловые логи содержат гораздо больше информации (например, stack trace ошибок), поэтому требуют архивирования и хранения.

Так как место хранения ограничено, встаёт вопрос: «А какой архиватор лучше всего справится с этой задачей».

Для решения этого вопроса я написал скрипт на языке PowerShell, который произвел анализ за меня.

Читать полностью »

Настройка НА-кластера Kubernetes на «голом железе», мониторинг, логи и примеры использования. Часть 3-3 - 1
Часть 1/3 тут.
Часть 2/3 тут.

Всем привет! А вот и третья часть руководства «Kubernetes на «голом железе»! Я уделю внимание мониторингу кластера и сбору логов, также мы запустим тестовое приложение для использования предварительно настроенных компонентов кластера. Затем проведем несколько стресс-тестов и проверим стабильность этой кластерной схемы.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js