Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Show more📈 Analytical overview of Telegram channel Библиотека девопса | DevOps, SRE, Sysadmin
Channel Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) in the Russian language segment is an active participant. Currently, the community unites 10 390 subscribers, ranking 11 434 in the Technologies & Applications category and 61 255 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 390 subscribers.
According to the latest data from 28 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -4 over the last 30 days and by -3 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 10.37%. Within the first 24 hours after publication, content typically collects 4.23% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 077 views. Within the first day, a publication typically gains 439 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 1.
- Thematic interests: Content is focused on key topics such as devops'a, навигация, скрипт, docker, git.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
Thanks to the high frequency of updates (latest data received on 29 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
# Когда система последний раз перезагружалась?
uptime
last reboot
# Что происходило в последний час?
journalctl --since "1 hour ago" | grep -i "error\|fail\|panic"
# Не убил ли OOM killer что-нибудь важное?
dmesg | grep -i "out of memory"
Задача — найти точное время потери связи и посмотреть, что случилось рядом с этим моментом.
Частые виновники
• Kernel panic — система тихо перезагрузилась, вы не заметили
• OOM killer — памяти не хватило, и он прибил NetworkManager или другой критичный процесс
• Maintenance провайдера — AWS, GCP, Azure иногда делают работы без громкого анонса. Проверьте status page
• Физика — коммутатор перезагрузили, кабель отошёл, что-то щёлкнуло в серверной
• Автоматизация — cron job или Ansible отработал по расписанию и сломал конфигурацию
Главный принцип: «само по себе» не бывает. Всегда есть триггер — нужно просто найти его в правильном месте.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptkube-linter lint pod.yamlНа выходе — список найденных проблем с объяснением и конкретной рекомендацией по исправлению. Проверки настраиваются через config.yaml — можно включить нужные, отключить лишние, написать свои. Поддерживает pre-commit хуки. ➡️ Репозиторий 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека devops'a #арсенал_инженера
tcpdump — инструмент для захвата и анализа сетевого трафика.
➡️ Предыдущий пост
Базовое использование tcpdump
tcpdump -i eth0
Начинает захват всех пакетов на интерфейсе eth0 и выводит на экран. Внимание: генерирует огромное количество данных. Используйте фильтры.
Фильтр по хосту:
tcpdump -i eth0 host 192.168.1.10
Только пакеты от/к этому IP.
Фильтр по порту:
tcpdump -i eth0 port 80
Только HTTP трафик.
Комбинация фильтров:
tcpdump -i eth0 host 192.168.1.10 and port 443
HTTPS трафик к конкретному хосту.
Направление:
tcpdump -i eth0 dst 192.168.1.10 # Только к этому IP
tcpdump -i eth0 src 192.168.1.10 # Только от этого IP
Полезные флаги
• -n — не резолвить IP в имена (быстрее)
• -v — verbose (больше деталей)
• -vv — очень verbose
• -X — показать содержимое пакетов в hex и ASCII
• -A — показать содержимое в ASCII (для HTTP/текста)
Сохранение в файл для анализа
tcpdump -i eth0 -w capture.pcap
Сохраняет пакеты в файл capture.pcap. Можно открыть в Wireshark для детального анализа.
Чтение из файла:
tcpdump -r capture.pcap
Ограничение размера захвата
tcpdump -i eth0 -w capture.pcap -C 100 -W 5
• -C 100 — создавать новый файл каждые 100 МБ
• -W 5 — хранить максимум 5 файлов (ротация)
➡️ Типичные паттерны в дампах
— TCP SYN без SYN-ACK
14:32:15.123456 IP client > server: Flags [S], seq 123456 14:32:16.123456 IP client > server: Flags [S], seq 123456 # РетрансмитКлиент отправляет SYN (запрос на соединение), но сервер не отвечает SYN-ACK. Возможные причины: • Сервис не слушает на порту • Firewall блокирует на сервере • Пакеты не доходят до сервера — TCP RST пакеты
14:32:15.123456 IP client > server: Flags [S], seq 123456 14:32:15.123457 IP server > client: Flags [R.], seq 0Сервер отвечает reset — порт закрыт, соединение отклонено. Сервис точно не слушает. — Множественные ретрансмиты
14:32:15.123456 IP client > server: Flags [.], seq 1000:2000 14:32:15.623456 IP client > server: Flags [.], seq 1000:2000 # Ретрансмит 14:32:16.623456 IP client > server: Flags [.], seq 1000:2000 # Ещё ретрансмитПакет отправляется повторно, потому что ACK не приходит. Указывает на: • Потери пакетов в сети • Проблемы производительности на принимающей стороне • Перегруженный канал ➡️ Wireshark — графический анализ Сохраните дамп и откройте в Wireshark на вашей рабочей станции:
# На сервере
tcpdump -i eth0 -w /tmp/capture.pcap
# Скачайте файл
scp server:/tmp/capture.pcap .
# Откройте в Wireshark
Wireshark умеет:
• Разбирать сотни протоколов
• Показывать TCP stream (весь диалог)
• Находить ретрансмиты автоматически
• Строить графики I/O
• Экспортировать объекты (файлы из HTTP)
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженераgrepc — поиск C-кода без индексации
• grepc_c, grepc_mk — вспомогательные утилиты
• mansectf — работа с секциями man-страниц
➡️ Анонс
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрииstore browse-apps --category Productivity --listing-type top-freeМожно искать по категории, подкатегории, рынку и языку, топ бесплатных, платных, новинки. Установка:
store install vlc store install 9NBLGGH4NNS1 # По ProductIdПохожие приложения:
store similar vlcСписок установленных:
store installedОбновления:
store updates
store upgrade vlc
store upgrade --all
# Обновление конкретного приложения
store update 9WZDNCRFJ3Q2
Ограничение: работает только на машинах с включенным Microsoft Store. На Server Core придётся его сначала активировать.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженераrm -rf воспринимает его как флаги и готов снести всё вокруг.
Что делать в такой ситуации? Как удалить этот файл?
Один из ответов спрятали в нашем канале с вопросами с собесов
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#задача_со_звёздочкойgrep -i "network\|eth0\|link" /var/log/messages | tail -50
Что искать:
• link down / link up — интерфейс терял линк
• firmware — проблемы с firmware сетевой карты
• dropped — kernel отбрасывал пакеты
• OOM — Out of Memory, могло убить сетевые процессы
➡️ journalctl — современный способ
journalctl -n 100 # Последние 100 записей
journalctl -f # Следить в реальном времени (как tail -f)
journalctl -p err # Только ошибки
Фильтр по юниту (сервису):
journalctl -u NetworkManager -n 100
journalctl -u systemd-networkd -n 100
Фильтр по времени:
journalctl --since "10 minutes ago"
journalctl --since "2025-02-03 14:00" --until "2025-02-03 15:00"
➡️ NetworkManager и systemd-networkd
Современные Linux-дистрибутивы используют один из этих сервисов для управления сетью.
Проверка статуса:
systemctl status NetworkManager
systemctl status systemd-networkd
Ищите:
- Active: active (running) — всё ОК
- Active: failed — сервис упал
- Ошибки в выводе
Логи в реальном времени:
journalctl -u NetworkManager -f
Запустите эту команду, затем воспроизведите проблему — увидите, что происходит.
➡️ Перезапуск сетевых сервисов
На удалённом сервере это может разорвать SSH соединение!Используйте
screen или tmux перед перезапуском:
screen
systemctl restart NetworkManager
Если потеряли соединение, screen сохранит сессию. Переподключитесь и вернётесь в неё командой screen -r.
Альтернатива: at команда для отложенного восстановления сети:
echo "systemctl restart NetworkManager" | at now + 2 minutes
Если что-то пойдёт не так, через 2 минуты сеть автоматически перезапустится.
➡️ Мониторинг ресурсов
Иногда сетевые проблемы вызваны нехваткой ресурсов.
Проверка памяти:
free -h
Если своп активно используется — система испытывает нехватку RAM. Сетевые процессы могут тормозить или падать.
Проверка CPU:
top
htop
Высокая загрузка CPU может замедлять обработку пакетов.
Проверка дискового I/O:
iostat -x 1
Если диск перегружен, логирование замедляется, конфигурационные файлы читаются медленно.
Типичные находки в логах
NetworkManager: device disconnected
- Интерфейс потерял линк
- Проверьте физику (кабель, порт)
dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval X
- Не может получить IP от DHCP сервера
- DHCP сервер недоступен или перегружен
kernel: Out of memory: Killed process X (name)
- OOM killer убил процесс
- Возможно, убил NetworkManager или systemd-networkd
iptables: DROP IN=eth0 SRC=X.X.X.X
- Firewall блокирует пакеты
- Найдено блокирующее правило
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженераnc -zv example.com 80
Флаги:
• -z — только проверка, без отправки данных
• -v — подробный вывод
Результаты:
Connection to example.com 80 port [tcp/http] succeeded! — порт открыт, сервис слушает
Connection refused — порт закрыт, сервис не запущен
Connection timed out — пакеты не доходят, firewall или сеть
Проверьте, слушает ли приложение:
ss -tulpn | grep :80
или старая версия:
netstat -tulpn | grep :80
Должны увидеть строку типа:
tcp LISTEN 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234))
0.0.0.0:80 означает слушает на всех интерфейсах. 127.0.0.1:80 — только локально и не доступен снаружи.
Если ничего нет — сервис не запущен или слушает на другом порту.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера