🚀🐳 Летит Кит: SRE и не только
194 subscribers
119 photos
2 videos
5 files
103 links
Дмитрий Синявский, SR-иженер и спикер (@r3code)

Заметки о замеченном и замечательном.
SRE, SLI/SLO, логи, наблюдаемость.
Кейсы.

₽: Консультации, аудит SRE практик, организация SRE без SRE, разработка ПО на заказ

Дублирую в MAX https://clck.ru/3Sr7qM
Download Telegram
В первый раз побывал на Summer Merge в Ульяновске. Лекции под соснами на кубиках из сена - это атмосферно.

Я выступал в роли Амбассадора набросков - это мое хобби. За два часа меня нарисовали более 100 раз 😄 Более 20 человек сначала стеснялись, а потом вместе смеялись, когда с 5 и 3 минут мы перешли к рисованию за минуту. Это было классно. Прикреплю несколько работ.

Было под 2000 человек, но это не ощущалось как давка, всем хватало места. 

Это было как маленький отпуск в пионерском лагере 🏕️ Думаю поеду еще.

#summermerge #конференции
❤‍🔥5
Попробовал разные IDE для Kubernetes

Для можно использовать всегда консольную kubectl, но так как я не постоянно там сижу - это забывается. В IDE же встроен и поиск и удобный переход.
Первой такой была Lens - коллега DevOps посоветовал, и действительно классная штука. Быстро работает.

Но в какой-то момент что-то поломалось в обновлении и при загрузке перестало появляться окно в Windows. Потому пошел искать альтернативы.
Первая FreeLens бесплатная и открытый код, повторяет Lens в большинстве функций, но есть баги - подгружает список конфигов только при старте, если добавишь, новые - перезапускай приложение.
Seabird - вообще еле завелось, тормозит ужасно, даешь ему куб конфиг сразу с токеном в теле, а он его не читает и надо руками указать еще раз при добавлении кластера.
HeadLamp - бага, на Windows не загружается полностью, конфликтует внутренний сервер с системными портам.

Короче пока самый надежный оказался консольный k9s.

#kubernetes #ide
🔥1😁1
Forwarded from Мониторим ИТ
vmestimator

Утилита vmestimator отслеживает кардинальность и предоставляет результаты оценки в виде метрик . Это позволяет своевременно оповещать ответственных товарищей о скачках кардинальности и быстро идентифицировать проблему.

Отслеживание кардинальности — наиболее практичный вариант использования, но не единственный. vmestimator также можно использовать для измерения кардинальности по произвольным параметрам меток, что позволяет его применять для анализа использования каждого тенанта, отслеживать долгосрочные тренды и планировать мощности.

Репыч на Гитхаб

📱 Telegram | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Управление расходами на IT для CTO

Как FinOps помогает увидеть спрятанное, выключить ненужное, сэкономить деньги.

Да мы с вами строим большие и классные системы, которые дают много пользы, но чем больше объектов тем легче они теряются и про них забывают.

Помню как нашли сервер, который 3 года жил потреблял 0.1cpu при выделенных 2 - просто забыли Легаси сервис вывести.

С чего начинать? С инвентаризации, Зиночка! С инвентаризации! Да нам повезло, кажется, больше - не надо лазить и поднимать стулья и лампы, чтобы проверить номер. Но это не означает, что это проще, так как количество объектов растет с глубиной погружения.

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

Можно ли это делать вручную, как Зина? Можно, только вам это предстоит делать постоянно, а не раз в год. Потом для ИТ-систем нужен автоматизированный сбор данных, разметка ресурсов в момент их создания и выделения. В итоге вы получите большой граф и понимание сколько у вас вычислительных ресурсов выделено 🤔

И это не все. Дальше вам нужны реальные метрики потребления ресурсов. Зачем?
Как раз для повышения эффективности утилизации. Мы с вами знаем, что разработчики часто любят выделить ресурсы про запас и забыть про это.

FinOps позволяет проводить регулярный аудит и управление ресурсами для сокращения затрат  💰.

Кроме того это позволяет затраты мониторить также и создавать FinOps инциденты с последующим расследованием и постмортемом. Как раз на SaintHighLoad 2026 ребята из Купер рассказывали случай, что отловили аномалию - за облако пришел счет на 20% больше, выяснили что скидки провайдера не применились в последнем месяце!

Подумаем вместе: как собирать данные инвентаризации, их хранить, объединять и анализировать?

Свои идеи и инструменты буду озвучивать в следующих постах.

#sre #FinOps #инциденты #cto
Распределённая трассировка для 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
Forwarded from Мониторим ИТ
One-command OpenTelemetry setup on Linux hosts

Множество приложений на Java, .NET, Node.js и Python, работающие на Linux-хостах, до сих пор не имели автоматизации. Для их мониторинга приходилось вручную загружать агенты и самостоятельно настраивать переменные окружения. На конференции OTel Unplugged EU в Брюсселе в феврале этого года постоянно звучал один и тот же вопрос: понятные инструкции по упаковке, установке и использованию. Вы просили:

{apt|yum} install opentelemetry

И теперь вы действительно можете это сделать!


Этот пакет устанавливает OpenTelemetry Injector вместе с SDK OpenTelemetry и пакетами автоматической инструментации для Java, .NET, Node.js и Python. Injector подключается к запуску процессов на хосте и активирует соответствующую автоматическую инструментацию для приложений без изменений в коде приложения или скриптах деплоя.

Подробнее в блоге OpenTelemetry

📱 Telegram | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Дважды буду на ПерфКонф #12

Привет, киты 🐳!
Выступаю на ПерфКонф второй год подряд.
Вас жду на доклад - раз, круглый стол по мониторингу - два-с!

Точное время будет в программке на 👉 perfconf.ru - конференция о производительности и отказоустойчивости ИТ-систем

Приходите 9 сентября 2026 офлайн:
📍 Москва, Loft Hall на м. Автозаводская
💻 Можно подключиться онлайн

Доклад будет про SLO - как можно наколоться, делая все вроде бы правильно. Случаи из практики.

В программе - нагрузочное тестирование, оптимизация производительности, DevOps и CI/CD, SRE и Observability, AI и хаос-инжиниринг. Практические кейсы без воды и возможность лично пообщаться со спикерами и коллегами из индустрии.

Буду рад увидеться, обсудить доклад и ответить на ваши вопросы.

» 👉 Регистрируйтесь и приходите: perfconf.ru «

#ПерфКонф #Performance #SRE #DevOps #НагрузочноеТестирование
👍5❤‍🔥1
Извлечение данных из разных документов для AI быстро

Мы в своей работе все больше используем AI и пайплайны автоматизации. Одна из задач доставать тексты из документов, чем быстрее тем лучше.
Потому что например LLM может тот же docx начать разбирать как XML и потратить много токенов и времени на это, или начать ставит по пути доп библиотеки для разбора, что не уменьшает время обработки.

Есть библиотека или тул на Rust для этого. Ставится локально утилитой и конвертирует практически любой документ, содержащий текст, в Markdown с сохранением заголовков и логики. Использовать или скиллом, или упомянуть в правилах (для экономии контекста).

Конвертация 10-100 страниц с текстом на 100-900кб занимает 50-130 мс.
Хорошо справляется с офисными форматами, pandoc не ровня.
Осознанно не умеет: обрабатывать картинки, просто их пропускает. Из pptx с картинками вы получите 500 байт текста на несколько слайдов, то есть только обертку, а из pdf со сканом вообще ничего.
Для агента с возможностью читать картинки - это не проблема, тот же Claude, и GPT умеют читать картинки.

Скачать: https://github.com/firecrawl/anydoc

#ai-tools #ai #markdown #инструменты
🔥2