tgindex

🚀🐳 Летит Кит: SRE и не только

описание

Дмитрий Синявский, SR-иженер и спикер (@r3code) Заметки о замеченном и замечательном. SRE, SLI/SLO, логи, наблюдаемость. Кейсы. ₽: Консультации, аудит SRE практик, организация SRE без SRE, разработка ПО на заказ Дублирую в MAX https://clck.ru/3Sr7qM

194
подписчиков

Лучшие посты

за три месяца
  • 8 июн.200 просмотров3 реакций2 пересылок

    Привет киты 🐳 . А нафиг вам оно надо? Именно об этом позволят задуматься сей инструмент https://github.com/dominikhei/cardamon - он подключается к вашему хранилищу метрик Prometheus и определяет какие метрики вообще не запрашиваются и просто лежат без пользы засоряя диски. Кроме того из него же можно сразу создать правила для drop-а таких метрик сразу. Напомню, лишние метрики - это не только 2-3 килограмма лишних дисков, это еще и повышение нагрузки на CPU при выборке, и необходимость иметь больше CPU. Когда метрик много при выборке приходится обходить но гораздо больше данных и это замедляет работу с метриками, работу досок. И еще увеличивает вероятность сделать слишком общий запрос и забить нагрузкой поиска и выборки данных эти сервера. Так зачем хранить, то что не требуется от вас хранить ни по закону, ни по здравому смыслу? P.S. буду пробовать его на совместимость с Victoria Backham Metrics #наблюдаемость #observability #инструментарий #метрики #оптимизация

  • 7 июл.197 просмотров1 пересылок

    без подписи

  • 28 мая191 просмотров4 реакций4 пересылок

    1:1 - это не терапия, а место, где можно по-человечески поговорить не только о работе. Уйдем чуть-чуть от технички в более простые, но не менее важные вещи. Раньше я воспринимал 1:1 довольно утилитарно. Ну типа есть руководитель, есть я, есть задачи. Обсудили блокеры, планы, что горит, что не горит, где нужна помощь - разошлись. В целом полезно, но ощущалось как ещё один рабочий синк. Потом в Додо мне показали другой формат. Оказалось, что 1:1 - это не только про задачи, перформанс и “что у тебя по проекту”. Иногда это маленький safe space, где можно сказать: - “я устал” - “я не вывожу” - “меня бесит вот эта штука” - “я не понимаю, куда дальше расти” - “у меня сейчас сложный период вне работы” И нормальный руководитель в этот момент не становится психологом, спасателем или мамой. Но он начинает видеть контекст. А контекст решает. Если руководитель видит только карточки в трекере, он управляет карточками. Если он видит человека и контекст вокруг него, он может управлять нагрузкой, ожиданиями, ростом и рисками. Для меня это прям поменяло отношение к 1:1. Это перестало быть встречей ради встречи и стало нормальным инструментом управления. Что, на мой взгляд, делает 1:1 полезным: 1. Регулярность Лучше стабильные 30 минут раз в 1-2 недели, чем “созвонимся, когда будет тема”. Потому что “темы нет” - это тоже состояние. Иногда самое важное всплывает не в начале, а на 17-й минуте после стандартного “да вроде всё нормально”. 2. Это не статус-митинг 1:1 - это не место, куда надо переносить весь таск-трекер. Статусы должны жить в таск-трекере, стендапах, PR, документах - где угодно, но не съедать весь 1:1. Задачи можно обсуждать, но обычно за ними должна быть настоящая тема: блокер, конфликт, перегруз, непонятные ожидания, потеря мотивации. Если весь 1:1 - это “ну что там по тикету?”, то поздравляю, вы изобрели плохой дейлик на двоих. 3. Повестка должна быть с двух сторон Хорошо, когда и руководитель, и человек заранее накидывают темы. Если повестку всегда приносит только руководитель, встреча быстро превращается в “начальник что-то хотел”. А 1:1 всё-таки должен быть местом, где человек тоже может принести то, что ему важно. 4. Safe space создаётся поведением, а не словами Недостаточно сказать “у нас тут безопасное пространство”. Безопасность появляется, когда тебя не перебивают, не обесценивают, не используют личное против тебя через месяц и не превращают каждую честную фразу в performance issue. Доверие строится медленно, а ломается очень быстро. Классика, ничего нового. 5. Личное можно обсуждать, но аккуратно 1:1 - не исповедь и не терапия. Руководитель не должен лезть человеку в душу. Но если человек сам говорит “у меня сейчас дома тяжело” или “я не вывожу”, нормальная реакция - не копаться в деталях, а понять, как это влияет на работу и чем можно помочь. Где-то это пересборка нагрузки. Где-то отпуск. Где-то более чёткие ожидания. Где-то просто “окей, я понял, давай в ближайшие пару недель не будем накидывать сверху”. 6. Нужны follow-up’ы Если на 1:1 договорились что-то сделать - это надо потом вспомнить. “Я поговорю с командой”, “посмотрю промо-план”, “помогу разгрузить”, “вернусь с ответом” - это не декоративные фразы, а action items. Нет follow-up’а - нет доверия. Всё очень просто и очень больно. Хороший 1:1 после себя оставляет чуть больше ясности, спокойствия или движения вперёд. Для человека - это место, где его слышат не только как исполнителя задач. Для руководителя - это ранний мониторинг состояния команды. Только вместо CPU, latency и error rate у тебя мотивация, усталость, ясность, доверие и рост. И если после 1:1 ничего не меняется ни в голове, ни в действиях, ни в отношениях - возможно, это был просто ещё один календарный алерт без runbook’а. А у вас 1:1 больше про задачи, про людей или “ну надо же иногда созваниваться”? #sre #teamhealth #onetoone #leadership

  • 11 июн.187 просмотров1 реакций2 пересылок

    без подписи

  • 31 мая180 просмотров

    Читал тут LinkedIn. Многие пишут про AI и риск, что разработчики отвыкнут и разучатся, а если доступ к Ai отключат, то они не сумеют сделать ничего. Ai тут непричем - это иронии любой автоматизации. Я как-то брал сноуборд на Красной поляне в прокат и у них заглючил сайт, знаете через сколько они в помнили о "древнем" раьочем обходном решении - можно договор на бумаге прямо тут подписать.? Через час. а через 70 минут сайт подняли. Как можно было сообразить раньше? Только тренировать этот отказ. Но тут есть одно но - иногда информационная система настолько сильно встроена в процесс, что дешевле час недоступности, чем перекладка из бумаги потом. Как понять когда использовать обходные решения? Когда это не станет дороже простоя?! #SRE #иронии #эффективность

  • 7 июн.171 просмотров2 реакций

    Капец, МММ живее всех живых Увидел на визитке QR код Vilavi, подумал что это какой-то турецкий мессенджер. Слышал, что люди какой-то используют. Зашел я по нему и почуял что-то странное. Проверил основной сайт. На первый взгляд безобидно, но я полез почитать о компании и увидел там адрес на Кипре, при этом сама страница заявляет про какой-то продукт из Сибири и что они успешно растущая компания с 2009 года 🤔. У них там сложная система вознаграждений, но основа - что должны покупать все подчиненные тебе агенты, один не покупает - ты в пролете. И упор на привод новых членов "клуба". Вот если их файлик с условиями вознаграждения и с сайта раздел Бизнес дать на анализ нейросети, с вопросом "У меня подозрение на схему понзи, пирамидку. Проверь вот эти материалы" - ой там портянка будет... Жаль, что не все люди это осознают и могут проверить. А вы когда сомневаетесь, как проверяете подобное ? #скам #пирамида #нейросети #неработа #финграмотность

  • 7 июл.171 просмотров1 пересылок

    без подписи

  • 26 мая165 просмотров2 реакций1 пересылок

    без подписи

  • 7 июл.162 просмотров1 пересылок

    без подписи

  • 27 мая157 просмотров

    Ребят, не по теме SRE, а по теме контактов. Знакомый ищет спеца кто делает SEO продвижение в Google по России. Если у вас есть проверенные люди — прошу накидать контактов в личку @r3code. #запрос #контакты #неформат

  • 7 июл.155 просмотров1 пересылок

    без подписи

  • 30 июн.151 просмотров2 пересылок

    Эффективная работы с AI-агентами, как экономить токены Привет, киты 🐳! Наверно все уже видели ролик, где показан расход на токены при одинаковом наборе запросов к разным моделям AI. Его тут не будет, а будет набор инструментов которые помогут экономить токены. При работе с кодом (разработка) - MCP для быстрой навигации по коду для агентов https://github.com/colbymchenry/codegraph — снижает использование токенов на 35%, утилит на 70%, работает локально - Роутер для отправки простых задач и вопросов более дешевым моделям https://github.com/fendouai/CodexSaver - Скилл для Calude.ai, что может сокращать использование токенов почти на 65% — https://github.com/juliusbrussee/caveman - RTK прокси-сервер CLI, который снижает потребление токенов LLM на 60–90 % при выполнении стандартных команд для разработчиков — https://github.com/rtk-ai/rtk - AgentMemory постоянная память для агентов https://github.com/rohitg00/agentmemory Радикальные методы Замена на локальную модель. Вот есть предобученный Qwen3 по базе Claude Sonet 4.6, пишет также хорошо — https://huggingface.co/hesamation/Qwen3.6-35B-A3B-Claude-4.6-Opus-Reasoning-Distilled-GGUF Дополнительно - Утилита для улучшения вашего AI-скилла https://github.com/microsoft/SkillOpt - гоняет скилл, проверяет и улучшает. Да вы потратите токены на это, но после будете тратить меньше, так как результат будете получать быстрее. ❓А вы какие обвязки для своих AI-агентов используете ? #эффективность #ai-агегнты #ai #claude #codex #skills #ai-skill

  • 7 июл.150 просмотров1 пересылок

    без подписи

  • 7 июл.150 просмотров1 пересылок

    без подписи

  • 25 июн.149 просмотров

    Привет, киты 🐋! Как поддерживать наблюдаемость при изменении конвенций OpenTelemetry Большая часть конвенций в OTEL все еще не помечена stable, а это значит что от версии к версии могут меняться названия метрик, лейблов, спанов, атрибутов логов (вот посмотрите https://t.me/letitkit/223). И как с этим жить? Ведь на это завязаны доски Grafana, алерты, расчет SLO. Вариант 1. Закрепить версию библиотеки и просто на ней сидеть например год. Возможно? Да. Риски: CVE уязвимости, которые нужно закрыть в середине года. Вариант 2. Обертки библиотек OTEL и свой "золотой набор" метрик, которые в требуете с приложений, а если их нет - не пускаете в прод. Т.к. вам нужна сквозная наблюдаемость и предсказуемость, чтобы не знать 10 вариантов одной и той же метрики. Вариант 3. Гибридный. Принимать метрики от разных версий OTEL, но складывать это в одно представление. Такой вариант предлагает HoneyComb https://www.honeycomb.io/blog/managing-opentelemetry-semantic-convention-migrations-collector Для этого даже в OTEL Collector есть специальный schemaprocessor (правда только в alfa-версии). Непонятно, как он будет решать случаи, когда метрик просто не стало (удалили, например, метрик rpc было 10 в 1.37, а в 1.39 оставили 2). Вариант 4. Skyscanner https://opentelemetry.io/blog/2026/devex-skyscanner/ Дропают большинство SDK-generated HTTP и RPC метрик по умолчанию. Генерируют свои метрики из Istio service mesh spans через spanmetrics connector Используют transform processor для приведения к semantic conventions. Обновляются раз в 6 месяцев с постепенным rollout (Dev → Alpha → Beta → Production) Как вы решаете эту проблему?

  • 17 июн.148 просмотров1 пересылок

    🐋 Друзья, киты! Этим летом приму участие в Summer Merge и приглашаю вас присоединиться. С 3 по 5 июля на берегу Волги, в эко-парке «Русский Берег» (Ульяновск), пройдёт Summer Merge — это не классическая конференция, а скорее большое летнее приключение для взрослых. Проживание в палаточном лагере, живое общение и насыщенная программа без формальных условностей. Я впервые буду в новой роли, не докладчик как обычно, а амбассадор рисования набросков ✏️ - это мое хобби. Будем отключать мозг и быстро рисовать, выхватывать детали за 5, 3, 1, 7 минут. Вам не нужно уметь рисовать - это как исследование себя. Оценок ставить никто не будет. В итоге у нас будет за 1ч около 10 набросков. Если вы в первый раз это делаете - вы удивитесь и себе и ощущениям после. Это очень интересный опыт. Summer Merge объединяет тех, кто настроен на профессиональный рост, осмысленный нетворкинг и здоровую перезагрузку. Здесь можно не только послушать коллег, но и обсудить волнующие вопросы в неформальной обстановке, у костра или за чашкой кофе. Буду рад всем! Билеты и программа на сайте: summermerge.ru По моему промокоду SINYAVSKY действует скидка 20%. #конференция #merge #промокод #наброски #хобби

  • 30 июл.142 просмотров2 пересылок

    Распределённая трассировка для 1С. ЧТО? Привет, киты 🐳! Разбирались с коллегами с распределенной трассировкой, писали как мы видим это у себя, чтобы люди делали одинаково и предсказуемо, а именно просто подключали бы нашу либу/пакет в проект и почти все уже было бы настроено. Начали с того, что решили договориться. Стандарт по логам и метрикам у нас уже был, а по трассировке нет. Подключились и коллеги разрабатывающие под 1С с вопросом, а нас сюда как? Как ожидал, нет тут готовых решений и OTEL SDK 1C. Что же можно сделать и как? Нужно 1. отправлять спаны в коллектор из 1С 2. передавать контекст трассировки в вызовах из 1С, например, в HTTP или Kafka 3. извлечение контекста из входящих вызовов и прокидывание его внутри 1С Как отправлять спаны В1. Если не критичны задержки, то можно отправлять на HTTP endpoint OTEL Collector. Вызов будет в код синхронным, потому тут нужны короткие таймауты. Также можно, кстати и в PHP приложениях делать. А OTEL Collector лучше поставить сайдкаром прямо рядом с 1С, чтобы задержки были минимальные. В2. Асинхронно. Через логи. Создаем файл 1с-traces.log (ротацию мы конечно не забыли включить) и в него скидываем готовые JSON со спанами, читает это файл агент типа Vector/FluentBit, готовит и отправляет в OTEL Collector Как извлечь контекст трассировки Читайте заранее определенные заголовки или метаданные, параметры фоновых задач (контекст трассировки в них надо явно передавать). Создавайте спан из них. Как передавать контекст трассировки В1. Линейный код (в рамках одго вызова). Добавьте доп параметр КонтекстТрассировки во все функции явно и передавайте. В2. В рамках одного сеанса. Передавать через Параметры Сеанса (глобальное хранилище для текущего пользователя/сеанса HTTP). Работает только в рамках одного потока (сеанса). Если внутри кода вызывается фоновое задание, параметры сеанса туда автоматически не перенесутся. В3. Передача в Фоновые задания. Самый частый сценарий в 1С: HTTP-сервис быстро принимает запрос, записывает документ и передает задачу фоновому заданию для отправки в Kafka. Передавайте структуру с TraceID и текущим SpanID внутрь массива параметров фонового задания. И доставайте в фоновом задании контекст для отправки спана если надо. В4. Использование БСП (Библиотеки Стандартных Подсистем). БСП предоставляет готовые механизмы архитектуры, к которым можно «подцепиться», чтобы протащить TraceID от входа к выходу. Используйте ДополнительныеСвойства объектов, куда кладите контекст трассировки. Интересно в реальности кто-нибудь делал такое у себя, ведь у многих компаний 1С часть бизнес-процессов многих? #observability #1С #трейсинг #sre #distributed-tracing

  • 14 июл.140 просмотров

    Управление расходами на IT для CTO Как FinOps помогает увидеть спрятанное, выключить ненужное, сэкономить деньги. Да мы с вами строим большие и классные системы, которые дают много пользы, но чем больше объектов тем легче они теряются и про них забывают. Помню как нашли сервер, который 3 года жил потреблял 0.1cpu при выделенных 2 - просто забыли Легаси сервис вывести. С чего начинать? С инвентаризации, Зиночка! С инвентаризации! Да нам повезло, кажется, больше - не надо лазить и поднимать стулья и лампы, чтобы проверить номер. Но это не означает, что это проще, так как количество объектов растет с глубиной погружения. Сначала мы начинаем с физических серверов, систем хранения, потом виртуальные машины, ноды kubernetes, сервисы и системы. Все это в итоге дает понимание какой сервис, что использует. Можно ли это делать вручную, как Зина? Можно, только вам это предстоит делать постоянно, а не раз в год. Потом для ИТ-систем нужен автоматизированный сбор данных, разметка ресурсов в момент их создания и выделения. В итоге вы получите большой граф и понимание сколько у вас вычислительных ресурсов выделено 🤔 И это не все. Дальше вам нужны реальные метрики потребления ресурсов. Зачем? Как раз для повышения эффективности утилизации. Мы с вами знаем, что разработчики часто любят выделить ресурсы про запас и забыть про это. FinOps позволяет проводить регулярный аудит и управление ресурсами для сокращения затрат 💰. Кроме того это позволяет затраты мониторить также и создавать FinOps инциденты с последующим расследованием и постмортемом. Как раз на SaintHighLoad 2026 ребята из Купер рассказывали случай, что отловили аномалию - за облако пришел счет на 20% больше, выяснили что скидки провайдера не применились в последнем месяце! Подумаем вместе: как собирать данные инвентаризации, их хранить, объединять и анализировать? Свои идеи и инструменты буду озвучивать в следующих постах. #sre #FinOps #инциденты #cto

  • 7 июл.134 просмотров1 пересылок

    без подписи

  • 9 июл.133 просмотров2 реакций

    Попробовал разные IDE для Kubernetes Для можно использовать всегда консольную kubectl, но так как я не постоянно там сижу - это забывается. В IDE же встроен и поиск и удобный переход. Первой такой была Lens - коллега DevOps посоветовал, и действительно классная штука. Быстро работает. Но в какой-то момент что-то поломалось в обновлении и при загрузке перестало появляться окно в Windows. Потому пошел искать альтернативы. Первая FreeLens бесплатная и открытый код, повторяет Lens в большинстве функций, но есть баги - подгружает список конфигов только при старте, если добавишь, новые - перезапускай приложение. Seabird - вообще еле завелось, тормозит ужасно, даешь ему куб конфиг сразу с токеном в теле, а он его не читает и надо руками указать еще раз при добавлении кластера. HeadLamp - бага, на Windows не загружается полностью, конфликтует внутренний сервер с системными портам. Короче пока самый надежный оказался консольный k9s. #kubernetes #ide