DevOps by REBRAIN
Открытые практикумы по DevOps, Linux, Golang, Networks, Security Мы на связи: info@rebrainme.com +7 (499) 116-34-68 https://rebrainme.com/ Зарегистрированы в РКН: https://knd.gov.ru/license?id=674db558d793bc0b0b8845ff®istryType=bloggersPermission
Ko'proq ko'rsatish📈 Telegram kanali DevOps by REBRAIN analitikasi
DevOps by REBRAIN (@rebrain_devops) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 29 041 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 4 600-o'rinni va Rossiya mintaqasida 22 417-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 29 041 obunachiga ega bo‘ldi.
16 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 245 ga, so‘nggi 24 soatda esa -6 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 9.28% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.74% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 695 marta ko‘riladi; birinchi sutkada odatda 1 956 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 11 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent dovecot, linux, скрипт, postfix, yandex kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Открытые практикумы по DevOps, Linux, Golang, Networks, Security
Мы на связи:
info@rebrainme.com
+7 (499) 116-34-68
https://rebrainme.com/
Зарегистрированы в РКН: https://knd.gov.ru/license?id=674db558d793bc0b0b8845ff®istryType=bloggersPermiss...”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 17 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Ma'lumot yuklanmoqda...
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 16 Iyul | +1 | |||
| 15 Iyul | +4 | |||
| 14 Iyul | +17 | |||
| 13 Iyul | +16 | |||
| 12 Iyul | +4 | |||
| 11 Iyul | +5 | |||
| 10 Iyul | +6 | |||
| 09 Iyul | +5 | |||
| 08 Iyul | +3 | |||
| 07 Iyul | +7 | |||
| 06 Iyul | +3 | |||
| 05 Iyul | +2 | |||
| 04 Iyul | +1 | |||
| 03 Iyul | +1 | |||
| 02 Iyul | +1 | |||
| 01 Iyul | +2 |
| 2 | ❗Начало Открытого практикума IPTables-2 уже через 5 минут
Встречаемся в 19:00 МСК.
Ссылка для входа: https://my.rebrainme.com/live-class/503
Также вы можете подключиться к вебинару через личный кабинет, в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 154 |
| 3 | Открытый практикум IPTables-2 начнётся сегодня в 19:00 МСК. Практикум будет проходить на площадке Zoom.US
Важно!!! Чтобы вы смогли без проблем к нам присоединиться, заранее протестируйте комнату по ссылке: https://zoom.us/test
Ссылку для доступа отправим вам за 5 минут до начала. Либо заходите через личный кабинет в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 350 |
| 4 | Blue Team vs Red Team. Почему защищаться сложнее, чем атаковать
Red Team эффектно закрывает отчёт: нашли SQL-инъекцию, обошли WAF, забрали Domain Admin за два часа. У Blue Team задача менее зрелищная — закрыть 47 критических уязвимостей, 12 из них в проде, и успеть до дедлайна на исправление.
Правило здесь неравное. Атакующему достаточно одной дыры, а защите нужно закрыть все. Практикум BlueTeam учит находить слабые места в инфраструктуре раньше атакующих и защищать то, что уже развёрнуто — контейнеры, Kubernetes, веб-приложения, Active Directory.
В программе:
🟢Настройка безопасного окружения Docker и runtime-мониторинга в Kubernetes с помощью Falco
🟢Автоматизация процессов Vulnerability Management и сканирования инфраструктуры с Nessus/GreenBone
🟢Анализ исходного кода и контейнеров на наличие уязвимостей в CI/CD конвейере
🟢Выявление и эксплуатация уязвимостей веб-приложений из списка OWASP Top 10
🟢Проведение аудита безопасности Active Directory, выявление векторов атак и повышение привилегий
🟢Защита инфраструктуры Active Directory
↘️ Подробнее о программе
Финальный проект
Аудит безопасности гибридной инфраструктуры целиком. Нужно просканировать уязвимости веб-приложения, настроить защиту контейнеров в K8s, найти слабые места в Active Directory и собрать отчёт с планом устранения критических угроз.
Практикум уровня Middle, 65 уроков, 240 часов практики. Понадобятся базовые навыки администрирования Linux и Windows, понимание TCP/IP, DNS и основ Docker.
🎁 До 19 июля действует скидка 7 500 рублей для новых участников
↘️ Купить практикум со скидкой
Если ты сисадмин, DevOps-инженер или начинающий специалист по ИБ и хочешь закрывать дыры быстрее, чем их находят — этот практикум для тебя 🤍 | 1 604 |
| 5 | 🗓️ Расписание вебинаров на сегодня
⏰ 19:00 МСК - IPTables-2
🔗 Регистрация и программа
О вебинаре напомним за 5 минут до начала на этом канале.
Также вы сможете зайти через личный кабинет.
🔥 Задать вопросы и обсудить детали можно в нашем чате | 1 757 |
| 6 | 💡Автоматизируем работу с Helm-чартами
Вместо ручного изменения Chart.yaml используем GitLab CI для динамического вычисления версии на основе коммита.
Вариант 🔤: Если чарт лежит внутри репозитория сервиса
Добавляем джобу автоматического обновления версии перед деплоем. Для изменения YAML используем современный синтаксис утилиты yq (v4+).
update_chart_version:
stage: prepare
image: alpine:3.18
variables:
GIT_DEPTH: 0 # без этого в клоне не будет тегов для git describe
script:
- apk add --no-cache yq git
- |
RAW=$(git describe --tags --always --dirty 2>/dev/null || true)
VERSION=${RAW#v} # убираем префикс v: v1.2.3 -> 1.2.3
# если тега SemVer-вида нет (только хэш) — берём базовую версию
if ! echo "$VERSION" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+'; then
VERSION="0.0.0-${CI_COMMIT_SHORT_SHA}"
fi
echo "Chart version: $VERSION"
yq -i ".version = \"${VERSION}\"" chart/Chart.yaml
- cat chart/Chart.yaml
artifacts:
paths:
- chart/Chart.yaml
Вариант 🔤: Если чарты хранятся в отдельном общем репозитории
Настраиваем автоматический пуш обновлений в репозиторий чартов. Вместо устаревшего gitlab-ci-token для авторизации в GitLab безопаснее и актуальнее использовать oauth2.
update_helm_repo:
stage: deploy
image: alpine/git:2.40.1
script:
# HELM_CHARTS_TOKEN — Project/Group Access Token репозитория helm-charts
# со scope write_repository. Задать в Settings -> CI/CD -> Variables
# (Masked + Protected). Имя пользователя для такого токена — oauth2.
- git clone https://oauth2:${HELM_CHARTS_TOKEN}@gitlab.com/infrastructure/helm-charts.git
- cd helm-charts
- mkdir -p $SERVICE_NAME
- cp -r ../chart/* ./$SERVICE_NAME/
- git config user.email "ci@example.com"
- git config user.name "GitLab CI"
- git add .
# коммитим только при наличии изменений, чтобы не ломать пайплайн пустым коммитом
- git diff-index --quiet HEAD || git commit -m "Update $SERVICE_NAME to $CI_COMMIT_SHORT_SHA"
# -o ci.skip, чтобы пуш не запускал бесконечный пайплайн в репозитории чартов
- git push -o ci.skip origin HEAD:main
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
📌Важно: для кросс-репозиторного пуша CI_JOB_TOKEN не подходит — он даёт клонирование и доступ к API, но не право git push в чужой репозиторий (частичная поддержка появилась только в GitLab 19.1 и требует отдельной настройки allowlist на стороне целевого репозитория). Штатное решение — Project Access Token (или Group/Deploy Token) со scope write_repository, созданный в репозитории helm-charts с ролью не ниже Developer. Токен кладётся в CI/CD-переменную HELM_CHARTS_TOKEN (Masked + Protected). Имя пользователя в URL для access-токена — oauth2 (именно gitlab-ci-token используется только с CI_JOB_TOKEN).
😎 Практический план внедрения
1. Создать отдельный репозиторий для CI-шаблонов. Вынести в него общие этапы сборки, тестирования и деплоя.
2. В каждом сервисе заменить локальный громоздкий .gitlab-ci.yml на подключение шаблонов через include.
3. Унифицировать структуру Helm-чартов во всех сервисах. Использовать общую базу для values.
4. Настроить автоматическое вычисление версии чарта на основе git-тега или хэша коммита.
5. Разделять окружения через переменные: staging деплоится автоматически, а prod — строго вручную через when: manual.
Результат: в каждом сервисе всего 20–30 строк конфигурации вместо 200. Новый сервис добавляется за 5 минут: копируется лаконичный шаблон, меняется название, запускается пайплайн. Изменения в логике деплоя теперь раскатываются на все сотни сервисов одновременно — простым обновлением центрального шаблона.
Хочешь освоить GitLab CI и Helm на практике? 🔥Открывай демодоступы бесплатно🔥:
🔹GitlabCI & Helm & Kubernetes - полный кейс: CI/CD, Helm-чарты, деплой в Kubernetes.
🔹Gitlab CI -пайплайны, артефакты, кэширование, оптимизация и интеграции.
🔹Helm - создание чартов, управление зависимостями, сложная шаблонизация. | 1 661 |
| 7 | GitLab CI + Helm: Управление сотнями микросервисов без хаоса
В репозитории 30 микросервисов. Для каждого свой .gitlab-ci.yml. В каждом — по 200 строк повторяющегося кода. Обновление Helm-чарта для нового сервиса — это копирование папки, замена названий и надежда, что ничего не сломается. Деплой в dev, staging и prod — это ручное изменение values.yaml или передача параметров через --set, которые легко забыть.
Знакомая архитектура? Когда микросервисов становится больше десяти, поддержка пайплайнов превращается в отдельную работу. Разработчики начинают копировать конфиги из соседних сервисов, не вникая в детали. В результате в разных сервисах пайплайны ведут себя по-разному, а единого стандарта нет.
Helm добавляет свой слой сложности. Чарты обычно лежат в отдельном репозитории, и обновление версии чарта — это отдельный коммит, который нужно синхронизировать с изменениями кода. Без автоматизации этот процесс ручной и подвержен ошибкам.
🛠Решение - централизация через include
Мы можем вынести всю логику во внешний репозиторий с шаблонами GitLab CI и автоматически управлять версиями чартов. Создаём универсальные шаблоны для всех этапов пайплайна и переиспользуем их во всех сервисах.
Структура центрального репозитория с шаблонами (`infrastructure/ci-templates`):
.gitlab/
├── templates/
│ ├── build.yml
│ ├── test.yml
│ ├── deploy.yml
│ └── helm.yml
└── jobs/
├── build-job.yml
└── deploy-job.yml
1️⃣ Шаблон для сборки образа (`templates/build.yml`)
Используем современные правила rules:if вместо устаревших конструкций.
.build_template:
stage: build
image: docker:24.0.7
services:
- docker:24.0.7-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: "1"
# на self-managed раннере в config.toml должен быть volumes = ["/certs/client", "/cache"], иначе клиент не увидит сертификаты и джоба упадёт на TLS. На shared-раннерах GitLab.com это уже настроено.
DOCKER_CERT_PATH: "/certs/client"
script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
- docker build --tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: manual
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: always
2️⃣ Шаблон для деплоя с Helm (`templates/deploy.yml`)
.deploy_template:
stage: deploy
image: alpine/helm:3.12.0
script:
- helm upgrade --install "$CI_PROJECT_NAME" ./chart/ \
--set image.repository=$CI_REGISTRY_IMAGE \
--set image.tag=$CI_COMMIT_SHORT_SHA \
--set environment=$DEPLOY_ENV \
--namespace $DEPLOY_ENV \
--create-namespace \
--wait \
--timeout 5m
environment:
name: $DEPLOY_ENV
url: https://$CI_PROJECT_NAME.$DEPLOY_ENV.example.com
rules:
- if: '$DEPLOY_ENV == "prod" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: manual
- if: '$DEPLOY_ENV == "staging" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: on_success
3️⃣ Как теперь выглядит .gitlab-ci.yml внутри микросервиса
Каждый сервис определяет только свои переменные и расширяет (`extends`) готовые джобы. Обратите внимание на обязательное объявление стадий (`stages`), включая стадию предварительной подготовки.
include:
- project: 'infrastructure/ci-templates'
ref: main
file: '/templates/build.yml'
- project: 'infrastructure/ci-templates'
ref: main
file: '/templates/deploy.yml'
variables:
SERVICE_NAME: $CI_PROJECT_NAME
stages:
- prepare
- build
- test
- deploy
build:
extends: .build_template
deploy_staging:
extends: .deploy_template
variables:
DEPLOY_ENV: staging
deploy_prod:
extends: .deploy_template
variables:
DEPLOY_ENV: prod | 1 345 |
| 8 | ❗ Открытый практикум RAID-массивы идёт уже 30 минут
Если вы ещё не с нами, скорее подключайтесь!
Ссылка для входа: https://my.rebrainme.com/live-class/497
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 758 |
| 9 | ❗Начало Открытого практикума RAID-массивы уже через 5 минут
Встречаемся в 20:00 МСК.
Ссылка для входа: https://my.rebrainme.com/live-class/497
Также вы можете подключиться к вебинару через личный кабинет, в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 026 |
| 10 | Открытый практикум RAID-массивы начнётся сегодня в 20:00 МСК. Практикум будет проходить на площадке Zoom.US
Важно!!! Чтобы вы смогли без проблем к нам присоединиться, заранее протестируйте комнату по ссылке: https://zoom.us/test
Ссылку для доступа отправим вам за 5 минут до начала. Либо заходите через личный кабинет в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 245 |
| 11 | Интенсив «ИИ-агенты для инженеров» с Артуром Сапрыкиным стартует уже на следующей неделе — собрали ответы на частые вопросы и коротко рассказали, как всё будет
За 9 живых эфиров с Артуром ты разберёшь, как работают автономные coding-агенты — opencode, Aider и Cline, научишься писать собственные MCP-серверы и подключать их к внутренней инфраструктуре, настраивать связку Architect/Editor для экономии на LLM API и генерировать Helm-чарты и Kubernetes-манифесты силами агента. Отдельно разберёте изоляцию AI-процессов в Docker и защиту от Prompt Injection.
Отвечаем на вопросы 👇🏼
🟢 Какой компьютер нужен для интенсива?
Минимум: 8 GB RAM, 20 GB на диске, 4 ядра CPU (x86-64 или Apple Silicon), GPU не обязательна — большинство заданий работают на CPU-инференсе. Из ОС подойдёт macOS 12+, Windows 10/11 с WSL2 или Linux, плюс стабильный интернет для загрузки моделей и работы с облачным агентом.
Комфортный уровень: 32 GB RAM, 40+ GB на диске, 8 ядер или Apple M-series, а для локальных моделей — видеокарта NVIDIA от 8 GB VRAM или Apple M1 и новее.
🟢Нужно ли платить за подписки на нейросети отдельно?
Нет. Все инструменты, которые понадобятся по программе, мы предоставляем сами, а в части заданий будем работать с бесплатными моделями. Доплачивать за доступ к LLM для прохождения курса не придётся.
🟢 Будет ли разбор безопасности?
Да, целый блок посвящён изоляции в Docker, аудиту вызовов и защите от prompt injection.
🟢 Нужен ли опыт работы с AI-агентами до старта?
Нет, интенсив рассчитан на инженеров без опыта именно с агентами. А вот базовые вещи пригодятся: Git на уровне веток и PR, Docker и контейнеризация, понимание CI/CD и Python на уровне простых скриптов.
🟢 Что если пропущу эфир?
Все эфиры записываются, записи остаются у тебя вместе с доступом к чату интенсива — можно посмотреть в своём темпе и задать вопросы Артуру и другим участникам после.
🔥По многочисленным просьбам продлили скидку 10 000 руб. На этой неделе как раз многие решили, что готовы пойти на интенсив. Чтобы дать больше времени на решение, скидка остаётся в силе до 19 июля.
📆Начало занятий — 20 июля
🎁 Скидка 10 000 руб теперь действует до 19 июля. А для участников практикума «LLM для инженеров» дополнительная скидка 3 000 руб.
↘️ Узнать подробности и занять место
✉️ Чтобы получить дополнительную скидку, напиши нашим менеджерам в телеграм, они подробно расскажут о программе и помогут с оплатой. | 1 992 |
| 12 | route:
group_by: ['alertname', 'namespace']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: default
routes:
- matchers:
- severity = critical
receiver: pagerduty
- matchers:
- severity = warning
receiver: slack
receivers:
- name: default
- name: pagerduty
pagerduty_configs:
- routing_key: <your-routing-key>
- name: slack
slack_configs:
- channel: '#alerts'
api_url: <webhook-url>
Важный момент - группировка. Параметр group_by: ['alertname', 'namespace'] объединяет похожие алерты в одно компактное уведомление. Вместо десяти отдельных сообщений в Slack о том, что разные поды упали в одном сис-окружении, вы получите всего одно емкое оповещение.
Также не забывайте про Inhibition rules (правила взаимоподавления). Если узел (`NodeNotReady`) стал недоступен, все алерты о падении конкретных подов на этом узле должны подавляться автоматически. Нет никакого смысла читать спам о смерти пяти контейнеров, если упал весь сервер, на котором они были запущены.
Практический план внедрения
1️⃣ Установить kube-prometheus-stack через Helm с кастомным values-файлом.
2️⃣ Отключить или переопределить избыточные стандартные правила, оставив только критический минимум. Добавить свои правила через additionalPrometheusRulesMap.
3️⃣ Настроить recording rules для тяжёлых графиков, которые выводятся на главные экраны.
4️⃣ Сконфигурировать Alertmanager: задать маршрутизацию по severity, настроить группировку и правила подавления (inhibition).
5️⃣ Подключить каналы уведомлений (`receivers`): Slack/Telegram для предупреждений, PagerDuty или Opsgenie — для ночных критических звонков.
6️⃣ Включить нотификации в тестовом режиме на пару дней и откалибровать пороги срабатывания.
7️⃣ Постепенно добавлять новые алерты, но только тогда, когда старые перестали давать ложные срабатывания.
Правильно настроенный мониторинг - это когда вы узнаёте о проблеме до того, как она повлияла на бизнес, и получаете ровно столько уведомлений, сколько ваша команда способна обработать без выгорания.
🔥Открывай демодоступы бесплатно и начинай разбираться:
🔹 Kube Prometheus Stack - полный стек мониторинга на практике: Prometheus, Alertmanager, Grafana, ServiceMonitor, PrometheusRule.
🔹 Grafana - визуализация, продвинутые дашборды, алертинг и интеграции. | 1 998 |
| 13 | Настройка kube-prometheus-stack
Развернул kube-prometheus-stack, дашборды в Grafana зелёные. Проходит неделя - и выясняется, что прод упал ещё вчера в 3 часа ночи. Метрики есть, графики зафиксировали момент, но никто не получил уведомление. Или наоборот: каждые пять минут приходит алерт о том, что под перезапустился. Команда перестаёт реагировать на оповещения, а когда случается реальная проблема - её замечают пользователи, а не инженеры.
Стандартная установка kube-prometheus-stack поставляется с сотнями предустановленных правил. Многие команды либо отключают их все из-за шума, либо оставляют как есть и тонут в бесконечном потоке уведомлений. В результате мониторинг перестаёт быть инструментом и становится источником раздражения.
Проблема не в том, что метрики не собираются. Они собираются, и даже слишком много. Проблема в том, что алерты не настроены под конкретную архитектуру, а Alertmanager не умеет правильно маршрутизировать оповещения.
Шаг 1️⃣ Кастомизируем правила и убираем шум
Решение начинается с осознания: мониторинг - это про то, чтобы узнать о проблеме до того, как её заметит пользователь. И для этого нужны три вещи: правильные правила, умная маршрутизация и контроль над шумом.
Начнём с правил. Оставляем пять-десять действительно важных. Каждый алерт должен иметь чёткое действие. Если на оповещение нельзя ответить действием - это не алерт, это шум.
Создаём PrometheusRule с базовым набором. Обратите внимание на алерт PodCrashLooping: вместо капризной функции rate, которая сбрасывает таймер, как только под затих, мы используем точечный фильтр по статусу CrashLoopBackOff.
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: kubernetes-essential
namespace: monitoring
spec:
groups:
- name: kubernetes.essential
rules:
- alert: PodCrashLooping
expr: kube_pod_container_status_waiting_reason{reason="CrashLoopBackOff"} == 1
for: 10m
labels:
severity: warning
annotations:
summary: "Pod {{ $labels.namespace }}/{{ $labels.pod }} is crash looping"
- alert: NodeNotReady
expr: kube_node_status_condition{condition="Ready",status="true"} == 0
for: 5m
labels:
severity: critical
annotations:
summary: "Node {{ $labels.node }} is not ready"
- alert: HighErrorRate
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m])) by (service) /
sum(rate(http_requests_total[5m])) by (service) > 0.05
for: 10m
labels:
severity: critical
annotations:
summary: "{{ $labels.service }} has {{ $value | humanizePercentage }} error rate"
Это минимальный базовый набор. PodCrashLooping, NodeNotReady и HighErrorRate покрывают большинство критических сценариев, когда в кластере что-то ломается.
Тяжёлые запросы и Recording Rules
Если вы часто используете сложные вычисления в дашбордах, они создают высокую нагрузку на Prometheus. Используем recording rules - они вычисляют выражение один раз по расписанию и сохраняют результат как новую готовую метрику:
- name: recording.rules
rules:
- record: namespace:pod_cpu:rate5m
expr: sum(rate(container_cpu_usage_seconds_total[5m])) by (namespace, pod)
Теперь вместо того чтобы каждый раз нагружать CPU вычислением этого агрегата при открытии Grafana, Prometheus моментально отдаёт уже записанное значение.
Шаг 2️⃣ Настраиваем Alertmanager
Даже самые правильные алерты бесполезны, если они приходят не тем людям или в неподходящее время. Настроим Alertmanager.
Настраиваем маршрутизацию по уровню критичности (`severity`) в нативном формате Alertmanager. Критические алерты отправляем в PagerDuty, предупреждения - в Slack, а для непредвиденных ситуаций оставляем дефолтный маршрут: | 1 724 |
| 14 | 🗓️ Расписание вебинаров на сегодня
⏰ 20:00 МСК - RAID-массивы
🔗 Регистрация и программа
О вебинаре напомним за 5 минут до начала на этом канале.
Также вы сможете зайти через личный кабинет.
🔥 Задать вопросы и обсудить детали можно в нашем чате | 1 901 |
| 15 | ❗ Открытый практикум Отправка событий безопасности из MS Windows в ELK-стек средствами Winlogbeat идёт уже 30 минут
Если вы ещё не с нами, скорее подключайтесь!
Ссылка для входа: https://my.rebrainme.com/live-class/501
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 885 |
| 16 | ❗Начало Открытого практикума Отправка событий безопасности из MS Windows в ELK-стек средствами Winlogbeat уже через 5 минут
Встречаемся в 19:00 МСК.
Ссылка для входа: https://my.rebrainme.com/live-class/501
Также вы можете подключиться к вебинару через личный кабинет, в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 182 |
| 17 | Открытый практикум Отправка событий безопасности из MS Windows в ELK-стек средствами Winlogbeat начнётся сегодня в 19:00 МСК. Практикум будет проходить на площадке Zoom.US
Важно!!! Чтобы вы смогли без проблем к нам присоединиться, заранее протестируйте комнату по ссылке: https://zoom.us/test
Ссылку для доступа отправим вам за 5 минут до начала. Либо заходите через личный кабинет в разделе «Вебинары».
🔥 Задать вопрос по практикуму и обсудить детали можно в нашем чате | 1 393 |
| 18 | 🗓️ Расписание вебинаров на сегодня
⏰ 19:00 МСК - Отправка событий безопасности из MS Windows в ELK-стек средствами Winlogbeat
🔗 Регистрация и программа
О вебинаре напомним за 5 минут до начала на этом канале.
Также вы сможете зайти через личный кабинет.
🔥 Задать вопросы и обсудить детали можно в нашем чате | 2 095 |
| 19 | ⏳ Завтра последний день — траблшутинг Nginx Reverse Proxy закрывается 15 июля.
📖 Открыли теорию: разобрали, как nginx находит upstream и откуда берётся классический 502, почему сервис не стартует с виду правильным конфигом, и как ловить OOM Killer раньше, чем это сделает продакшен.
Ещё есть время подключиться к живому серверу и починить прокси, который перестал пускать клиентов дальше себя.
🏆 Инженер, который быстрее всех решит задачу, получит любой модуль стоимостью до 30 000 рублей
🟢Среди остальных участников разыграем две годовые подписки на вебинары
↘️ Решить задачу
Эфир с разбором задачи проведем 17 июля, регистрация уже открыта: https://clck.ru/3Umgcp | 2 774 |
| 20 | Что будет, если объединить FreeIPA + Bash + Ansible?
Обычно управление инфраструктурой держится на трёх разрозненных инструментах. Пользователей заводят вручную на каждой машине, единого каталога доступа нет, а рутинные задачи закрывают Bash-скриптами вместо того, чтобы оформить их в Ansible-роль и использовать на всех серверах.
Мы собрали FreeIPA, Bash и Ansible в один практикум: управление инфраструктурой и рабочими станциями, чтобы инженер мог настроить централизованный доступ, автоматизировать рутину через скрипты и роли и держать всю инфраструктуру под контролем из одной точки.
Тебя ждёт:
🟢Развертывание отказоустойчивых кластеров FreeIPA и управление политиками доступа.
🟢Интеграция Linux-инфраструктуры с Active Directory через trust-отношения.
🟢Написание безопасных и отказоустойчивых Bash-скриптов для автоматизации задач.
🟢Профессиональный парсинг и обработка сложных логов с помощью sed и awk.
🟢Разработка, структурирование и тестирование Ansible-ролей с помощью Molecule.
🟢Обеспечение качества IaC-кода через статический анализ и безопасное управление секретами.
↘️ Подробная о программа
Финальный проект собираешь все три навыка вместе: разворачиваешь отказоустойчивый домен FreeIPA, пишешь Bash-скрипты для сбора логов и автоматизируете рабочие станции через Ansible.
🎁 До 19 июля действует скидка 7 500 рублей для новых участников
↘️ Купить практикум со скидкой
Если ты системный администратор, DevOps-инженер или инженер инфраструктуры и хочешь навести порядок в доступах и автоматизации — этот практикум для тебя 🤍 | 2 660 |
