Подводные камни, как минимизировать регуляторные риски и что важно для субъектов КИИ.
— Реальный опыт перехода на российскую виртуализацию: подводные камни
— Конец эпохи VMware: как российскому бизнесу избежать штрафов и простоев в 2025 году
— КИИ в 2025 году: кого коснутся изменения и как избежать проблем
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Часть 2 — параметры пула
В прошлой части рассказали как UI Temporal "падал" из-за переполненного пула соединений в pgbouncer.
Теперь разберем как держать пул под контролем.
Три главных параметра:
max_client_conn Максимальное количество клиентских соединений, которые PgBouncer может принять от приложения. Если это значение превышено, новые подключения отклоняются.
Пример:
max_client_conn = 100 позволяет до 100 одновременных клиентов.default_pool_size Размер пула соединений для каждой базы данных (по умолчанию). Это число реальных подключений к PostgreSQL.
Пример:
default_pool_size = 50 значит, что PgBouncer держит до 50 открытых соединений к базе.reserve_pool_sizeРезервный пул, который PgBouncer использует, если основной пул (
default_pool_size) исчерпан. Новые клиенты могут временно занять место из резерва.Пример:
reserve_pool_size = 10 , добавляет 10 "аварийных" соединений.Как это работает в аналогии:
—
max_client_conn — общая вместимость автовокзала (всех ждущих пассажиров)—
default_pool_size — число регулярных автобусов на каждый маршрут (БД + пользователь)—
reserve_pool_size — дополнительные автобусы, которые подойдут при ажиотажеПодключаемся к pgbouncer и выполняем
SHOW POOLS;
Вывод будет примерно следующим
database | cl_active | cl_waiting | ...
---------+-----------+------------+------
temporal | 45 | 10 | ...
-
cl_active — активные запросы-
cl_waiting — запросы, ожидающие соединенияЕсли постоянно высокий
cl_active → возможно, нужно поднять default_pool_sizeВ следующей части разберем как мониторить pgbouncer.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4👏2
Мониторит прокси-слой PgBouncer, помогая выявить проблемы с пулом соединений.
Основные метрики:
—
pgbouncer_pools_client_waiting_connections — число запросов, ждущих соединения. Если > 0, пул переполнен, как было с Temporal (8-минутные задержки UI).—
pgbouncer_pools_client_active_connections — активные клиентские соединения. Показывает текущую нагрузку на прокси.—
pgbouncer_pools_client_maxwait_seconds — максимальное время ожидания в очереди. Высокое значение сигнализирует о задержках.Мониторит состояние PostgreSQL, выявляя проблемы на уровне базы.
Основные метрики:
—
pg_stat_activity_count — число активных запросов. Высокое значение может указывать на перегрузку.—
pg_locks_count — количество блокировок. Рост говорит о конфликтах в базе.—
pg_database_size_bytes — размер базы. Помогает заметить неконтролируемый рост данных.pgbouncer_exporter и postgres_exporter — must-have для мониторинга PgBouncer и PostgreSQL. Они помогают поймать переполнение пула или проблемы базы до сбоя приложения.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2👏2
systemd — система инициализации и менеджер служб, ставший стандартом во многих дистрибутивах Linux (Ubuntu, Debian, Fedora и др.). Несмотря на критику —
systemd прочно встроился в экосистему Linux. Что это такое и какие типы юнитов он использует
systemd — не просто замена SysV init. Он управляет запуском системы, службами, монтированием файловых систем, таймерами и многим другим. Базовая единица конфигурации — юнит (unit): файл, который описывает, что и как запускать. .service — управляет службами (демонами/процессами). Например, nginx.service запускает веб-сервер..socket — описывает сокеты для активации по событию (входящее соединение). systemd слушает сокет и при первом подключении запускает одноимённый .service..timer — планирует запуск одноимённого .service по расписанию (аналог cron по идее, но сам по себе команды не выполняет)..path — следит за файлами/каталогами и при изменениях активирует одноимённый .service..mount — описывает точку монтирования ФС (имя строится из пути: /mnt/data → mnt-data.mount)..automount — создаёт автомонтирование для соответствующего .mount: монтирование происходит при первом обращении..target — группирует юниты и задаёт точки синхронизации загрузки; multi-user.target примерно соответствует runlevel 3, graphical.target — runlevel 5.Понимание этих типов юнитов даёт тонкий контроль над системой; дальше можно посмотреть и на
.swap, .device, .slice, .scope.#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6👏2❤1
Практическое руководство: от установки и рабочего окружения до сетей, безопасности и серверов. 9-е, переработанное и дополненное издание.
— установка и базовая настройка Fedora, openSUSE, Ubuntu;
— файловая система, вход в систему, графический интерфейс;
— установка ПО, сеть и Интернет;
— безопасность, резервное копирование, защита от вредоносных программ;
— развёртывание веб-сервера и сетевых сервисов;
— практические кейсы: мини-серверная, сервер видеонаблюдения, DLNA;
— виртуализация KVM (с веб-интерфейсом управления);
— сетевые настройки через Netplan;
— запуск игр в Linux через Steam;
— дополнительные главы в PDF на сайте издательства.
Автор:
Д. Н. Колисниченко
Издательство: СПб.: БХВ-Петербург, 2025, Серия «В подлиннике»
#книги #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6👏2
— Защита персданных по ФЗ-152: полный перечень документов
— Как выбрать класс СКЗИ для защиты информационной системы?
— Как составить модель угроз в 2024: подробно о методике ФСТЭК
— Отличия 17 и 21 приказов ФСТЭК
— ФЗ-152: как выполнить требования к уровню защищённости ИСПДн
— Как определить класс защищённости ГИС?
— Российские средства защиты информации: ViPNet
— Проверки по защите персональных данных: Роскомнадзор, ФСБ, ФСТЭК
— Тильда и персональные данные
— Импортозамещение VMware: российская виртуализация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2👏2
Друзья☺️
Про что вам интереснее всего читать?
Про что вам интереснее всего читать?
Anonymous Poll
55%
Инструменты для сисадминов/инженеров
42%
Про ИБ и кибергигиену
56%
Кейсы/разборы/реальная практика
23%
Инструменты для ДИТ/СТО
1%
Свой вариант в коментах 👏
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Вымогатели стали главной болью российского бизнеса.
За полгода доля успешных атак дошла до 49%. Последствием являются простои, потери, штрафы...
Громкими примерами этого лета стали атаки на Аэрофлот, крупные московские аптечные сети и инцидент в сети ВинЛаб.
Как правило, его требуют в криптовалюте (из-за относительной анонимности).
Что прилетает чаще всего:
— Crypto-ransomware: шифрует файлы, система остаётся доступной: «всё на месте, но ничего не открыть».
— Locker: блокирует вход и работу устройства, а на экране появляется требование выкупа.
— Гибриды: и шифруют, и блокируют.
— Двойное/тройное вымогательство: крадут данные, шантажируют публикацией и иногда давят DDoS.
А доминирует — «вымогательство как сервис» (RaaS):
операторы дают платформу и софт, аффилиаты взламывают и делят выручку.
Через фишинговое письмо/ссылку, непропатченное ПО и плагины, слабые пароли и открытый RDP/VPN, съёмные носители и общие шары, вредоносные макросы, компрометацию подрядчика или обновлений (цепочка поставок).
Поднимают права, отключают защиту и журналы.
Развёртывают шифровальщик, шифруют данные и бэкапы.
Но не стоит паниковать!
Следует соблюдать простые инструкции...
Если они разработаны в вашей компании - следуйте им.
Если таковых нет, можете скачать универсальный стоп-план с пошаговыми действиями от наших специалистов ИБ.
#проИБ #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4👏2
Подборка материалов, которые помогут выстроить процессы безопасности и защиты данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Часть 3 — мониторинг PgBouncer
В прошлых частях разобрали, что UI Temporal «подвисал» из-за переполненного пула соединений в PgBouncer, и настроили
max_client_conn, default_pool_size и reserve_pool_size.Для мониторинга PgBouncer используем pgbouncer_exporter.
Он собирает широкий набор метрик, среди которых наиболее показательными для мониторинга нагрузки являются:
—
cl_active — активные клиентские соединения, которые сейчас обрабатываются;—
cl_waiting — клиенты, ожидающие свободное соединение (главный индикатор переполнения пула);и отдаёт их в Prometheus.
services:
pgbouncer-exporter-dev:
container_name: pgbouncer-exporter-dev
image: pgbouncer-exporter:v0.11.0
environment:
- PGBOUNCER_EXPORTER_CONNECTION_STRING=postgres://pgbouncer:password@192.168.1.10:6432/pgbouncer
ports:
- "9127:9127"
*Примечание: с версии 0.11.0 экспортер требует PgBouncer ≥ 1.8 и открывает новое подключение на каждый скрейп. В
pgbouncer.ini добавьте ignore_startup_parameters = extra_float_digits.- job_name: pgbouncer_exporter
scrape_interval: 5s
static_configs:
- targets: ["192.168.1.10:9127"] # IP, где работает экспортер
groups:
- name: pgbouncer
rules:
- alert: ConnectionPoolWaitCritical
expr: sum(pgbouncer_pools_client_waiting_connections) by (database) > 0
for: 0m
annotations:
summary: "Количество ожидающих подключений в базе {{ $labels.database }} = {{ $value }}"
Этот алерт срабатывает, если есть ожидающие соединения (
cl_waiting > 0), сигнализируя о переполнении пула.С таким мониторингом рост
cl_waiting в Temporal был бы виден сразу — стало бы понятно, что не хватает соединений в пуле. Дальше — либо увеличить default_pool_size, либо оптимизировать запросы — и не ловить 8-минутные задержки UI.#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4👏3
Мониторинг PostgresSQL и PgBouncer: практические метрики и алёрты
Ключевые метрики для Grafana
👀 Очередь соединений в PgBouncer:
👀 Максимальное время ожидания (сек):
👀 Активные соединения PgBouncer:
👀 Активные запросы в PostgreSQL:
👀 Блокировки в PostgreSQL:
Примеры алертов
Один пример был показан в утреннем посте.
Теперь отловим момент, когда время ожидания подключение будет больше 1 секунды
Также отследим момент повышение блокировок в базах данных
Почему это важно:
— Раннее обнаружение проблем: алерты срабатывают до того, как пользователи заметят задержки.
— Проактивное реагирование: возможность увеличить пул соединений до возникновения очереди.
— Комплексный мониторинг: отслеживание как PgBouncer, так и PostgreSQL дает полную картину.
#полезное #разбор
Ключевые метрики для Grafana
max_over_time(pgbouncer_pools_client_waiting_connections[5m])
max_over_time(pgbouncer_pools_client_maxwait_seconds[5m])
pgbouncer_pools_client_active_connections
sum(pg_stat_activity_count{state="active"})pg_locks_count
Примеры алертов
Один пример был показан в утреннем посте.
Теперь отловим момент, когда время ожидания подключение будет больше 1 секунды
groups:
- name: pgbouncer
rules:
- alert: PgbouncerQueueSlow
expr: max_over_time(pgbouncer_pools_client_maxwait_seconds[5m]) > 1
for: 5m
annotations:
summary: "Долгое ожидание в PgBouncer"
denoscription: "maxwait_seconds > 1с последние 5м. Возможна нехватка коннектов."
Также отследим момент повышение блокировок в базах данных
- name: postgres.rules
rules:
- alert: PostgresLocksSpiking
expr: sum(pg_locks_count) > 50
for: 10m
annotations:
summary: "Рост блокировок в Postgres"
denoscription: "Блокировки превышают порог > 10м. Проверьте конфликтующие транзакции."
Почему это важно:
— Раннее обнаружение проблем: алерты срабатывают до того, как пользователи заметят задержки.
— Проактивное реагирование: возможность увеличить пул соединений до возникновения очереди.
— Комплексный мониторинг: отслеживание как PgBouncer, так и PostgreSQL дает полную картину.
#полезное #разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5👏3❤2
Одна из старейших и самых мощных утилит в арсенале Linux.
Появилась в Unix 5 версии еще в 1974 году и до сих пор остаётся незаменимым инструментом для работы с файловой системой.
Что умеет?
— Рекурсивный поиск по директориям
— Фильтрация по имени, размеру, времени изменения
— Выполнение действий над найденными файлами
— Поиск по типам файлов (файлы, директории, симлинки)
Основное использование:
find /home -name "*.txt"
Найти все .txt файлы в директории
/homefind /var/log -size +10M
Найти файлы больше 10 МБ в
/var/logfind /etc -mtime -7
Найти файлы, изменённые за последние 7 дней
find /tmp -name "*.tmp" -delete
Найти и удалить все .tmp файлы в
/tmpfind /home -name "*.jpg" -exec chmod 644 {} \;Найти все JPEG файлы и изменить их права доступа
-regex, а также комбинировать условия с операторами -and, -or, -not.В отличие от многих альтернатив,
find работает крайне эффективно даже с огромными файловыми системами, так как не загружает всю структуру в память.#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
(часть 3)
Идеально собранный доклад и подготовка не спасает от неожиданностей.
Сцена всегда проверяет на прочность.
Есть три источника проблем:
Перед выходом накрывает дрожь, сухость во рту, а в голове только мысль: «Скорее бы закончить». Это нормальная реакция организма на стресс.
Что помогает
Чего не делать
Микрофон может фонить, кликер зависнуть, проектор «съесть» цвета. Иногда вас задержат, а иногда наоборот — попросят уложиться в половину времени.
Что помогает
Чего не делать
Зал — всегда непредсказуем. Кто-то внимательно слушает, кто-то скроллит ленту, кто-то зевает. А иногда прилетает резкий вопрос или провокация.
Что помогает
Чего не делать
Если вы прошли все этапы — сцена перестаёт пугать.
Удачи вам и сильных докладов!
Читать (часть 1) (часть 2)
#MentalDebug
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7👏3❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Угрозы к веб-сервисам усложнились: это уже не единичные инциденты, а связки — DDoS, боты-скрейперы, подбор учётных данных, атаки через формы и API, удары по DNS.
Подход к безопасности в таких ситуациях тоже должен быть комплексным.
Именно такую схему мы организовали в инфраструктуре крупного пищевого холдинга.
— защитить веб-ресурсы от DDoS и бот-трафика;
— закрыть уязвимости приложений без ухудшения UX;
— обеспечить отказоустойчивый DNS для внешних и внутренних сервисов;
— гарантировать SLA 99,97% и поддержку 24×7.
L7 DDoS-защита — держит наплывы на уровне приложений.
AntiBot — отсекает вредоносных ботов, пропуская легитимных пользователей и «хороших» ботов.
WAF — блокирует опасные запросы к вебу и API до приложения.
Защищённый отказоустойчивый DNS — перенесены 76 DNS-зон, убрана «одна кнопка» отключения сервисов.
Получили непрерывную работу сервисов с подтверждённым SLA 99,97%; тонкие настройки и изменения вносятся без просадки по UX; эксплуатация ведётся 24×7 — мониторинг, быстрые правки и тюнинг правил.
На сегодняшний день контур в строю: уровни защиты регулярно актуализируются, правила WAF подстраиваются под реальный трафик, DNS остаётся отказоустойчивым — решение стабильно и безотказно.
#изПрактики
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3👏3
Недавно в блоге Kubernetes вышла статья, которая описывает новую альфа-функцию в версии 1.34 — управление политиками перезапуска отдельных контейнеров в поде.
Обычная политика
restartPolicy в поде применяется ко всем контейнерам сразу. Например, если под настроен с restartPolicy: Always, то при сбое любого контейнера перезапускается весь под. Это неудобно, если нужно перезапустить только один контейнер, например, чтобы обновить конфигурацию или обработать временный сбой, не затрагивая остальные.В Kubernetes 1.34 появилась возможность задавать политику перезапуска для каждого контейнера отдельно. Это позволяет гибко управлять поведением контейнеров в одном поде.
— Init-контейнеры: Например, init-контейнер готовит среду или загружает учётные данные и должен выполниться только один раз (
restartPolicy: Never). Основной контейнер при этом может перезапускаться всегда (restartPolicy: Always).— Многоконтейнерные поды: Если в поде несколько контейнеров (например, приложение и логгер), можно перезапускать только один из них при сбое, сохраняя стабильность остальных.
Подробнее и примеры можно посмотреть в статье.
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5👏2