Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787 Заявка: 8137718351
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Библиотека девопса | DevOps, SRE, Sysadmin
تُعد قناة Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 342 مشتركاً، محتلاً المرتبة 11 758 في فئة التكنولوجيات والتطبيقات والمرتبة 61 362 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 342 مشتركاً.
بحسب آخر البيانات بتاريخ 25 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -38، وفي آخر 24 ساعة بمقدار -8، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.87%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.78% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 021 مشاهدة. وخلال اليوم الأول يجمع عادةً 495 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 3.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops'a, навигация, скрипт, docker, git.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Заявка: 8137718351”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 26 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
جارٍ تحميل البيانات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 26 أكتوبر | 0 | |||
| 25 أكتوبر | +1 | |||
| 24 أكتوبر | +2 | |||
| 23 أكتوبر | +3 | |||
| 22 أكتوبر | +2 | |||
| 21 أكتوبر | +4 | |||
| 20 أكتوبر | +1 | |||
| 19 أكتوبر | +1 | |||
| 18 أكتوبر | +3 | |||
| 17 أكتوبر | +3 | |||
| 16 أكتوبر | +5 | |||
| 15 أكتوبر | +2 | |||
| 14 أكتوبر | +3 | |||
| 13 أكتوبر | +1 | |||
| 12 أكتوبر | +11 | |||
| 11 أكتوبر | +2 | |||
| 10 أكتوبر | +1 | |||
| 09 أكتوبر | +2 | |||
| 08 أكتوبر | +2 | |||
| 07 أكتوبر | +2 | |||
| 06 أكتوبر | +4 | |||
| 05 أكتوبر | +1 | |||
| 04 أكتوبر | 0 | |||
| 03 أكتوبر | 0 | |||
| 02 أكتوبر | +2 | |||
| 01 أكتوبر | 0 |
| 2 | 31 октября AvitoTech собирает инфраструктурных инженеров на Avito Infraween Party 🤩
Вместо классических докладов — два круга открытых дискуссий: можно будет обсудить инфраструктурные задачи, поделиться своими кейсами и поспорить о решениях с экспертами AvitoTech и другими участниками.
А на афтерпати устроят настоящий чемпионат по метанию старой списанной техники 🔥
Победителей наградят реальными чемпионскими поясами!
Хороший повод пообщаться с инфракомьюнити — зарегаться можно тут!
P. S. Кстати, костюмы максимально приветствуются! Так что если хотите прийти в образе, welcome. | 465 |
| 3 | Kube API не отвечает, LoadBalancer не пропускает трафик, DNS не резолвит, исходящие запросы не уходят. Причина обычно кроется на стыке облачной сети и кластера, и найти её без понимания всей цепочки сложно.
3 ноября в 12:00 Роман Ерема, разработчик в команде Managed Kubernetes MWS Cloud Platform, на практике покажет:
⏺️как взаимодействуют сеть облака, CNI и сеть Kubernetes
⏺️как работают SNAT и Source IP
⏺️когда нужен externalTrafficPolicy: Local и почему при нём может не проходить health check
⏺️как диагностировать проблемы на реальных кейсах (live-demo)
Все участники получат чек-лист для проверки доступности.
Полезно инженерам, разработчикам и специалистам по сетям и облачной инфраструктуре.
🗓 3 ноября в 12:00
Регистрируйтесь по ссылке | 502 |
| 4 | Заголовок PR не должен становиться shell-кодом
В GitHub Actions выражения ${{ ... }} внутри run: подставляются до запуска shell. Если напрямую вставить туда github.event.pull_request.title, чужой заголовок может изменить текст исполняемого скрипта.
Для inline-скриптов GitHub рекомендует передавать такое значение через промежуточную переменную окружения. Например, шаг внутри steps: job на Ubuntu runner:
- name: Print PR title
shell: bash
env:
TITLE: ${{ github.event.pull_request.title }}
run: |
printf '%s\n' "$TITLE"
Теперь заголовок передаётся как данные. Bash не разбирает содержимое "$TITLE" повторно как команды. Двойные кавычки также не дают разбить значение по пробелам, а фиксированный формат '%s\n' не превращает сам заголовок в форматную строку.
Этот шаг только печатает значение, дополнительных прав ему не нужно. Не передавайте переменную дальше в eval или bash -c, иначе снова получите исполнение текста как кода.
Исправление защищает эту подстановку. Права токена, доступ к секретам и checkout непроверенного кода в привилегированных pull_request_target или workflow_run требуют отдельной проверки.
Рекомендации GitHub по обработке недоверенного ввода
#арсенал_инженера | 514 |
| 5 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 583 |
| 6 | Новая NetworkPolicy не отменяет старое разрешение
Добавили default-deny, а к Pod всё ещё можно подключиться? Проверьте остальные политики, которые выбирают этот Pod.
У стандартных Kubernetes NetworkPolicy разрешения складываются. Для одного Pod и одного направления действует объединение разрешённых соединений из всех подходящих политик. Порядок создания политик результат не меняет.
Например, обе политики выбирают одни и те же Pod и действуют на ingress:
— первая не разрешает ни одного входящего соединения
— вторая разрешает вход от любых источников
Добавление первой не отнимет доступ, который даёт вторая. Чтобы сузить его, придётся изменить или убрать широкое разрешение. Более поздняя политика не получает приоритет автоматически.
Ingress и egress рассматриваются отдельно. Если соответствующие направления изолированы, для соединения Pod → Pod должны разрешить его и egress источника, и ingress назначения. Поэтому при проверке доступа смотрите podSelector и policyTypes на обеих сторонах.
И сначала убедитесь, что сетевой плагин поддерживает NetworkPolicy. Само создание объекта в API фильтрацию трафика не включает.
Модель NetworkPolicy в документации Kubernetes
#архитектура_на_салфетке | 630 |
| 7 | Что сделает systemd с пропущенным ночным запуском
Сервер был выключен ночью, и календарный таймер не запустил задачу. Чтобы при следующей активации таймера наверстать пропуск, у systemd есть Persistent=true.
Пример секции для backup.timer на Linux с systemd:
[Timer]
OnCalendar=daily
Persistent=true
RandomizedDelaySec=15m
Это только секция таймера. Для выполнения работы нужен отдельный backup.service. По умолчанию таймер активирует сервис с тем же базовым именем.
С Persistent=true systemd хранит время последнего срабатывания на диске. Если в период неактивности таймер должен был сработать хотя бы раз, при активации он вызовет сервис. Но не по разу за каждую пропущенную ночь.
У этой настройки две важные границы:
— она действует только с OnCalendar=. Для OnBootSec= и других монотонных таймеров эффекта нет
— догоняющий запуск тоже учитывает RandomizedDelaySec=. В примере он может дополнительно задержаться на случайный интервал до 15 минут
Точной секунды пример не обещает: у таймера есть ещё AccuracySec=, по умолчанию одна минута.
Параметры systemd.timer
#root_prompt | 682 |
| 8 | Сервис восстановился, а SLO-алерт всё ещё горит
Если алерт смотрит только на долю ошибок за последний час, след недавнего сбоя может держать его активным даже после восстановления.
В SRE Workbook Google разбирает проверку по двум окнам. Длинное показывает значимый расход error budget, короткое проверяет, продолжаются ли ошибки сейчас.
В примере для SLO 99,9% за 30 дней алерт требует одновременно:
— burn rate выше 14,4 за последний час
— burn rate выше 14,4 за последние 5 минут
Burn rate — скорость расходования бюджета ошибок относительно допустимой. Для этого SLO значение 14,4 соответствует доле ошибок 1,44%. Час с таким расходом — 2% бюджета за 30 дней в расчёте из книги.
Внутри пары нужен AND. Когда показатель за короткое окно опустится ниже порога, условие перестанет выполняться, хотя часовое окно ещё помнит сбой. Если добавляете пары для других скоростей расхода, их объединяют через OR.
Окна и пороги из примера нужно примерить к своему трафику. На малонагруженном сервисе даже несколько запросов заметно меняют долю ошибок. Точное время сброса алерта из одного размера окна не следует.
Разбор и примеры правил в SRE Workbook
#архитектура_на_салфетке | 737 |
| 9 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 750 |
| 10 | Почему ожидающий деплой исчез из GitHub Actions
cancel-in-progress: false сохраняет выполняющийся запуск. Но само по себе это не гарантирует, что все ожидающие деплои дойдут до исполнения.
Например, на уровне workflow в GitHub.com задано:
concurrency:
group: production
cancel-in-progress: false
В стандартном режиме queue: single у группы один выполняющийся и один ожидающий запуск. A деплоится, B ждёт. Приходит C — и заменяет ожидающий B. Запущенный A при этом продолжает работать.
Если важно сохранить несколько ожидающих запусков, в текущей документации есть другой режим:
concurrency:
group: production
queue: max
Так могут ждать до 100 запусков. Когда очередь заполнена, новые отменяются. Сочетание queue: max и cancel-in-progress: true вызовет ошибку валидации workflow.
Есть нюанс и с порядком. FIFO считается по моменту начала ожидания concurrency-группы, а не по времени отправки workflow. Порядок коммитов сам по себе не гарантирует порядок деплоев.
Используйте одну группу для workflow одного репозитория, которые должны делить блокировку. Внешнюю систему деплоя имя production не остановит. Для GitHub Enterprise Server доступность режима нужно сверить с документацией вашей версии.
Как работает concurrency
#арсенал_инженера | 764 |
| 11 | Сначала rate, потом sum
После рестарта реплики на графике RPS появился всплеск? Проверьте порядок операций в PromQL.
rate() считает средний прирост counter в секунду и учитывает его сбросы. Если сначала сложить счётчики разных реплик, информация о сбросе отдельной серии потеряется. Поэтому сначала считаем скорость для каждой серии, затем суммируем:
sum by (job) (
rate(http_requests_total{job="api-server"}[5m])
)
Это запрос для Prometheus, где уже есть counter http_requests_total с меткой job="api-server". Результат — среднее число запросов в секунду за выбранное окно, суммарно по сериям этого job. Имена метрики и меток подставьте из своей системы.
Окно 5m здесь пример. Его нужно соотнести с интервалом сбора и нужной чувствительностью графика. Для gauge, например текущей занятой памяти, rate() не подходит.
Документация Prometheus
#арсенал_инженера | 871 |
| 12 | Команда DevCrowd* запустила новое исследование инженеров, которые отвечают за надёжность: SRE, DevOps, платформенных инженеров и всех, кто держит прод в строю.
В этом году главный сюжет — как меняется роль в эпоху AI. Смотрят на то, что уже автоматизируется, а что, наоборот, дорожает: пускают ли AI действовать в проде и где проходит граница доверия, добавляет ли сгенерированный код новых инцидентов, и что остается исключительно работой человека, когда рутину забирает машина. Отдельный блок про soft skills: какие навыки SRE-специалисты считают важными, в каких проседают и что не заменит AI.
Не обошли и человеческую цену надежности: сколько стоят дежурства по времени, деньгам и здоровью и на ком в команде реально концентрируется нагрузка.
Часть вопросов повторяет прошлогодний опрос, так что по грейдам, зонам ответственности и рынку будет видна динамика, а не разовый срез.
Опрос анонимный на 10–12 минут. Отчет со всеми разрезами опубликуют в начале декабря.
Пройти опрос: https://survey.devcrowd.ru/sre-2026 | 742 |
| 13 | PodDisruptionBudget не запретит kubectl delete
Три Ready-реплики, minAvailable: 2. При добровольном выселении через Eviction API бюджет не позволит опустить число доступных Pod ниже двух. На этом механизме основан и обычный kubectl drain.
А прямое удаление Pod или Deployment обходит PDB. Если удалить две реплики вручную, бюджет не превратит этот запрос в отказ. PDB также не предотвращает аппаратный сбой: он ограничивает определённые добровольные disruption, а не гарантирует доступность приложения.
При обслуживании проверяйте не только YAML с minAvailable, но и путь, которым инструмент убирает Pod. Eviction и DELETE похожи по результату, но разные по защите. Контроллер восстановит реплики, однако это не означает, что перерыва не было.
Какие disruption учитывает Kubernetes
#архитектура_на_салфетке | 948 |
| 14 | Для простой admission-проверки webhook может быть лишним
Нужно проверить обязательную метку или ограничить число реплик? Прежде чем поднимать отдельный webhook-сервер, посмотрите на CEL-политики Kubernetes. ValidatingAdmissionPolicy выполняет проверку внутри API-сервера, без сетевого обращения к вашему сервису. Эта возможность стабильна с Kubernetes 1.30.
Webhook остаётся полезным для сложной логики, например вызова внешнего API. Но к нему добавляются доступность сервера, тайм-ауты и задержка admission. Mutating webhooks вызываются последовательно, иногда повторно. Validating webhooks работают параллельно.
Для CustomResource базовую валидацию и значения по умолчанию лучше задавать в самой CRD. Выбирать механизм стоит по задаче и версии кластера, а не по привычному шаблону с ещё одним Deployment.
Рекомендации Kubernetes
#архитектура_на_салфетке | 1 179 |
| 15 | Лишние поля логов можно убрать до экспорта
Cloudflare добавила Transformers в Logpush. Это SQL-запрос для конкретного набора логов: WHERE убирает неподходящие записи, SELECT выбирает поля и меняет их содержимое. Отфильтрованный результат уходит в хранилище уже в NDJSON.
Например, можно исключить health-check трафик, привести схему к формату других CDN и замаскировать часть IP. Внутри преобразование выполняет DataFusion на Arrow-батчах, прямо в сервисе доставки. Отдельного сетевого вызова в горячем пути нет.
Но маска IP ещё не делает весь лог анонимным: идентификаторы могут остаться в URL и других полях. Сначала посмотреть preview, затем привязать версию Transformer к совместимому Logpush job с тем же dataset.
Устройство и пример преобразования
#арсенал_инженера | 1 301 |
| 16 | Где развернуть свои сервисы, когда инфраструктура под угрозой?
Коллеги, партнеры, друзья! Ситуация с инфраструктурой сложилась напряжённая. Многие столкнулись с последствиями отказа серверов: сбоями в работе сервисов и приложений, репутационными потерями. Мы рядом и готовы вам помочь!
Оперативно развернем вашу инфраструктуру.
У нас все работает штатно.
Разместите у нас ваши приложения, критичные сервисы или бэкап всей инфраструктуры. Мы можем быть как основной площадкой, так и резервной.
Готовы принять вас в следующих локациях:
🇷🇺Москва, Санкт-Петербург, Екатеринбург
🇺🇿🇰🇿 Ташкент, Алматы
Пишите нам на горячую линию OXYGEN
Или на почту managers@o2xygen.ru
Отработаем запрос приоритетно.
Disaster Recovery
Бэкапы
СХД
Основная площадка или резерв | 794 |
| 17 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 872 |
| 18 | Showboat и Rodney помогают показать работу ИИ-агента
Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.
uvx showboat --help
Эту команду автор предлагает дать агенту: в справке есть всё необходимое, чтобы тот создал документ с демонстрацией новой функции.
Уиллисон замечал и обход механизма: агент напрямую правит текст отчёта. Тогда записанный вывод может расходиться с реальным запуском. Содержимое демонстрации тоже требует проверки.
#ии #инструменты | 1 307 |
| 19 | Вспомните последний раз, когда ИИ сделал для вас рабочий результат: код, тесты, документацию или требования. Как вы его проверяли? | 1 175 |
| 20 | SRE-инженеры, общий сбор
21 октября Т-Банк проведет онлайн-встречу «SRE-техтолк». Приглашают SRE и DevOps-инженеров.
На техтолке расскажут:
Какие подходы к надежности работают в Т-Банке.
Как в бигтехе отслеживают бизнес-операции и автоматизируют дежурства.
Какие решения можно адаптировать под свои задачи.
Приходите слушать доклады экспертов из разных команд Т-Банка, обсуждать реальные кейсы и проверенные инструменты.
Встреча пройдет онлайн, а для инженеров из Екатеринбурга и Новосибирска Т-Банк организует трансляцию в ИТ-хабах.
Участие бесплатное. А регистрация тут! | 864 |
