Мониторинг 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
Инструмент помогает автоматизировать безопасность, соответствовать требованиям и best practices прямо внутри кластера.
— проверка манифестов на соответствие правилам
— автоматическое добавление/изменение параметров
— создание связанных ресурсов (например, NetworkPolicy)
— удаление устаревших объектов
— встроенный аудит и policy-отчёты
— CLI, CI/CD, JSON-поддержка вне Kubernetes
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3👏2❤1
Logical Volume Manager — мощный инструмент для абстрактного управления дисковым пространством. Появился в 1998 году и стал стандартом для гибкого распределения места на диске.
Основные термины:
— PV (Physical Volume) — физический диск или раздел.
— VG (Volume Group) — группа физических томов (общий пул места).
— LV (Logical Volume) — логический том (аналог раздела).
— PE (Physical Extent) — минимальный блок размещения (обычно 4 МБ).
Что умеет LVM?
— Динамическое изменение размеров томов (увеличение/уменьшение)
— Объединение нескольких дисков в один пул хранения
— Создание моментальных снимков (snapshots)
— Миграция данных между дисками без простоя
Основные команды:
Создание физического тома:
pvcreate /dev/sdb1
Создание группы томов:
vgcreate my_vg /dev/sdb1
Создание логического тома my_lv на 20 гб из группы my_vg:
lvcreate -L 20G -n my_lv my_vg
Добавление 5 гб логическому тому на "горячую":
lvextend -L +5G /dev/my_vg/my_lv
resize2fs /dev/my_vg/my_lv # увелечение размера файловой системы ext4
LVM превращает работу с дисковым пространством из статического процесса в динамический, позволяя адаптировать систему под меняющиеся требования без простоев. Это must-have инструмент для любого системного администратора.
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5👏2❤1
Наглядная таблица от ByteByteGo с преобразованием прав: бинарные → восьмеричные → строковые представления.
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4👏2
Ответственность за ПДн в 2025: реалии операторов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2👏1
...а еще светофоры, кассы в магазинах и бортовой компьютер вашего авто 😍
💪 С началом трудовой недели.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁6👏2
В мире на десктопах его доля около 4%,
в Steam — примерно 3% (в том числе благодаря Steam Deck), а 100% суперкомпьютеров TOP500 работают на Linux.
С чего всё начиналось и почему система стала такой важной — рассказываем в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4👏2
Спасибо тем, кто строит, развивает и поддерживает Рунет.
С праздником!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7👏5😁4🔥2
Экосистема глобальной сети
Обновлено и актуализировано к современным реалиям.
— глобальная адресация, IP и переход на IPv6;
— система доменных имён (DNS) и корневая зона;
— межсетевая маршрутизация и BGP;
— точки обмена трафиком (IX), CDN и взаимосвязь сетей;
— стандартизация и эволюция протоколов (IETF, RFC);
— безопасность ключевых систем Интернета и устойчивость инфраструктуры;
— архитектурная эволюция и внедрение новых технологий.
Автор:
Андрей Робачевский.
Издательство: Москва: Серпантин Эдженси, при участии ФРСТ «ИнДата», 2024.
#полезное #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4👏2
Когда в Kubernetes используется CNI вроде Kube-OVN, появляются удобные механизмы и объекты для публикации сервисов наружу и для исходящего трафика подов: EIP, FIP, VIP и правила NAT.
Зачем это нужно
Ключевые понятия
NAT — преобразование приватного IP пода в публичный для выхода в интернет.
SNAT: исходящий трафик подов идёт наружу через общий внешний IP.
DNAT: входящий трафик на внешний IP направляется на внутренний адрес.
EIP (Elastic IP) — внешний (public) IP из провайдерской сети, привязанный к шлюзу/VPC Kube-OVN и используемый в правилах SNAT/DNAT.
FIP (Floating IP)— двунаправленный 1:1 NAT: внешний IP сопоставляется с внутренним IP (пода или VIP), работает и для входящего трафика, и для ответов.
VIP (OVN Load Balancer) — виртуальный адрес балансировщика, который распределяет трафик по подам. Чтобы сделать VIP доступным извне, сопоставьте ему FIP.
Публикация сервиса: «VIP 10.16.0.100 балансирует три пода payments, а FIP 203.0.113.10 делает этот VIP доступным из интернета по одному белому IP».
Исходящий трафик подов: «Все поды неймспейса prod выходят в интернет через SNAT с общего EIP 198.51.100.20, поэтому снаружи они выглядят как один адрес».
Почему это удобно
#заметкиИнженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3👏2
В работе с Linux-сетями часто нужно объединять сетевые интерфейсы для повышения отказоустойчивости, производительности или организации локальных сетей.
Объединение нескольких сетевых интерфейсов в один логический с общим IP-адресом.
Основные режимы:
— mode=1 (active-backup): Один интерфейс активен, остальные в резерве
— mode=4 (802.3ad): Динамическая агрегация каналов (LACP)
— mode=0 (balance-rr): Round-robin балансировка
Создание виртуального коммутатора между интерфейсами. Часто используется в виртуализации.
Типичные сценарии:
— Соединение виртуальных машин с физической сетью
— Объединение сетей на разных интерфейсах
— Создание прозрачного firewall
Bond обеспечивает отказоустойчивость и производительность, а Bridge создаёт виртуальный коммутатор для контейнеров или VM.
#линуксятина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3👏3
По многочисленным просьбам мы сделали невозможное и вебинару быть!
Трансляция очного выступления Вероники Нечаевой
Ответственность за ПДн в 2025: реалии операторов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3👏1
"Рентген" для вашей сети, который показывает каждый пакет.
Один из старейших и самых мощных сетевых анализаторов, появившийся еще в 1988 году.
— Перехват и анализ сетевых пакетов в реальном времени
— Фильтрация трафика по протоколам, портам, IP-адресам
— Сохранение дампов трафика в файлы для последующего анализа
— Декодирование различных сетевых протоколов
Базовый перехват трафика на интерфейсе:
tcpdump -i eth0
Только HTTP-трафик (порт 80):
tcpdump -i eth0 port 80
Трафик до/от конкретного хоста:
tcpdump host 8.8.8.8
Трафик по конкретному протоколу:
tcpdump tcp
Сохранить трафик в файл для анализа в Wireshark:
tcpdump -w capture.pcap -i eth0
— Работает в консоли без графического интерфейса
— Минимальное потребление ресурсов
— Можно использовать в скриптах для автоматизации
— Поддерживает все основные сетевые протоколы
#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7👏3