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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🖥 Как задеплоить Elasticsearch

Elasticsearch — движок для поиска и аналитики в реальном времени. Разбираемся, как быстро развернуть его для логов, метрик и мониторинга.

Быстрый старт с Docker Compose

Самый простой способ поднять Elasticsearch локально или в dev-окружении — Docker Compose:
version: '3.8'

services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
ports:
- "9200:9200"
- "9300:9300"
volumes:
- esdata:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1

kibana:
image: docker.elastic.co/kibana/kibana:8.11.0
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
- elasticsearch

volumes:
esdata:
driver: local


Production-ready deployment

Для прода нужны дополнительные настройки, как минимум мультинодовый кластер:
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es01
- cluster.name=prod-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
- "ES_JAVA_OPTS=-Xms4g -Xmx4g"
volumes:
- esdata01:/usr/share/elasticsearch/data

es02:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es02
- cluster.name=prod-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
volumes:
- esdata02:/usr/share/elasticsearch/data

es03:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
- node.name=es03
- cluster.name=prod-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- xpack.security.enabled=true
volumes:
- esdata03:/usr/share/elasticsearch/data


Частые проблемы и решения

Out of memory:

• Проверьте настройки heap: не более 50% RAM
• Используйте ulimit -l unlimited для memlock

Медленные запросы:

• Оптимизируйте маппинги индексов
• Используйте index lifecycle management
• Настройте правильное количество шардов

Проблемы с дисковым пространством:

• Включите ILM для автоматической ротации индексов
• Настройте retention policy для старых данных
• Используйте _forcemerge для оптимизации

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎲 Мы не только учим, но и играем!

На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.

‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.

👉 Записаться на курс
📰 Релиз Linux Mint Debian Edition 7

Команда Linux Mint выпустила LMDE 7 с кодовым именем «Gigi». Linux Mint Debian Edition — это дистрибутив, который работает напрямую на базе Debian вместо Ubuntu.

LMDE создавался как страховка на случай, если с Ubuntu что-то случится. Это альтернативная ветка развития, которая показывает, что Linux Mint может существовать независимо от Ubuntu и сохранить привычный пользовательский опыт.

➡️ Попробовать дистрибутив

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📎 Топ-вакансий для девопсов за неделю

Парт-тайм девопс на удалёнке

DevOps-инженер от 250 000 ₽

Middle / Senior Devops на Linux до 400 000 ₽

Бустер — Офис у вас дома.

➡️ Еще больше топовых вакансий — в нашем канале Devops Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно мы анонсировали старт нового курса «Математика для Data Science».

В ближайшие дни выйдет серия постов о том, что ждёт вас на курсе, а пока познакомим вас с его экспертами.

Спикеры курса:

👤 Ксения Кондаурова
Преподаватель и автор курсов для бакалавриата Центрального Университета (Т-Банк), спикер и методист для Edutoria (Сбербанк). Ксения расскажет, как линейная алгебра применяется для построения предсказательных моделей, и научит проверять гипотезы для бизнеса с помощью статистики.

👤 Диана Миронидис
Преподаватель НИУ ВШЭ, автор и методист Яндекс Практикума. Самый экстравагантный преподаватель из всех, с кем вы учились, — убедитесь, что математика может быть нескучной. Диана погрузит в математический анализ, научит исследовать функции и находить параметры, при которых ошибка модели минимальна.

👤 Маргарита Бурова
Академический руководитель образовательных программ по аналитике и анализу данных, Wildberries & Russ. Проведёт квиз с розыгрышем годовой подписки TG Premium. Маргарита — эксперт в дата-сайенс, ИИ и математических методах анализа данных, фанат развития ИТ-образования.

Вместе с экспертами за 8 недель вы не просто получите знания, а познакомитесь с математикой заново.

🎁 Только при оплате до 19 октября курс «Базовая математика» в подарок!

👉 Записаться на курс
👨‍💻 AI-агенты меняют подход к анализу логов в DevOps

Приложение упало в продакшене. Вы открываете Kibana, ищете ошибки вручную, переключаетесь между сервисами. Уходит 30-40 минут, иногда больше.

Скрипты находят только то, что вы в них прописали. Elasticsearch и Splunk не умеют автоматически связывать события из разных сервисов. AI-агент анализирует логи сам, находит корреляции и объясняет: «Утечка памяти в payment-сервисе привела к каскадным падениям. Такое уже было 15 сентября».

Внутри — разбор шести компонентов AI-агента: роль, задачи, инструменты для запросов, память для паттернов, ограничители безопасности. Плюс пример, как агент находит проблему с индексом в базе за несколько минут вместо получаса.

➡️ Прочитать статью

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ KubeGUI 1.8

KubeGUI получил обновления 1.8.0 и 1.8.1. Главная фишка — встроенная AI-интеграция, которая анализирует ошибки и предлагает решения прямо в приложении.

Когда pod падает или deployment не запускается, вы открываете логи, копируете ошибку, идёте в ChatGPT или документацию, пытаетесь понять что не так. KubeGUI теперь делает это за вас — увидел ошибку, нажал кнопку, получил рекомендацию по исправлению.

Остальные улучшения: встроенный YAML-редактор с подсветкой и валидацией, прямой доступ к shell в pod, просмотр логов из нескольких контейнеров одновременно, генератор примеров для Custom Resources на основе CRD.

➡️ Затестить обновлённый KubeGUI

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚨 Взлом SMS-агрегаторов: почему CI/CD под угрозой

В даркнете продают 3 ТБ данных якобы от двух крупных российских SMS-агрегаторов. Пока официально не подтверждено, но сам факт напоминает о критической точке отказа в архитектуре большинства продуктов.

Почему это должно волновать DevOps

• Supply Chain Attack в чистом виде

SMS-агрегаторы — это классический пример supply chain риска. Через них проходят одноразовые коды, PIN-коды и ссылки восстановления паролей для тысяч сервисов. Одна скомпрометированная точка — и валится безопасность всей цепочки.

Ваши 2FA коды больше не ваши

Перехват 2FA-кодов и ссылок восстановления открывает путь к массовым захватам аккаунтов — от банков до корпоративных систем.

Что с этим делать

• Аудит зависимостей: составьте список всех внешних сервисов, через которые идёт критичная коммуникация.

• Мониторинг аномалий: настройте алерты на необычную активность в SMS/email каналах.

• Проверка API-ключей: убедитесь, что ключи доступа к агрегаторам не светятся в логах, Slack или документации.

• Многофакторность: используйте несколько каналов для критичных операций, напримеp, SMS + authenticator app + hardware token.

• Rate limiting: ограничьте количество запросов к SMS API и OTP-генерации.

• Zero Trust для внутряков: даже если сотрудник прошёл SMS-2FA, требуйте дополнительное подтверждение для критичных действий.

Главный урок: в supply chain нет мелочей. Каждая зависимость — потенциальный вектор атаки.

А можно просто пойти в Data Science и тогда защищать будете не вы, а вас. С нашим курсом математики для Data Science переход будет проще простого, ещё и со скидкой!

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

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
0️⃣ Калькулятор для сравнения облака и собственной инфраструктуры

Когда нужно решить, где разворачивать инфраструктуру — в облаке или на своих серверах — начинается головная боль. Цифры нужны точные, но переменных слишком много: железо, электричество, зарплаты, лицензии, безопасность. Excel быстро превращается в хаос.

InfraWise — открытый инструмент, который считает полную стоимость владения (TCO) для облачной и on-premise инфраструктуры.

Он учитывает больше 80 параметров: от стоимости электроэнергии и GPU до затрат на compliance: SOC 2, HIPAA, GDPR и человеческие ресурсы.

Инструмент строит прогнозы на несколько лет вперед с учетом инфляции и роста нагрузки, показывает точку безубыточности, разделяет капитальные и операционные расходы, визуализирует данные интерактивными графиками и предлагает готовые пресеты для стартапов, средних компаний и энтерпрайза.

➡️ Посчитать затраты

С нашим курсом по Python не нужно считать затраты, потому что он со скидкой в 40% до конца октября!

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
♾️ 17 формул, которые изменили мир

Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.

📎 Читать статью

А если после статьи захотите разобраться, как эта математика работает в Data Science — вот экспресс-курс, который всё расставит по полочкам:

«Математика для Data Science»
— практика и живые уроки
— разбор кода и проверка домашних
— поддержка в Telegram-чате


🎓 За 2 месяца поймёте, как работают алгоритмы ML под капотом.
🗓️ Старт — 6 ноября

👉 Записаться на курс
🔄 Октябрьские релизы

Свежие версии решений для DevOps, Linux-дистрибутивов и инструментов разработки

Bun 1.3

Вышел Tino

Tails 7.1

Linux Mint Debian Edition 7

KubeGUI 1.8

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

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня последний день!

🎁 Только при оплате до 19 октября — курс «Базовая математика» в подарок!

Успей попасть на экспресс-курс «Математика для Data Science»10 живых вебинаров, практика на Python, поддержка менторов и преподаватели из ВШЭ, Яндекс Практикума и Wildberries.

За 2 месяца разберёшься с тем, на чём держится Data Science:
• векторы, матрицы и регрессия;
• градиенты, оптимизация, вероятности и статистика;
• реальные задачи анализа данных;


🎓 Построишь математический фундамент и поймёшь, как работают алгоритмы ML под капотом.

👉 Записаться на курс

Старт — 6 ноября, не упусти бонус!🎁
🌐 Балансировка нагрузки в Nginx

Nginx предоставляет несколько алгоритмов распределения трафика между серверами. Каждый метод решает конкретные задачи и подходит для разных сценариев.

Round Robin

Запросы поступают на серверы по очереди. Это стандартный метод, который не требует дополнительных директив.
upstream backend {
server 192.168.1.101;
server 192.168.1.102;
}


• Least Connections

Новый запрос направляется на сервер с наименьшим количеством активных подключений. Nginx автоматически отслеживает нагрузку.
upstream backend {
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}


• IP Hash

Запросы от одного IP-адреса всегда попадают на один и тот же backend-сервер. Обеспечивает сохранение сессий без дополнительной синхронизации.
upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}


• Weight

Более производительные серверы получают больше запросов пропорционально указанному весу.
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}


Совет: методы можно комбинировать с параметрами max_fails и fail_timeout для автоматического исключения недоступных серверов из балансировки.

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
⚡️ GNOME 49.1

Команда GNOME выпустила версию 49.1. Это обновление сосредоточено исключительно на исправлении багов и не включает новых функций.

Даже сами разработчики характеризуют его как скучное обновление.

➡️ Источник

Чтобы обновления не были скучными багфиксами можно пройти наш интенсив по архитектуре и шаблонам проектирования. До конца октября со скидкой!

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💻 В России появится Ассоциация облачно-ориентированных технологий

Yandex Cloud, VK Cloud и «Флант» создадут Ассоциацию облачно-ориентированных технологий (АОТ) — независимую платформу, которая будет развивать Cloud-native подходы и Kubernetes в России.

Ассоциация займётся формированием стандартов, поддержкой open source и объединением инженерного сообщества. Среди приоритетов — развитие DevOps-практик и популяризация Kubernetes.

➡️ Источник

Познакомиться с проектом можно будет уже 4 декабря на конференции Kuber Conf by АОТ, где можно будет узнать о миссии АОТ, познакомиться с командой и подать заявку на вступление.

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

#пульс_индустрии #kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤩3❤‍🔥2
🆚 /etc/hosts или /etc/resolv.conf

Оба отвечают за преобразование имён в IP-адреса, но работают по-разному.

/etc/hosts — локальная таблица

Это обычный текстовый файл со списком соответствий IP → имя хоста. Система проверяет его первой, ещё до обращения к DNS-серверам.

Формат:
127.0.0.1       localhost
192.168.1.10 myserver.local myserver
10.0.0.5 database.prod



Когда использовать:
- Нужно быстро переопределить адрес, например, направить домен на локальный сервер для тестирования
- Заблокировать нежелательный сайт через 127.0.0.1 ads.example.com
- В небольших сетях без DNS-сервера

Изменения применяются мгновенно, без перезапуска сервисов.

/etc/resolv.conf — настройки DNS

Этот файл указывает системе, к каким DNS-серверам обращаться для разрешения имён, которых нет в /etc/hosts.

Формат:
nameserver 8.8.8.8
nameserver 1.1.1.1
search company.local


Параметры:

nameserver — адрес DNS-сервера (можно указать несколько)
search — домен для автоподстановки, например, запрос server превратится в server.company.local
options — дополнительные настройки вроде таймаутов

Важно: многие современные системы генерируют этот файл автоматически через NetworkManager или systemd-resolved. Ручные правки могут быть перезаписаны.

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
🔥 Когда понимаешь SOLID — жизнь становится проще

В октябре действует скидка 40% на все курсы от Proglib Academy, включая интенсив «Архитектуры и шаблоны проектирования»

📘 На интенсиве ты:

— разберёшься, как проектировать приложения, которые не ломаются при каждом изменении;
— освоишь SOLID-принципы, IoC, адаптеры и фабрики;
— научишься строить масштабируемые архитектуры;
— создашь собственную игру «Звёздные войны».

👨‍💻 Примеры кода на C#, Java, Python, PHP, C++ и JavaScript. Главное — понимать принципы, а не язык.

Преподаватель — Евгений Тюменцев, директор компании HWdTech, разрабатывал многопоточные кроссплатформенные приложения для IBM Watson.

📆 Формат: онлайн, 1 месяц.
📚 9 лекций + 2 бонусных занятия + практика.

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

👉 Переходи к курсам со скидкой 40%
😁1
🐕 Простой опенсорс-монитор статуса сервисов

WatchDoggo — Flask-приложение, которое мониторит статус сторонних сервисов и показывает их операционный статус в едином дашборде.

Почему стоит глянуть

• Скрипт запуска автоматически создаёт виртуальное окружение, ставит зависимости и запускает приложение. Три команды — и вы в деле:
git clone git@github.com:zyra-engineering-ltda/watch-doggo.git
cd watch-doggo && ./run.sh
# Dashboard на http://127.0.0.1:5000


• Поддержка нескольких адаптеров: StatusPage.io, пользовательский HTML и общие форматы API, плюс простой ping-адаптер.

• Конфиг — это просто JSON:
{
"refresh_interval": 300,
"timeout": 30,
"services": [
{
"name": "github",
"adapter": "statuspage_io",
"url": "https://www.githubstatus.com/api/v2/status.json",
"display_name": "GitHub",
"category": "infrastructure"
},
{
"name": "internal_api",
"adapter": "ping",
"url": "https://api.yourcompany.com/health",
"display_name": "Internal API",
"category": "backend"
}
]
}


➡️ Попробовать WatchDoggo

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32