Лига сисадминов
前往频道在 Telegram
Статьи, переводы статей, заметки, и юмор на тему системного администрирования. Написать администратору: @s_league_admin_bot КНД: https://clck.ru/3Fy4kQ
显示更多📈 Telegram 频道 Лига сисадминов 的分析概览
频道 Лига сисадминов (@sysodmins_league) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 13 020 名订阅者,在 技术与应用 类别中位列第 9 643,并在 俄罗斯 地区排名第 50 320 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 13 020 名订阅者。
根据 26 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 6,过去 24 小时变化为 0,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 15.32%。内容发布后 24 小时内通常能获得 6.71% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 994 次浏览,首日通常累积 873 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 16。
- 主题关注点: 内容集中在 linux, ит_статьи, kubernetes, devops, docker 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Статьи, переводы статей, заметки, и юмор на тему системного администрирования.
Написать администратору: @s_league_admin_bot
КНД: https://clck.ru/3Fy4kQ”
凭借高频更新(最新数据采集于 27 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
13 020
订阅者
无数据24 小时
+67 天
+630 天
帖子存档
13 020
🔍Тестовое собеседование с Head of DevOps уже завтра
28 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика.
Как это будет:
📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Александру
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_devops_bot
Реклама.
О рекламодателе.
13 020
Как быстро течёт время. А ведь кажется еще вчера везде пихали блокчейн...
#ит_юмор #ai #slop #useless_functions
13 020
В чем разница между alias и скриптами в $PATH
Алиасы были одной из первых используемых мной фичей, когда я только начинал кастомизировать свои дотфайлы. Вот, к примеру, один из самых ранних алиасов, которые я завел:
alias g=git
Очевидно, что вместо git я мог просто писать g, что здорово экономит время для команды, которую я вызываю десятки раз в день!
# Теперь эти две команды абсолютно одинаковы: git status g statusРаньше я всегда задавал такие сокращения через alias. И за годы в моём ~/.bashrc их накопился огромный список. Но со временем, кажется, я нашел вариант получше: скрипт в $PATH. https://telegra.ph/V-chem-raznica-mezhdu-alias-i-skriptami-v-PATH-07-26 #ит_статьи #linux #shell #bash #zsh #alias #dotfiles
13 020
sigwire -
tail -f для сигналов в Linux
Нашёл интересный eBPF-инструмент sigwire:
Он показывает системный поток сигналов на хосте в реальном времени: кто отправил сигнал, какому процессу или потоку он предназначался, откуда появился и что произошло при доставке.
WHEN SENDER SIGNAL TARGET NOTE now bash·4402──SIGINT────> node·8813 kill(2) ↯ EINTR read caught 41µs 3.4s kernel·8813──SIGSEGV──> chrome·8813 fault default 4.1s postgres·507──SIGUSR1─> postgres·509 kill(2) caught 9µsОбычно сигналы приходится искать через
strace, подключаясь к конкретному процессу или его потомкам. sigwire вместо ptrace использует kernel tracepoints:
* signal:signal_generate;
* signal:signal_deliver;
* вход в rt_sigreturn;
* raw_syscalls:sys_exit.
Благодаря этому один запуск видит сигнальный трафик разных процессов на машине и не останавливает каждый tracee на событиях ptrace.
Для каждого события инструмент пытается связать генерацию и доставку сигнала и показать:
* отправителя и получателя;
* источник: kill(2), tgkill, timer, kernel fault и другие;
* был ли вызван userspace-handler;
* сколько времени прошло до rt_sigreturn;
* какие сигналы были заблокированы у целевого потока;
* прервал ли сигнал системный вызов.
Поиск проблем с EINTR
Самая полезная функция - обнаружение прерванных системных вызовов.
Если сигнал доставлен, пока поток находится в read, poll, accept, futex, nanosleep или другом блокирующем syscall, приложение может получить EINTR. Если код не повторяет такой вызов и handler не использует подходящий SA_RESTART, возникает классический тайминг-зависимый баг: «почему read() один раз неожиданно завершился ошибкой?»
sigwire показывает и сигнал, и пострадавший сискол:
↯ EINTR readКлавиша
e оставляет в ленте только прерванные или автоматически перезапущенные системные вызовы.
По описанию автора, основной оверхед - запись события в bounded ring buffer при генерации или доставке сигнала. Для обнаружения EINTR короткая BPF-программа также вызывается при каждом sys_exit в системе и быстро завершается, если сискол не вернул внутренний код -ERESTART*.
Ring buffer не блокирует процессы: если userspace не успевает читать события, новые записи могут быть потеряны. Публичных бенчмарков в репозитории пока нет, поэтому перед использованием на нагруженном production-хосте overhead лучше измерить самостоятельно.
Установка
curl -fsSL https://yeet.cx | sh
yeet login
yeet run github:yeet-src/sigwire
Нужен Linux с BTF/CO-RE, в частности файл:
test -r /sys/kernel/btf/vmlinux && echo BTF available
Интерфейс sigwire работает без root, но привилегированную загрузку BPF выполняет демон yeetd. Я скептически отношусь к установки чего-либо через curl | sh, так что в случае установки в продакшене я бы рекомендовал пользоваться установкой вручную.
Ограничения
- sigwire не блокирует, не задерживает и не изменяет сигналы.
- Корреляция generation/delivery выполняется без общего kernel event ID, поэтому при шторме одинаковых сигналов к одному потоку возможны неточности. Время handler измеряется до rt_sigreturn: если handler только устанавливает флаг, а основная работа выполняется позже runtime или event loop, в интерфейсе будет показано только время самого низкоуровневого обработчика.
- Проект совсем свежий, и до продовой готовности ему очень далеко. А вот для тестирования в лаборатории и мелкой диагностики подойдёт отлично.
#ит_заметки #linux #bpf #sigwire #github #syscall13 020
Тюнинг сетевых карт в Linux: Ring Buffers, Coalescing и IRQ Affinity
Полезная шпаргалка по настройке параметров сетевого адаптера на клиентах под управлением Linux для максимальной пропускной способности, низкой задержки и уменьшения количества потерянных пакетов.
https://telegra.ph/Tyuning-setevyh-kart-v-Linux-Ring-Buffers-Coalescing-i-IRQ-Affinity-07-24
#ит_статьи #devops #linux #network #performance #sysctl #cheatsheet
13 020
Виртуализация: just for fun
Поднимаете, настраиваете или
чините системы виртуализации? Любите смотреть, что под капотом технологий?
Тогда ждём вас на инженерной вечеринке «Виртуализация: just for fun».
В программе:
🔹Прикладные доклады и инженерные кейсы;
🔹Квиз по айтишным темам;
🔹Турнир по администрированию VMware «Admin Jam»;
🔹Открытый микрофон без корпоративной цензуры;
🔹Профессиональное и дружеское общение в
неформальной обстановке (пенного хватит на всех!)
Хотите хорошо провести время, а
заодно пообщаться на профессиональную тему?
Тогда регистрируйтесь и
забивайте слот в календаре:
📅Дата и время: 6 августа (четверг), 16:00−23:00
🗣 Формат: только офлайн
📍Место: Москва, ул. Мясницкая, 13, стр. 20 (м. Тургеневская)
Количество мест ограничено.
13 020
lnav — крайне недооценённый инструмент для работы с логами
В мире разработки, системного администрирования и DevOps не смотря на то, что давно существуют и заняли свою нишу инструменты, связанные с централизованным сбором, визуализацией и анализом логов (graylog, ELK/EFK, loki, loggly и другие), всё ещё существует необходимость периодически взять шашку в руки и поработать со старыми/добрыми (а может быть и не очень добрыми) текстовыми логами. За 21 год своей деятельности я успел побыть системным администратором, DevOps инженером, разработчиком, CTO и системным аналитиком, но необходимость периодической работы с логами неизменно присутствовала в том или ином виде всегда. Это может быть разбор вывода нового сервиса или контейнера на машине разработчика, что-то, что ещё не успели завести (или сознательно по каким-либо причинам не завели) на централизованную систему сбора логов или, например, сервис, временно включенный в режиме debug для поиска причин проблемы. Ситуаций бывает много и ситуации бывают разные, а текстовые логи были, есть и ещё долго будут с нами.
Все, кто как-либо связан с DevOps знают про такие утилиты как more, less, tail, head, grep, sed, awk (а кто-то и ещё десяток более специфичных) и при необходимости их используют, но из тех, с кем я общался, никто не подтвердил мне, что знает про lnav. Я и сам не знал и искал нечто подобное более десяти лет. lnav — это не просто швейцарский армейский нож в мире работы с логами, а целый космический корабль, на котором можно улететь в соседнюю галактику. Мой мир разделился на "до" и "после" знакомства с этой утилитой. Там, где раньше требовались часы, а то и десятки часов на анализ логов, теперь хватает считанных минут.
https://telegra.ph/lnav--nedoocenyonnyj-instrument-dlya-raboty-s-logami-07-24
#ит_статьи #devops #logs #lnav #open_source #github
13 020
Тест: Как хорошо вы знаете Linux?⚡️
Какой командой можно проверить текущий каталог в терминале Linux?
7 вопросов по Linux ждут вас внутри бота👇
ПРОВЕРИТЬ СВОИ ЗНАНИЯ
13 020
Разбираемся с концепцией общих библиотек в Linux
В статье разберемся в том, как работают общие библиотеки в Linux и как они применяются на практике. Соберем свою первую библиотеку и подключим её к коду. А заодно поймём, насколько опасной может быть переменная окружения LD_PRELOAD.
https://telegra.ph/Razbiraemsya-s-koncepciej-obshchih-bibliotek-v-Linux-07-23
#ит_статьи #linux #shared_libraries #elf #ld_preload #security
13 020
Базовый минимум: сохранить данные в резервной копии.
Роскошный максимум: в один клик продолжить работу критичных сервисов после сбоя.
Selectel и Хайстекс Акура создали готовый сервис аварийного восстановления (DRaaS), который обеспечивает запуск копий систем в облаке. Это полезно в случае поломок, кибератак и аварий.
На практическом вебинаре покажут:
что нужно учесть при проектировании резервной площадки, настройке репликаций, сетей и порядка запуска сервисов.
как организовать резервный контур в другом регионе в облаке Selectel;
и подтвердить реальную готовность аварийного восстановления тестами.
📍 Онлайн
⏰ 30 июля в 12:00
Регистрируйтесь на странице вебинара ➡️ https://slc.tl/8n7fv
Больше мероприятий для ИТ-специалистов в канале @selectel_events. Подписывайтесь!
Реклама. АО "Селектел". erid:2W5zFGqXwFo
13 020
Почему TCP-сессии внезапно сбрасываются
Пользователи редко описывают проблему словами «пакеты TCP Reset».
Обычно всё выглядит иначе:
- SSH-сессии неожиданно отключаются.
- Соединения с базой данных отваливаются без предупреждения.
- VPN-туннели переподключаются каждые несколько минут.
и т.д
Всё выглядит нормально, пока приложение резко не теряет связь. В отличие от потери пакетов или задержек, пакеты TCP Reset (RST) мгновенно разрывают установленное соединение. Никаких повторных отправок (retransmissions), никакого аккуратного завершения через FIN-рукопожатие и, как правило, почти никакого предупреждения.
Умение разобраться в том, почему TCP-сессия сбрасывается - один из самых ценных навыков отладки для системных администраторов Linux. Ведь реальная причина часто кроется где-то между самим приложением, ядром Linux, файрволом, NAT-устройством или балансировщиком нагрузки.
https://telegra.ph/Pochemu-TCP-sessii-vnezapno-sbrasyvayutsya-07-22
#ит_статьи #devops #linux #network #tcp #tcpdump #debug
13 020
Что не так с chroot: почему для контейнеров используется именно pivot_root
Команда разработчиков Docker в своё время решила отказаться от chroot и перейти на pivot_root, поскольку иногда при отладке в контейнере требуются привилегии суперпользователя (или разрешённый CAP_SYS_CHROOT), что делает chroot неподходящим вариантом.
В этой статье рассматриваются различия в результатах применения команд chroot «в лоб» и chroot, применённой после pivot_root. Это поможет разобраться, почему именно pivot_root используется в контейнеризации.
https://telegra.ph/CHto-ne-tak-s-chroot-pochemu-dlya-kontejnerov-ispolzuetsya-imenno-pivot-root-07-21
#ит_статьи #devops #linux #chroot #pivot_root #containers
13 020
Когда $remote_addr в логах Nginx «врёт»
Сидишь за reverse proxy, CDN или балансировщиком - открываешь access-лог, а там один и тот же IP на всех запросах. Обычно 127.0.0.1, адрес ingress-контроллера или внутренний IP прокси.
На этом фоне ломаются rate limiting, fail2ban, аудит и любые расследования: Nginx честно пишет адрес своего непосредственного соседа, а не исходного клиента.
В посте разберём, как Nginx восстанавливает реальный IP, зачем нужны set_real_ip_from и real_ip_recursive, где чаще всего ошибаются и как не превратить доверие к прокси-заголовкам в дыру в безопасности.
https://telegra.ph/Kogda-remote-addr-v-logah-Nginx-vryot-07-20
#ит_заметки #devops #nginx #troubleshooting #security
13 020
Раскрываем силу двунаправленных потоков данных в socat
Процесс завис. Вам нужно сдвинуть данные с мертвой точки. Socat - это инструмент, который решает такую задачу. Socat - консольная утилита, создающая двунаправленные потоки данных между двумя конечными точками. Инструмент далеко не новый, но он до сих пор остается одной из самых гибких сетевых утилит в Unix-подобных системах. Документация (manpages) у Socat плотная, но исчерпывающая: там подробно описаны все опции, типы адресов и поддерживаемые протоколы. Умение работать с этими механизмами открывает огромные возможности.
https://telegra.ph/Raskryvaem-silu-dvunapravlennyh-potokov-dannyh-v-socat-07-20
#ит_статьи #devops #networking #socat #linux #cheatsheet
13 020
Многоэтапная сборка Docker-образов, для сокращения объема образа
Почти каждый сталкивался с этой проблемой: приложение отлично работает локально, вы упаковываете его в контейнер, и бац - образ весит 1.2 ГБ. Его долго пушить, долго пуллить, долго сканировать, да и внутри куча инструментов сборки, которые в продакшене вообще никогда не пригодятся. Сегодня мы это исправим - пошагово, с командами, которые вы можете запустить прямо сейчас. К концу статьи вы превратите раздутый образ в максимально легкий с помощью многоэтапной сборки (multi-stage builds) - одного из самых полезных трюков в мире контейнеризации.
https://telegra.ph/Mnogoehtapnaya-sborka-Docker-obrazov-dlya-sokrashcheniya-obema-07-19
#ит_статьи #devops #docker #python #dockerbuild
13 020
Если Bash уже не справляется — пора изучить Python
Рано или поздно каждый инженер сталкивается с задачами, где Bash уже недостаточно.
Нужно обработать логи, поработать с API, разобрать JSON, автоматизировать рутину или написать удобный инструмент для команды. И здесь начинается Python.
Но чтобы начать использовать его в работе, не нужно тратить месяцы на изучение теории.
Мы подготовили бесплатный гайд «Python за 60 минут для инженера», в котором вы:
✔️разберётесь с основами Python;
✔️научитесь писать простые автоматизирующие скрипты;
✔️поймёте, как читать чужой код;
✔️увидите, где Python действительно помогает инженеру.
➡️ Забирайте гайд бесплатно в боте и сделайте первый шаг к автоматизации своих задач
13 020
Управляем LXC в Proxmox через CLI
Proxmox обладает множеством отличных возможностей, которые делают его идеальным для запуска стека виртуализации хоть дома, хоть в энтерпрайзе. Он позволяет использовать как виртуальные машины, так и LXC-контейнеры. LXC — отличный способ запускать сервисы с минимальным потреблением ресурсов. Управлять LXC-контейнерами можно через веб-интерфейс. Однако, по мере того как я привыкал к управлению LXC-контейнерами, я обнаружил, что существуют команды LXC, которые полезно знать, поскольку они могут изменить и сделать более удобным ваш повседневный подход к работе с контейнерами (все таки работать с LXC через Web UI слегка больно) . Утилита PCT — это встроенная команда, позволяющая управлять LXC-контейнерами в Proxmox. Рассмотрим несколько команд PCT, которые могут существенно помочь в управлении контейнерами.
https://telegra.ph/7-komand-Proxmox-LXC-kotorye-izmenili-moj-podhod-k-upravleniyu-kontejnerami-07-16
#ит_статьи #devops #proxmox # lxc #pct
13 020
Выставляем любой сервис на порт или сокет с помощью systemd.
Обычно это нужно для того, чтобы быстро прокинуть скрипты или legacy-приложения в сеть без необходимости писать для них собственный сетевой стек или поднимать тяжелые веб-серверы. Такое решение отлично подходит для создания легковесных сетевых заглушек, shell-скриптов или организации безопасного проксирования трафика силами встроенных инструментов Linux.
https://telegra.ph/Vystavlyaem-lyuboj-servis-na-port-ili-soket-s-pomoshchyu-systemd-07-12
#ит_статьи #devops #linux #shell #systemd #network
13 020
Эфемерный TMPFS для скриптов
Возможно вы сталкивались с проблемой, когда при внезапном падении или
kill -9 shell-скрипт оставляет за собой кучу мусора в /tmp.
Классический подход с решением через trap и rm -rf тут пасует: сигнал SIGKILL просто не дает скрипту времени на очистку ресурсов.
Но есть решение изящнее и надежнее - изолированные пространства имен ядра и приватное монтирование TMPFS. Идея тут в том, чтобы привязать время жизни временных файлов напрямую к жизненному циклу самого процесса. Скрипт умер - файлы стерлись на уровне ядра, автоматически.
Сегодня разберём как это настроить с помощью unshare, обойти ограничения шебанга и заворачивать отдельные файлы в «невидимые» директории.
https://telegra.ph/EHfemernyj-TMPFS-dlya-skriptov-07-12
#ит_статьи #devops #linux #shell #kernel #tmpfs