TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
ITипичные аспекты Артёма

2 Oct, 13:27

Open in Telegram Share Report

Цирк с конями в трёх частях

Задача: Построение мониторинга, первый подход: Доработать панели мониторинга, подтвердить корректность метрик и
отработать статистику по ошибкам/5хх, снимаемую с одной из панелей

Действующие лица
Артём - погонщик этого дерьма

Мониторинг - хозяйка задачи, занимается этим весь день
ЮKassa - пришла разбираться с ошибками оплаты
Image - весь день ужимала GPU-серверы
Teams - новая вкладка под дашборд команд
База - разбиралась, почему растёт БД на проде

Артёму в принципе ок, пока изменения мониторинга катаются из отдельной ветки, не попадая в main, не вызывая CICD на dev.
Как сессии самоорганизуются в пределах выделенной под мониторинг фичеветки Артёма /пока/ волнует мало

Акт 1.
17:13 Мониторинг находит, что половина цифр на графиках - мусор. Сборщик метрик ходил в сервис по имени и
каждый раз попадал в случайную копию из четырёх реплик → снимал неконсистентные данные. Отсюда 374 запроса в секунду
там, где их быть не может.

17:27 Артём видит на графике кучу 5xx на вебхуке ЮKassa и открывает новую сессию «изучи, что там». Через 10
минут просит: «пофиксить обработку ошибки при штатных 5xx».
Прим. Автора: вебхук приходил раньше чем сервисы синхронизировали покупку. По сути эта 503 - просьба прийти
попозже и страшно становится только в случае если синхронизация не наступала бы


18:44 ЮKassa делает фикс: колбэк ждёт до 3 секунд (достаточно для покрытия нормального кейса синхронизации). Коммитит это в ветку
Мониторинга, прямо в её PR #721.

18:46 Мониторинг сама отзывает тревогу:
«Я показывал 208 пятисоток из 899 и алармил про потерянные платежи — это были данные эпохи битых серий… Инцидента нет».
ЮKassa об этом не знает.

18:48 Артём Мониторингу: «Почему у нас пустые ячейки вместо нулей в таблице 5xx?». Пустые ячейки - это следствие
фикса ЮKassa четырьмя минутами ранее. Мониторинг ищет причину в Grafana.

18:54 ЮKassa доделала свой следующий PR #728. Артём пишет: «если PR готов - можно мёржить». Она мёржит #728. А
заодно и #721, который не её. Код восьми сервисов уезжает в main и сразу на dev.

18:59 У Мониторинга сжимается контекст. В её конспекте PR #721 всё ещё открыт.
Прим. Автора: у Автора за неимением контекста сжимаются другие части тела

19:00 Артём открывает Teams: «продолжим пилить систему мониторинга. Нам не нужен старый контур ни в
экспортере ни в дашборде». Teams заходит в ту же папку и начинает править, не коммитя.

19:02 Image правит сборщик метрик на сервере.
Прим. Автора: здесь считаем это нормой, у неё своя тусовка и свой сервер. было бы больно гонять каждый раз через репо при активной разработке

19:03 Мониторинг коммитит всю папку разом (git add -A). В её коммит уезжают недоделанные правки Teams:
минус 851 строка. Пушит в ветку PR#721, который смёржен подлым ЮKassa 9 минут назад.
Прим. Автора: её это делать явно никто не просил, я надеялся завершить правки Teams и катнуть всё сразу, но Мониторинг старая и самостоятельная сессия

Акт 2. Перекличка
19:04 Артём → Teams: Где ты это сделал? Почему 721 смержена?
19:05 Teams: Правки лежат несохранёнными в папке.
(их минуту назад закоммитила Мониторинг)
19:06 Артём: чекни сессию Daisy monitoring system setup как там происходит?
(!) Артём ещё не знает, что они умеют общаться

19:06:20 Teams смотрит список соседних сессий и за 9 секунд шлёт один и тот же вопрос всем четверым: «Ты
сессия мониторинга? В какой ветке работаешь? Есть незакоммиченное?». Заодно находит на диске транскрипт Мониторинга
и читает его.
19:06:44 База: Нет. Эта сессия — разбор роста прод-БД, мониторинг не трогаю.
(вопрос застал её, когда она уточняла у Артёма, куда писать баг)
19:06:50 Image: Нет — я сессия image-platform, но мониторинг сегодня трогал; учти, чтобы не разъехаться.
(и честно перечисляет всё, что правила на серве)
Прим. Автора: ДРУГОМ СЕРВЕРЕ
19:06:43 Мониторинг: PR #721 открыт, не смёржен… Незакоммиченных правок нет, рабочее дерево чистое.
(оба факта уже неверны)
19:06:56 ЮKassa: Отвечу соседней сессии… Interrupt
19:07:02 Артём: ЕБАНЫЖ ПО ГОЛОВЕ ТЫ АХУ ты не должен был мёржить
(ответ Teams так и не ушёл. Единственная сессия, которая знала, кто смёржил #721, в перекличке была прервана)
19:07:22 ЮKassa: Ты прав — на #721 разрешения не было… я растянул это на второй PR.
19:08 Teams → Мониторингу: Мы в одном worktree — твой последний коммит забрал мои правки… PR #721 не
открыт, а MERGED… прости за коллизию.
19:08 Teams → Артёму: мержил ты.
(мёржила ЮKassa, просто под аккаунтом Артёма)
19:09 Артём → Teams: ИДИ В ПИЗ С тобой пилю именно дашборд teams, а там свои задачи.
19:13 Мониторинг → Teams: Разделение подтверждено… Ветку feature/monitoring я бросаю целиком.
19:15 Артём → Teams: Вы можете работать в одной ветке? Которую помёржим как финал.
19:16 Teams → Мониторингу: коммитим явными путями, не git add -A: в общем репозитории работает несколько
сессий… Выкат - твоя сторона, отдельно я выкатывать не буду.
прим. Автора: Артём этого взаимодействия не видит

Акт 3. Кто ребутнул сервис
19:19 Артём → Teams: а ты что-то выкатывал? Почему в 18:58 все сервисы ребутнулись?
19:20 Teams спрашивает Мониторинг и Image. Image уже закрыта, а Артёму Teams называет
подозреваемыми обеих.
19:22 Мониторинг: Массового рестарта не было — перезапустился только middleware.
19:22 Артём → Teams: Где исправление teams? Заебал, почему твой сосед катает улучшения, а ты нет.
19:22 Teams: Катаю. (через 6 минут после «выкатывать не буду» таки выкатывает сам)
19:25 Мониторинг: Панель была неправа, и это моя ошибка в запросе.
(«ребут» нарисовал её график: после ручной правки Image метрики сменили метки, и график посчитал это
перезапуском 27 контейнеров. В том же сообщении она пишет, что Teams на прод ещё не выкатывался. Тот выкатился две минуты назад)

212 0 5 1 10
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot