Библиотека девопса | DevOps, SRE, Sysadmin – Telegram
Библиотека девопса | DevOps, SRE, Sysadmin
10.2K subscribers
1.64K photos
75 videos
4 files
2.92K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
⚡️ Автоматизация ротации логов и их очистки

Лог-файлы растут со временем и могут быстро заполнить дисковое пространство, если их не контролировать. Ротация логов — простой способ автоматически управлять старыми записями, сжимая и удаляя устаревшие файлы.

Пример Ansible плейбука для настройки ротации логов:
- name: Set up log rotation
hosts: all
become: yes
tasks:
- name: Configure logrotate
copy:
dest: /etc/logrotate.d/custom_logs
content: |
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}


Этот плейбук создаёт конфигурационный файл для logrotate с правилами:

• Логи из /var/log/ с расширением .log обрабатываются ежедневно
• Хранятся только последние 7 архивов, чтобы не захламлять диск
• Логи сжимаются для экономии пространства
• Если файлы отсутствуют, ошибок не возникает
• Пустые файлы не обрабатываются

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека devops'a

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Oracle Linux 10.1

Новая версия Oracle Linux 10.1 уже доступна для x86_64 и aarch64 и сохраняет 100% бинарную совместимость с RHEL 10.1. Дистрибутив по‑прежнему ориентирован на продовые enterprise‑нагрузки, AI/ML и мультиоблако, плюс остаётся бесплатным в части исходников, ISO и репозиториев.

Что нового

• Свежие Podman/Buildah/Skopeo/crun/runc, новые возможности Quadlet, работа с томами, секретами и API.

• Новые GCC и LLVM, Rust 2024 Edition, актуальный OpenJDK и переработанный Valgrind с модульным пакетом.

• Обновлённая криптографическая база с поддержкой постквантовых алгоритмов: ML‑KEM, ML‑DSA, SLH‑DSA; улучшения в OpenSSL, NSS, GnuTLS и openCryptoki.

➡️ Release notes

🔹
Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🛠 Исключаем лишнее из бэкапа

При резервном копировании не всегда нужно тащить за собой логи и кэш. Это грузит диск и сеть без пользы. rsync решает проблему через флаг exclude.

Команда:
rsync -av --exclude="*.log" --exclude="cache/" /var/app/ /backup/app/

копирует всё из /var/app/ в /backup/app/, но пропускает файлы с расширением .log и директорию cache со всем её содержимым.

🔹 ML для старта в Data Science
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
😊 Как сервисы общаются с systemd

systemd умеет не только запускать и перезапускать сервисы, но и разговаривать с ними. Механизм notify — это способ для демона сказать: «я реально готов», «я перезагружаю конфиг», «я живой, не убивай меня».

Зачем вообще нужен notify

Классический юнит Type=simple врёт сам себе: как только процесс стартанул — считаем сервис запущенным. А в реальности БД ещё поднимает файлы, веб‑сервер открывает сокеты, а ваш сервис в этот момент не готов обслуживать запросы.

Type=notify + systemd-notify решают эту проблему: systemd ждёт явного сигнала READY=1, и только после этого считает сервис активным и запускает зависящие юниты.

Как это устроено под капотом

• При старте юнита с Type=notify systemd прокидывает в окружение переменную NOTIFY_SOCKET — путь до UNIX‑сокета, куда сервис должен отправлять уведомления.

• Сам сервис либо вызывает sd_notify() из libsystemd, либо запускает утилиту systemd-notify, чтобы отправить строки вида READY=1, STATUS=…, RELOADING=1, STOPPING=1, WATCHDOG=1.

systemd-notify — это просто тонкая обёртка над sd_notify(), которая делает этот протокол доступным из shell‑скриптов и простых сервисов без прямой линковки с libsystemd. Она умеет:

• отправлять --ready, --reloading, --stopping, --status="...", --pid=...

• работать в режиме --exec: сначала отправить уведомление, потом exec процесса; или --fork: подождать READY=1 от дочернего процесса и вернуть его PID.

Watchdog и «я живой»

Через этот же канал работает и watchdog. Если в юните настроен WatchdogSec=…, systemd ждёт периодических сообщений WATCHDOG=1. Пока они приходят — сервис считается здоровым, как только нет — менеджер перезапускает его.

Это даёт очень дешёвый health‑check без дополнительных скриптов и cron’ов: сервис сам регулярно подтверждает, что цикл событий жив и не завис.

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔄 Cinnamon 6.6: меню стало умнее

Новая версия оболочки cinnamon готова к бою. — компактное меню, гибкие настройки панели и полный контроль над интерфейсом. Готовимся к Mint 22.3.

Что нового в Cinnamon 6.6


• Переделали меню: появилась боковая панель с аватаром пользователя, избранными каталогами и часто используемыми приложениями. Появились тултипы с описаниями программ при наведении, разделили «закладки» и «избранные каталоги» и упростили навигацию с клавиатуры.

• System Reports превратили в System Information: помимо общей инфы и отчётов о проблемах появились отдельные разделы по USB, PCI, GPU и BIOS/прошивкам. Добавили отдельное приложение System Administration.

• Сильно переработали работу с клавиатурой, включая полную совместимость с Wayland. Есть полноценное переключение раскладок и улучшенная поддержка методов ввода, причём настройки обычных раскладок и IBus теперь разделены.

➡️ Релиз на GitHub

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
2
📰 Новости недели

Блин-блинский, до Нового Года 17 дней!

Oracle Linux 10.1

Fastfetch 2.56.0

Ghostty стал некоммерческим проектом

WSL 2.7.0

Microsoft выпустила пререлиз WSL 2.7.0 подсистемы Windows для Linux которая позволяет запускать Linux окружение и приложения прямо в Windows, обновив downstream ядро до Linux 6.6.114 LTS, добавив поддержку свежих дистрибутивов вроде Debian 13, Ubuntu 25.10, Fedora 43, SUSE Linux 16, новых версий openSUSE, Kali 2025.3 и декабрьского Arch Linux.

Топ 10 моментов 2025 у Grafana

Grafana Labs подвела итоги 2025 года и выделила десять ключевых моментов.

HashiCorp Boundary 0.21

Boundary теперь умеет автоматически подставлять учетные данные в RDP сессии через Kerberos и NTLMv2. Пользователи аутентифицируются один раз через IdP и вообще не видят логины и пароли.

Почитать:

Нужен ли диплом будущему DevOps инженеру

🐸 Библиотека devops'a

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что из этого реально есть в вашей работе
Anonymous Poll
72%
Grafana + Loki/Prometheus
47%
Jenkins + Ansible
63%
kubectl
57%
cron задачи
30%
rsync
💻 Проверка доступности порта на удалённом хосте

Иногда нужно быстро убедиться, что определённый порт на удалённом сервере доступен и принимает подключения. Это нужно для диагностики сетевых проблем и проверки работы файрвола.

Используйте команду:
nc -zv example.com 443


nc (netcat) с ключами -zv проверяет открытость порта без передачи данных.

-z означает «сканировать без отправки данных».

-v включает подробный вывод, чтобы видеть результат проверки.

Такой тест помогает быстро понять, почему клиент не подключается, и выявить проблемы с сетью или настройками безопасности.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Когда сервис есть, а эндпоинтов ноль

В Kubernetes сервис живет за счет совпадения селектора и меток у pod’ов. Стоит им разъехаться сервис останется без эндпоинтов и трафик просто перестанет доходить.

Классика сервис ищет pod’ы по селектору app: frontend, а Deployment размечает их как component: frontend или app: ui. В итоге сервис существует, DNS работает, но kubectl get endpoints my-service показывает пустой список, а наружу это выглядит как «все крутится, но запросы висят».

Пример:
# Service
spec:
selector:
app: frontend
---
# Deployment pod labels
metadata:
labels:
app: ui


Такая мелочь превращает все реплики в осиротевшие поды. Сервис их не видит и не проксирует к ним трафик. Диагностика всегда начинается с kubectl get endpoints <svc> и проверки kubectl get pods -l key=value.

Чтобы не ловить тихие простои держите правило селекторы и метки описываются в одном месте и копируются, а не набираются с клавиатуры плюс при любом изменении сразу проверяйте kubectl get endpoints и kubectl describe svc прежде чем считать rollout успешным.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
CI/CD для твоих скиллов

DevOps — это вечное обучение. Инструменты меняются, подходы устаревают. Чтобы твой пайплайн развития не упал, нужно вовремя накатывать обновления.

Спецпредложение 1 + 2:

Берешь один курс, получаешь три. Платишь только за самый дорогой, остальные деплоятся бесплатно.

Что пригодится инженеру:

— программирование на Python (для автоматизации всего);
— основы IT (структурировать хаос).

Настроить пайплайн

До 31 декабря.
Саппорт: @manager_proglib
🔄 Вышел Kali Linux 2025.4

Kali выкатили релиз 2025.4. Главное изменение — GNOME обновили до версии 49, полностью перевели на Wayland и выкинули X11 сессии. Заодно чуть причесали UX заменили Totem на Showtime, научили грид приложений складывать Kali tools в папки.

Live образ стал жертвой роста всего подряд его размер окончательно пробил лимит Cloudflare CDN в районе 5 ГБ, поэтому команда официально перевела доставку Live ISO исключительно на BitTorrent.

На стороне тулзов добавили bpf-linker, evil-winrm-py и hexstrike-ai и заодно подтянули ядро до 6.16. NetHunter получил поддержку Android 16 для нескольких устройств, обновленный Terminal с поддержкой новых версий Magisk, косметику в UI и новые шаблоны для WiFi атак.

➡️ Release Notes

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👨‍💻 Автоматизация настройки балансировщика нагрузки HAProxy

Настройка балансировщика нагрузки — важная задача для любого масштабируемого сервиса. Автоматизация с помощью Playbook помогает быстро и без ошибок развернуть HAProxy на нужных серверах.

Пример Ansible плейбука для установки и настройки HAProxy:
- name: Install and configure HAProxy
hosts: lb_servers
become: yes
tasks:
- name: Install HAProxy
apt:
name: haproxy
state: present

- name: Configure HAProxy
template:
src: haproxy.cfg.j2
dest: /etc/haproxy/haproxy.cfg


Пример шаблона haproxy.cfg.j2 с базовыми настройками:
    log /dev/log local0
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
user haproxy
group haproxy
daemon

defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

frontend http_front
bind *:80
default_backend http_back

backend http_back
balance roundrobin
server web1 192.168.1.101:80 check
server web2 192.168.1.102:80 check


📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
1