Обновить
512K+

Системное администрирование *

Лишь бы юзер был доволен

704,42
Рейтинг
Сначала показывать
Порог рейтинга

Задача о вирусе и 1 000 серверах

Представим, что в вычислительном кластере из 1 000 серверов одна машина заражена неизвестным вирусом. Он не нагружает процессор, не генерирует подозрительный сетевой трафик и не оставляет следов в системных журналах. Только раз в сутки вирус незаметно повреждает один файл резервной копии.

Для поиска зараженного узла начинающий сисадмин Олег написал анализатор логов. Скрипт проверяет любое количество серверов одновременно, объединяя их журналы в единый пул. Результат проверки может быть только двух видов:

  • Status: 500 — если среди проверяемых серверов есть зараженный;

  • Status: 200 — если зараженного сервера в группе нет.

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

Задача

Помогите Олегу определить — предложите решение, которое позволит определить один зараженный сервер из 1 000 возможных за 10 запусков анализатора. Напишите код на Python, который по результатам проверок сможет определить номер зараженного узла.

Посмотреть решение

Теги:
Всего голосов 3: ↑3 и ↓0+9
Комментарии1

Приглашаем на пятилетие «Тантор Лабс». 10 сентября - Tantor JAM 2026

Первый юбилей Tantor — пять лет с момента основания компании. За это время мы прошли путь от стартапа до технологического лидера, одного из ведущих российских разработчиков в области управления и хранения данных, создали собственную экосистему продуктов и собрали вокруг себя сообщество, которое сегодня во многом определяет развитие российского рынка СУБД.

Программу скоро представим. Среди главных премьер:

  • Новое поколение Платформы Tantor, основанное на AI-first подходе. Представим ИИ-администратора БД с целым роем специализированных ИИ-агентов, которые возьмут на себя рутинные операции по работе с СУБД.

  • Результаты испытаний МБД Tantor XData Gen3 на различных профилях нагрузки. Покажем, как enterprise-технологии, ранее доступные только в зарубежных решениях, — независимое масштабирование Compute и Storage, RDMA, распределенная файловая система и полноценный HTAP — становятся доступны в российском ПАКе.

  • Подробнее расскажем о Tantor Polar — новой распределенной СУБД, открывающей следующий этап развития российских PostgreSQL-технологий с полным сохранением совместимости с экосистемой Postgres.

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

10 сентября 2026 года, Москва

Регистрация уже открыта.

Участие бесплатное (требуется подтверждение от организатора).

Теги:
Всего голосов 5: ↑4 и ↓1+5
Комментарии0

Выберите, что прокачать: открытые уроки для IT-специалистов на неделю

Новая неделя — хороший повод закрыть конкретный пробел в знаниях, разобраться с рабочей задачей или попробовать направление, к которому давно присматривались.

Собрали открытые уроки по категориям, чтобы вы могли быстро найти подходящую тему.

Инфраструктура, DevOps и безопасность

  • 27 июля в 20:00 — «K8S + Vault — как получать секреты?». Записаться

  • 27 июля в 20:00 — «Использование GitLab CI для работы с Ansible». Записаться

  • 30 июля в 20:00 — «Восстанавливаем RAID5 в Linux». Записаться

  • 3 августа в 20:00 — «Что такое модуль ядра. Как его написать, собрать, запустить». Записаться

  • 3 августа в 20:00 — «MPLS для корпоративных сетей: мифы, реальность и практика». Записаться

  • 3 августа в 20:00 — «Какие результаты должен давать DevSecOps-проект бизнесу и команде». Записаться

Разработка

  • 27 июля в 20:00 — «Разработка Embedded-устройств для IoT». Записаться

  • 28 июля в 20:00 — «Что Golang даёт индустрии и что он может дать вам». Записаться

  • 29 июля в 20:00 — «Собери себя сам: пишем трекер привычек на чистом JavaScript». Записаться

  • 3 августа в 20:00 — «Оживляем код: первые шаги в ООП на Python». Записаться

  • 3 августа в 20:00 — «Go: управляем памятью как профи. Массивы, слайсы и мапы». Записаться

AI и мультимодальные технологии

  • 28 июля в 20:00 — «Стирание границ: нативная интеграция ASR, TTS и NLP в эпоху мультимодальных LLM». Записаться

Тестирование и развитие карьеры

  • 30 июля в 20:00 — «API- и UI-тестирование с Playwright на Python». Записаться

  • 30 июля в 20:00 — «Прохождение собеседования на нагрузочного тестировщика. Что интересует работодателя?». Записаться

Архитектура, корпоративные системы и интеграции

  • 30 июля в 20:00 — «Функциональный архитектор 1С: как перестать быть „переводчиком требований“ и начать управлять системой». Записаться

  • 3 августа в 20:00 — «Кастомизация компонентов в Битрикс24». Записаться

  • 3 августа в 20:00 — «Использование брокера сообщений Apache Kafka в распределённых очередях». Записаться

Когда рабочая задача упирается в нехватку конкретных знаний, можно выбрать бесплатный урок по нужной теме, задать вопросы преподавателю-практику и проверить свой подход.

Это поможет точечно закрыть пробел и увереннее применять новые знания в работе.

Больше открытых уроков июля смотрите в дайджесте.

Теги:
Всего голосов 4: ↑3 и ↓1+6
Комментарии0

Представлен открытый проект no‑gdid, который позволяет избежать слежки со стороны Microsoft через GDID (расшифровывается как Global Device Identifier, глобальный идентификатор устройства — это уникальный идентификатор, присваиваемый каждой установке Windows, который отслеживает телеметрию, специфичную для устройства).

Инструкция по использованию проекта gdid. Примечательно, что штатное отключение телеметрии не даёт заблокировать работу с GDID, который хранится на серверах Microsoft.

Ранее ФБР использовала идентификатор Windows 11 для ареста за распространение программы‑вымогателя.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии1

Секреты в Kubernetes без ручного копирования: подключаем Vault через External Secrets Operator

Пока кластер небольшой, пароли, токены и ключи можно раскладывать по Kubernetes Secrets вручную. С ростом инфраструктуры этот подход быстро превращается в источник рисков: секреты дублируются, обновляются несинхронно, а их ротация требует всё больше действий и контроля.

27 июля в 20:00 на бесплатном уроке разберём, как связать Kubernetes с HashiCorp Vault и организовать централизованную доставку секретов в кластер. Основное внимание уделим External Secrets Operator и подходу dynamic secrets — чтобы чувствительные данные можно было получать и обновлять автоматически, без хранения лишних копий в манифестах и ручного переноса между системами.

Занятие проведёт преподаватель-практик, который покажет рабочую схему интеграции и примеры конфигураций, пригодные для адаптации под собственную инфраструктуру. Присоединяйтесь.

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

Теги:
Всего голосов 4: ↑4 и ↓0+8
Комментарии0

Импортозамещение: «лишь бы российское» уже недостаточно

Наконец посчитали, что российский ИТ-рынок в 2025 году вырос на 13% и превысил 4 трлн рублей. Быстрее всего росли сегменты программного обеспечения и ИТ-услуг, а одним из главных драйверов оставалось импортозамещение.

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

Лицензия – только входной билет

Если ещё несколько лет назад основной вопрос звучал так: «Чем срочно заменить зарубежный продукт?», то сегодня заказчики оценивают уже не сам факт замены, а готовность решения к промышленной эксплуатации:

  • Как решение встроится в существующую инфраструктуру?

  • Кто отвечает за сопровождение при сбоях и обновлениях?

  • Как система восстанавливается после ошибочного изменения?

  • Можно ли масштабировать внедрение без роста операционных рисков?

Стоимость проекта определяется не только лицензией. Дальше – интеграция, тестирование, обучение команды, сопровождение разнородного стека, костыли, а возможно, и простои. Отдельная статья расходов – цена неудачного восстановления.

Каталог как проверка зрелости внедрения

Особенно хорошо зрелость внедрения проверяется на службе каталогов. Перенести пользователей, группы и политики в новый Linux-каталог недостаточно. До запуска нужно проверить не только авторизацию и интеграции, но и поведение системы после ошибки:

  • создание резервных копий и восстановление отдельных объектов и атрибутов;

  • сохранность прав доступа и членства в группах, корректность репликации;

  • мониторинг массовых и ошибочных изменений;

  • понятный порядок действий администратора после инцидента.

Простой тест часто показывает больше, чем длинная презентация: удалить тестовую группу, изменить несколько атрибутов, нарушить членство и пройти весь путь восстановления. Если этот сценарий не проверяли до запуска, его придётся осваивать уже во время простоя.

Иначе получается новый офис, в который уже перевели всех сотрудников, но забыли проверить, работает ли туалет. Формально переезд завершён. Эксплуатация говорит обратное.

Зрелое импортозамещение начинается не с выбора продукта, а с продуманного внедрения: проверки совместимости, распределения зон ответственности, отработанных сценариев восстановления и понимания цены ошибки.

Теги:
Всего голосов 9: ↑8 и ↓1+13
Комментарии0

Как управлять окружениями — venv / pip vs pipenv vs poetry?

Привет, Хабр! Продолжаем нашу рубрику с быстрыми ответами на некоторые часто встречающиеся вопросы. Сегодня разберем такую проблему: проекты постоянно ломаются из-за конфликтов зависимостей. Что выбрать для новых проектов и как сделать так, чтобы код работал одинаково, в том числе в CI?

Обычно начало всех проблем — смешение глобальных и локальных пакетов или отсутствие фиксированных версий библиотек. Главный совет: у каждого проекта должно быть собственное окружение с явно указанными зависимостями и сохраненным lock‑файлом в репозитории.

Если говорить о базе, то это связка venv и pip. Плюс она встроена в сам Python. Вы вручную создаете окружение, устанавливаете нужные пакеты и фиксируете их в requirements.txt. 

Но подход со временем может стать неудобным — особенно когда в проекте десятки зависимостей и несколько разработчиков. Поэтому, на смену ручным методам пришел Poetry. 

Сейчас это, пожалуй, наиболее сбалансированное решение: он создает и управляет окружениями, отслеживает версии, собирает wheel‑пакеты и умеет публиковать их в PyPI. Lock‑файл (poetry.lock) обеспечивает воспроизводимость сборок, а сам формат pyproject.toml — это стандарт. В итоге вы получаете чистое окружение, детерминированные зависимости и понятное поведение CI.

Вот пример рабочего цикла:

python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install poetry
poetry install
poetry run pytest

В CI чаще используют схему с экспортом зависимостей:

poetry export -f requirements.txt --without-hashes -o reqs.txt
pip install -r reqs.txt
pytest

Отдельно стоит упомянуть uv — относительно новый инструмент, созданный командой Astral (авторы Ruff). Он написан на Rust и совместим с Python. По сути, это те же функции pip, venv и частично poetry, но быстрее. От Poetry он отличается отсутствием публикации пакетов, но при этом умеет сам устанавливать и менять версии Python через .python-version

UV работает с pyproject.toml и имеет собственный uv.lock. Может использоваться вместе с Poetry, но лучше создавать единый uv.lock для строгой воспроизводимости. Для CI это удобно, вы пишите:

pip install uv

Далее есть два варианта:

  • uv venv — создает виртуальное окружение. Это аналог python3.13 -m venv .venv, но работает быстрее и с автоустановкой версии Python.

  • uv init — помимо .venv, добавляет шаблон проекта с pyproject.toml для зависимостей, Git-репозиторий и базовые файлы. Идеально для нового проекта.

И окружение в CI полностью совпадает с локальным, а билд воспроизводится без сюрпризов. Но чаще всего комбинируют два решения: Poetry для разработки и uv — для быстрых сборок и деплоймента.

Если хотите освоить инструменты Python, то в Академии Selectel у нас есть отдельная подборка статей. Там мы рассказываем, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга.

Теги:
Всего голосов 4: ↑4 и ↓0+8
Комментарии0

Адриан Мастронарди (занимается созданием и управлением инженерными организациями, стоящими за выпуском ПО) выпустил книгу под названием «Полсекунды». В ней подробно рассматривается попытка создания бэкдора в xz в 2024 году. Книга распространяется бесплатно под (несвободной) некоммерческой лицензией CC, запрещающей создание производных работ.

Публикации про инцидент с xz на Хабре:

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии0

Представлен проект «Контекстные бомбы: остановка ИИ‑атак на корню». «Теперь ИИ‑агенты могут самостоятельно проводить сложные кибератаки: получив доступ к базе, самые сильные модели могут повысить свои привилегии и похитить данные за считанные минуты. Модули Canary — ресурсы‑приманки, которые мы размещаем для обнаружения злоумышленников, — надёжно обнаруживают этих агентов в действии, но обнаружение атаки — это не то же самое, что ее предотвращение. Поэтому мы попробовали нечто более амбициозное: контекстную бомбу — короткий фрагмент текста, спрятанный в канарейке, который активирует защитные механизмы ИИ‑агента и останавливает его на корню. Контекстная бомба — короткий фрагмент текста, предназначенный для активации защитных механизмов атакующих ИИ‑агентов, размещаемый непосредственно на пути их атаки», — пояснили в команде Tracebit Research.

Эффективность этого проекта может варьироваться в зависимости от поставщика модели. Мы тестировали контекстные бомбы на пяти перспективных моделях, выполняющих атаку «красной команды» в реалистичной среде AWS. Развёртывание одной контекстной бомбы внутри среды (в качестве секрета AWS) оказало огромное влияние на остановку атакующих ИИ-атак. Например, эскалация привилегий администратора снизилась с 57% запусков до 5%.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Что делать, если Python-сервер падает из-за утечки памяти?

Привет, Хабр! Это наша экспериментальная рубрика, в которой мы даем новичкам быстрые ответы на четкие вопросы. Писать статью будет излишним, а некоторую пользу до аудитории донести, возможно, получится.

Итак, допустим, агент спустя время начинает расти по памяти и в итоге все падает. Где копать и как временно ограничить ущерб, пока ищете утечку?

Первое, что нужно сделать — измерить и локализовать. tracemalloc показывает, какие строки выделяют больше всего памяти, gc — количество объектов. 

Часто проблема в неограниченных кэшах, списках или в C-расширениях. Сначала стоит включить tracemalloc, дать процессу поработать и снять снапшот:

import tracemalloc
tracemalloc.start()
# после нагрузки
snapshot = tracemalloc.take_snapshot()
top = snapshot.statistics('lineno')[:10]
for stat in top:
    print(stat)

Параллельно делайте gc.collect() и логируйте число объектов len(gc.get_objects()), чтобы увидеть рост. На время расследования применяйте эксплуатационные меры: для WSGI-сервисов используйте Gunicorn с --max-requests и --max-requests-jitter, чтобы процессы периодически перезапускались и не накапливали мусор. А в контейнерах ставьте cgroup-пределы (--memory) и настраивайте restart-политику, чтобы платформа автоматически перезапускала упавшие поды.

Пример запуска Gunicorn:

gunicorn myapp:app --workers 4 --max-requests 1000 --max-requests-jitter 50

Если утечка в C-расширении или сторонней библиотеке, то временно автоматический перезапуск и мониторинг позволяют сохранить сервис работоспособным, пока вы находите корень проблемы и исправляете код.

Если хотите освоить инструменты Python, то в Академии Selectel у нас есть отдельная подборка статей. Там мы рассказываем, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга.

Теги:
Всего голосов 3: ↑3 и ↓0+7
Комментарии0

Проект tlosint-vm - виртуальная машину от Tracelabs OSINT, которая проверяет тысячи открытых источников по запросу:

  • сервис специально создали для соревнований OSINT‑исследователей и поиска пропавших пользователей в сети;

  • готовый стек: Shodan CLI, Sherlock (поиск по логинам и юзернеймам), PhoneInfoga (разведка по номерам телефонов), SpiderFoot и sn0int (автоматизированные OSINT‑фреймворки), theHarvester и h8mail (email), Sublist3r (поддомены), exiftool и steghide (метаданные и стеганография);

  • проработана приватность — как только пользователь выходит из сервиса, то система чистит все данные и куки;

  • внутрь также вшили хранилище Obsidian, где можно оставлять заметки во время поиска;

  • без ограничений, открытый проект, легальный поиск по открытым источникам.

Теги:
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

Представлен открытый сервис NtWARden (Windows Analysis and Research Toolkit), который распознает любые вредоносы и проблемное ПО, даже если эти компоненты находятся глубоко в системе Windows.

Проект NtWARden:

  • сканирует процессы, службы, сеть, внутренние механизмы ядра;

  • обнаруживает скрытые вредоносы;

  • убивает майнеры и трояны;

  • показывает реальную картину нагрузки на процессор;

  • помогает контролировать, что находится в системе прямо сейчас: службы, сетевые соединения, скрытые процессы;

  • может подключиться к другому ПК и также отслеживать его процессы.

Теги:
Всего голосов 5: ↑5 и ↓0+8
Комментарии2

Открытый проект T3MP3ST превращает ИИ‑агентов в системы для поиска уязвимостей в IT‑проектах:

  • это мультиагентная система, которая ищет любые уязвимости в сервисах;

  • нужно только указать цель и агенты сами проведут разведку, найдут баги и предоставят отчёт;

  • результаты — из 104 тестовых задач ИИ нашёл уязвимости в 90% с первой попытки.

  • удобный инструмент для изучения кибербезопасности на практике.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Ближайшие события

 «1С-Коннект» обновил мессенджер, видеозвонки и заявки
«1С-Коннект» обновил мессенджер, видеозвонки и заявки

В «1С-Коннекте» обновили функциональные возможности для коммуникаций, удаленной поддержки и работы с обращениями. Изменения затронули мессенджер, видеозвонки, файловый менеджер, удаленное подключение и заявки на обслуживание.

Раздел удаленного подключения по коду теперь доступен в приложении для компьютера всем пользователям сервиса. В работе с файлами появилась загрузка через drag-and-drop и сочетания Ctrl + C / Ctrl + V. Файловый менеджер также доработан: увеличена площадь рабочих зон, изменена геометрия окна, а путь к файлам сохраняется при повторном открытии.

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

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

Кроме того, усилены языковые модели в составе GPT-Ассистента и ИИ-сервисов.

Новые тарифы сервиса начнут действовать с 1 августа 2026 года. Подробнее — по ссылке

Теги:
Всего голосов 6: ↑6 и ↓0+8
Комментарии1

Как на собственных серверах настроить систему сбора и хранения данных с датчиков и снизить нагрузку на команду эксплуатации

Собрать данные с датчиков — это полбеды. Главная боль — заставить Kafka, PostgreSQL и ClickHouse стабильно работать в приватном облаке без выгорания команды на Day-2-операциях и ручном масштабировании stateful-сервисов.

На вебинаре покажем, как на Deckhouse Kubernetes Platform (DKP) и managed-сервисах упаковать IoT-сценарии и аналитический контур в единую платформу, чтобы снизить стоимость эксплуатации и уйти от DIY-подхода к data-инфраструктуре.

Зарегистрироваться на вебинар

В программе:

  • Разберём схему event-driven-платформы и разделение операционного и аналитического контуров.

  • Покажем live-demo: ingest событий с датчиков, потоковая обработка и вывод в дашборды.

  • Проверим, как паттерны из умного дома масштабируются до промышленного IoT на DKP.

  • Разберём жизненный цикл data-сервисов (backup, scaling, observability) и то, сколько времени занимает их обслуживание.

Бонусы: промокод на все курсы Deckhouse Академии.

Будет полезно DevOps и SRE-инженерам, инфраструктурным и платформенным командам, enterprise-архитекторам и всем, кто строит IoT- и data-платформы в private cloud или on-prem.

Спикер — Дмитрий Гайворонский, менеджер по развитию направления Deckhouse Data Orchestration.

Регистрируйтесь и подключайтесь 10 июля в 12:00 (МСК). 

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Представлен открытый проект Ghostprovider — терминальный инструмент для быстрого запуска GitHub‑проектов у себя на localhost.

Принцип работы проекта: предоставляется ссылка на репозиторий, а инструмент сам анализирует проект: ищет Dockerfile, docker‑compose, package.json, requirements.txt, Go/Rust/Python/Node‑признаки, определяет тип приложения и пытается развернуть его в Docker. После запуска показывает локальный URL, контейнеры, логи и дает управлять сервисами прямо из TUI: старт, стоп, рестарт, удаление. По сути это автоматизированная оболочка над git clone, docker build, docker run и docker compose up, только с автоанализом проекта и удобным интерфейсом в терминале.

Важно: инструмент реально запускает код из чужих репозиториев, поэтому случайные проекты лучше гонять в VM/песочнице и внимательно смотреть Dockerfile/docker‑compose перед запуском. Сам Ghostprovider выглядит прозрачным, но риск всегда в том, что именно вы через него запускаете.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Искусственный интеллект перестал быть экспериментом — сегодня от него ждут конкретных результатов. При этом эффективность ИИ-инициатив ограничена возможностями инфраструктуры.

Мы упаковали наш опыт работы с десятками компаний из госсектора, финансов, ритейла, промышленности, НГХ и создали Сезон ИИ-инфры: пройдите весь путь к ИИ — от первичной оценки готовности инфраструктуры до конкретных решений и рекомендаций экспертов, которые внедряют ИИ в продакшн.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Представлен открытый сервис Aliens Eye, который ищет всевозможную информацию в соцсетях, на сайтах и других ресурсах, предоставляя полный отчёт:

  • 840 различных OSINT-инструментов для анализа сайтов, соцсетей, других ресурсов, хостингов, доменов и даже физических устройства;

  • все сервисы работают по одному клику. При этом интерфейс интуитивно понятен;

  • отчёты предоставляет в JSON, CSV, HTML и Markdown форматах;

  • без ограничений, без дополнительных установок.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Что почитать по инфраструктуре: Docker, K8s, сети и защита серверов

Собрали свежие статьи из нашего блога — те, что легко затерялись в ленте, но которые стоит дочитать до конца. Если на неделе было не до Хабра, вот короткий дайджест с самым полезным.

Ваш docker-compose.yml сломается: 5 настроек, которые все забывают
Локально всё крутится, на сервере неделю тоже — а потом Postgres съедает всю память, OOM-киллер убивает соседний сервис, а логи забивают диск. Всё лечится парой строк в compose-файле, но про них забывают: на машине разработчика они просто не проявляются. Разбираем пять настроек, без которых compose не доживёт до второй недели на проде.

Прощай, Fail2Ban: усиливаем защиту Netbird и Caddy с CrowdSec
Fail2Ban десять лет был золотым стандартом, но он реактивен: чтобы он сработал, атакующему сначала нужно постучаться в ваш SSH пять раз. А что, если блокировать вредоносные IP ещё до того, как их трафик дойдёт до сервера? История о переходе на CrowdSec с пошаговыми примерами кода — и о том, как «шум» от атак упал на 99%.

Разбираемся с форвардингом IP-пакетов в сетевых уровнях L2 и L3
Чем коммутатор отличается от маршрутизатора, зачем нужен TTL, как устроена CAM-таблица и почему без ARP ваш пакет никогда не доедет до получателя. Спокойный разбор основ, который наводит порядок в голове — для тех, кто хочет наконец перестать путать L2 и L3.

Self-service деплой: как перестать ждать DevOps и ускорить команду
Знакомая картина: разработчик полчаса висит в Slack, ожидая, пока кто-то накатит сборку на стенд. С ростом команды DevOps-инженер становится единственным шлюзом между кодом и продакшеном — и это горлышко съедает до 30% времени. Tech Lead рассказывает, как self-service платформа убирает узкое место, с кейсами Monzo и Spotify.

Kubernetes: архитектура и абстракции — полный гайд
K8s называют стандартом, но понимание его механик встречается редко. Control Plane и Worker Nodes, Pod, Service, Deployment, Namespace — «прожиточный минимум» абстракций, без которых нельзя выходить в прод. Плюс отрезвляющая история о том, как Tinder год переезжал на кластер из 1000 узлов и что у них при этом ломалось.

От capabilities к AppArmor: что реально остановит атакующего в контейнере
Уязвимость в веб-приложении, злоумышленник уже выполняет команды внутри контейнера — что именно его остановит? На одной и той же рабочей нагрузке показано, как последовательно срабатывают три слоя защиты: capabilities, seccomp и AppArmor. Где каждый помогает, где бессилен и почему работать они должны только вместе.

Хотите системно закрыть пробелы по инфраструктуре? Собрали большой дайджест по Linux, Docker, Kubernetes, CI/CD и сетевой безопасности: бесплатные уроки, практические гайды и курсы — всё в одном месте.

Теги:
Всего голосов 4: ↑4 и ↓0+8
Комментарии0

Как я в Zabbix мониторю аккаунт в REG.RU: баланс, неоплаченные счета и сроки всех услуг - через API reg.ru

Домен можно сторожить по WHOIS: взял имя, посмотрел дату, повесил триггер «истекает через 30 дней». Но WHOIS видит ровно один домен и ничего вокруг. Он не знает, что на счёте кончились деньги, что висит неоплаченный счёт, из-за которого услугу снимут раньше срока, что в том же аккаунте ещё десяток доменов, SSL и хостинг. Поэтому я опрашиваю не WHOIS, а биллинговый API самого регистратора - он отдаёт весь аккаунт целиком. Собрал из этого шаблон под Zabbix 7.0, MIT. Расскажу, как он устроен и что в нём, на мой взгляд, сделано правильно.

Архитектура Три HTTP-айтема ходят в api.reg.ru - список услуг, неоплаченные счета и баланс - и складывают сырой JSON. Дальше всё считается из него: dependent items тянут баланс, сумму и число счетов через JSONPath, а LLD разворачивает прототипы под каждую услугу (ненужные типы отсекаются макросом-регуляркой). Каждая цепочка начинается с error_handler - битый или пустой ответ API не роняет айтем, а подставляет безопасное значение. На весь аккаунт получается несколько запросов в час, а не отдельная проверка на каждую услугу.

Что считаю правильным дизайном - две цепочки зависимостей Первое - nodata. Когда API регистратора отваливается целиком, каждый триггер «нет данных» (услуги, счета, баланс) хочет сработать сам, и ты получаешь пачку алертов про одну причину. Я завязал nodata услуг и счетов на корневой «No data from balance API». Полный отвал API теперь - один алерт, а не три. Корень я специально оставил без зависимостей, чтобы случайно не завязали и его, - об этом есть комментарий прямо в шаблоне.

Второе - сроки. На каждую услугу не один триггер, а каскад: ИСТЕКЛА (Disaster) → ≤7 дней (High) → ≤14 (Warning) → ≤30 (Info). Каждый уровень зависит от более тяжёлого. Поэтому услуга, которой осталось три дня, даёт один алерт High - а не три штуки (Info, Warning, High) одновременно. По мере приближения срока ты видишь ровно один триггер нужной серьёзности.

Для работы API, необходимо прописать разершенные IP в кабинете https://www.reg.ru/user/account/settings/api/, в настройках API задать адьтернативный пароль, и сохранить в макрос хоста {$RR_PASSWORD} как Secret. Логин - {$RR_USERNAME}. Для рег.облако взять API в https://cloud.reg.ru/panel/settings и сохранить в {$RRC_API_KEY}

Итог Баланс, неоплаченные счета и сроки всех услуг - под алертами в одном дашборде, без отдельного демона-прослойки. В репозитории два шаблона: разобранный выше под api.reg.ru (домены, хостинг, SSL) и отдельный под облачный api.cloudvps.reg.ru - там к балансу и срокам добавлен мониторинг самих VPS: реглеты, снапшоты, сети. Шаблоны, README и changelog - GitHub, PR и issues welcome.

А чем вы следите за биллингом у провайдеров и регистраторов - дёргаете API, или живёте на письмах «ваша услуга истекает»?

Теги:
Всего голосов 7: ↑7 и ↓0+10
Комментарии1