DevOps | Вопросы собесов
رفتن به کانال در Telegram
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
نمایش بیشتر5 502
مشترکین
-324 ساعت
-107 روز
-530 روز
آرشیو پست ها
🤔 Что такое squash в Docker?
squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
«Патрики» – новый жилой район бизнес класса в Краснодаре
«Патрики» – новый неисторический центр Краснодара. Он воплощает ключевые представления об идеальном месте:
- Детские сады и школа на территории
- Брендовые рестораны и бутики в шаговой доступности
- Закрытый охраняемый двор
- Гранд-аллея с арт-объектами
- Современные фитнес-центр премиум класса
- Зоны отдыха для детей и взрослых
- Подземная парковка
- 5 прогулочных бульваров и аллей
Эстетика и комфорт начинается до того, как вы переступили порог своего дома. Вход расположен на уровне тротуара, здесь нет ступеней и пандусов. Чтобы войти, не надо искать ключи в сумке, ведь дверь открывается по Face ID.
Патрики — это место, где каждый реализует свой жизненный потенциал.
Получить предложение
#реклама
promo.tochno-patriki.ru
О рекламодателе
🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне?
Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами.
🚩Локальный почтовый сервер (SMTP)
1⃣Установка
sudo apt update
sudo apt install postfix
2⃣Настройка
Отредактируйте /etc/postfix/main.cf
myhostname = local.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination
3⃣Перезапуск Postfix
sudo systemctl restart postfix
4⃣Проверка
echo "Test email" | mail -s "Test Subject" user@example.com
🚩Локальный мессенджер (Mattermost)
1⃣Установка Mattermost
Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html).
2⃣Настройка
Создайте каналы и пользователей.
3⃣Интеграция с мониторингом
Используйте веб-хуки Mattermost для уведомлений.
🚩Системы управления инцидентами (Zabbix)
1⃣Установка Zabbix
Следуйте [документации](https://www.zabbix.com/download).
2⃣Настройка
Настройте хосты, триггеры и действия.
3⃣Настройка уведомлений
Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления.
🚩Локальный стек мониторинга (Prometheus, Alertmanager)
1⃣Установка Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
tar xvf prometheus-2.26.0.linux-amd64.tar.gz
cd prometheus-2.26.0.linux-amd64
./prometheus --config.file=prometheus.yml
2⃣Установка Alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
./alertmanager --config.file=alertmanager.yml
3⃣Настройка алертинга в Prometheus
groups:
- name: example-alerts
rules:
- alert: HighCPUUsage
expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
for: 2m
labels:
severity: critical
annotations:
summary: "High CPU usage detected"
description: "CPU usage is above 80% for more than 2 minutes"
4⃣Настройка Alertmanager
global:
smtp_smarthost: 'localhost:25'
smtp_from: 'alertmanager@local.example.com'
route:
receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
email_configs:
- to: 'admin@local.example.com'
send_resolved: true
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое мониторинг, какие инструменты можно использовать?
Мониторинг — это процесс наблюдения за состоянием инфраструктуры и приложений для обеспечения их работоспособности и своевременного реагирования на сбои. Система мониторинга собирает метрики, логи и события для анализа и визуализации. Для мониторинга можно использовать инструменты, такие как Prometheus для сбора метрик, Grafana для визуализации, и ELK stack для логирования. Эти инструменты помогают отслеживать производительность и стабильность системы, а также выявлять аномалии в работе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как настроите уведомления для сервисов от чего это будет зависеть?
Является важной частью мониторинга и управления инфраструктурой. Уведомления позволяют оперативно реагировать на проблемы и минимизировать время простоя. Настройка уведомлений зависит от нескольких факторов, таких как критичность сервиса, тип метрик, предпочитаемые каналы уведомлений и инструменты мониторинга.
🚩Основные факторы
🟠Критичность сервиса
Критически важные сервисы требуют более быстрых и агрессивных уведомлений. Менее важные сервисы могут иметь менее строгие правила уведомлений.
🟠Тип метрик
Производственные метрики: CPU, память, диск, сеть. Метрики приложений: время отклика, количество ошибок, производительность. Пользовательский опыт: время загрузки страницы, количество успешных транзакций.
🟠Каналы уведомлений
Email
SMS
Мессенджеры (Slack, Microsoft Teams)
Системы управления инцидентами (PagerDuty, OpsGenie)
🟠Инструменты мониторинга
Prometheus + Alertmanager
Grafana
Zabbix
🚩Пример настройки уведомлений с использованием Prometheus и Alertmanager
1⃣Настройка правил алертинга в Prometheus
Создайте или отредактируйте файл
alerts.yml
groups:
- name: example-alerts
rules:
- alert: HighCPUUsage
expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
for: 2m
labels:
severity: critical
annotations:
summary: "High CPU usage detected"
description: "CPU usage is above 80% for more than 2 minutes"
Добавьте конфигурацию в prometheus.yml
rule_files:
- "alerts.yml"
2⃣Настройка Alertmanager
Создайте или отредактируйте файл alertmanager.yml
global:
smtp_smarthost: 'smtp.example.com:587'
smtp_from: 'alertmanager@example.com'
route:
receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
email_configs:
- to: 'team@example.com'
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'instance']
Запустите Alertmanager
./alertmanager --config.file=alertmanager.yml
3⃣Интеграция Alertmanager с Prometheus
Добавьте Alertmanager в конфигурацию Prometheus
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']
🚩Пример настройки уведомлений в Grafana
🟠Создание контактной точки (Contact Point)
Перейдите в раздел "Alerting" -> "Contact points" и создайте новую контактную точку. Укажите каналы уведомлений, такие как Email, Slack, PagerDuty и другие.
🟠Создание правила уведомлений (Notification Policy)
Перейдите в раздел "Alerting" -> "Notification policies" и создайте новую политику уведомлений. Настройте условия и укажите контактные точки.
🚩Пример настройки уведомлений в Zabbix
🟠Создание медиатипа (Media Type)
Перейдите в раздел "Administration" -> "Media types" и создайте новый медиатип (например, Email или SMS).
🟠Создание пользователей и настройка уведомлений
Перейдите в раздел "Administration" -> "Users" и создайте пользователей. Настройте медиатипы для каждого пользователя и укажите, когда и как отправлять уведомления.
Ставь 👍 и забирай 📚 Базу знани🤔 Как покрываете Ansible тестами?
Для тестирования Ansible используют инструменты, такие как Molecule, который позволяет создавать тестовые сценарии, запускать плейбуки и проверять их результаты. Также используются статические анализаторы, такие как ansible-lint, для проверки кода на соответствие стандартам. Кроме того, можно применять интеграционные тесты с помощью Docker или виртуальных машин.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+3
Сотрудники отдыхают — бизнес работает!
✨ Новый год — время отдыха, но ваш бизнес не должен останавливаться! Как обеспечить круглосуточную поддержку клиентов без лишних затрат?
У MANGO OFFICE есть решение для бизнеса:
Пусть в Новый год работают роботы!
В режиме 24/7 они обрабатывают запросы ваших клиентов по многоканальной связи до 100 звонков одновременно
✅ примут заявки от клиентов
✅ проконсультируют по товарам
✅ уведомят о статусе заказа
А главное, роботы и чат-боты MANGO OFFICE обойдутся дешевле, чем переработки ваших сотрудников 💰
Узнайте больше по ссылке ниже
Перейти на сайт
#реклама 16+
mango-office.ru
О рекламодателе
🤔 Какие золотые принципы мониторинга вы используете ваши лучшие практики?
Эффективный мониторинг является критически важным для поддержания стабильности, производительности и безопасности систем.
🟠Проактивный мониторинг
Настройка алертинга для проактивного выявления проблем до их воздействия на пользователей. Использование пороговых значений и трендов для настройки алертов. Регулярная проверка и обновление алертов на основе опыта и изменяющихся условий.
🟠Централизованный сбор данных
Консолидация логов, метрик и событий в одной системе для удобного анализа. Использование инструментов, таких как ELK Stack, Prometheus, и Grafana для сбора и анализа данных. Централизация данных для упрощения корреляции и анализа.
🟠Покрытие всех уровней системы
Мониторинг всех уровней системы: инфраструктуры, приложений, сетей и пользовательского опыта. Инструменты мониторинга инфраструктуры: Prometheus, Nagios. Мониторинг приложений: APM (Application Performance Monitoring) инструменты, такие как New Relic, Datadog. Мониторинг пользовательского опыта: Real User Monitoring (RUM) и Synthetic Monitoring.
🟠Метрики производительности и доступности
Отслеживание ключевых метрик производительности и доступности. CPU, память, диск, сеть: сбор и анализ системных метрик. Время отклика и количество ошибок: метрики приложений. Среднее время безотказной работы (MTTF) и среднее время восстановления (MTTR).
🟠Анализ и визуализация данных
Создание информативных и понятных дашбордов для анализа данных. Использование Grafana для визуализации метрик и создания дашбордов. Настройка дашбордов для различных аудиторий: разработчики, операционные команды, менеджмент.
🟠Аутентификация и авторизация
Обеспечение безопасности данных мониторинга через аутентификацию и авторизацию. Настройка ролевой модели доступа к данным мониторинга. Использование защищенных каналов связи (TLS/SSL).
🟠Документация и обучение
Поддержка актуальной документации по настройкам мониторинга и обучение команды. Документация конфигураций, схем и процессов мониторинга. Регулярное обучение команды по инструментам и методам мониторинга.
🟠Автоматизация и интеграция
Использование автоматизации для настройки и поддержания мониторинга. Автоматизация развертывания агентов мониторинга с помощью Ansible, Terraform и других инструментов. Интеграция с CI/CD для мониторинга развертываний и выпуска новых версий.
🟠Регулярный аудит и улучшение
Регулярная оценка и улучшение системы мониторинга. Проведение регулярных аудитов конфигураций и эффективности мониторинга. Внедрение новых инструментов и методов на основе обратной связи и новых технологий.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Когда ты разворачиваешь стандартный кластер Kubernetes, что делает твой namespace?
При развёртывании кластера создаются стандартные namespaces: default для объектов по умолчанию, kube-system для компонентов Kubernetes, kube-public для общедоступных ресурсов и kube-node-lease для управления состоянием узлов. Они помогают разделить ресурсы и организовать кластер.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 От чего зависит время хранения метрик?
Зависит от нескольких ключевых факторов, включая требования бизнеса, технические ограничения, нормативные требования и тип метрик.
🚩Основные факторы
🟠Требования бизнеса
Анализ производительности: Для анализа производительности системы за длительные периоды может потребоваться хранение метрик за несколько месяцев или лет. Исторические данные: В некоторых случаях необходимо хранить исторические данные для сравнения и анализа долгосрочных тенденций.
🟠Технические ограничения
Дисковое пространство: Доступное дисковое пространство напрямую влияет на количество данных, которые можно хранить. Производительность системы: Увеличение объема данных может снижать производительность системы мониторинга.
🟠Нормативные требования
Соблюдение законов и регламентов: В некоторых отраслях существуют требования к хранению данных, включая метрики, за определенные периоды.
🟠Тип метрик
Критические метрики: Метрики, важные для безопасности и стабильности системы, могут храниться дольше. Метрики производительности: Метрики производительности могут храниться короткий период для оперативного анализа и устранения проблем.
🚩Практические рекомендации
🟠Краткосрочное хранение
1-2 месяца: Для оперативного мониторинга и анализа текущих событий и инцидентов.
🟠Среднесрочное хранение
3-6 месяцев: Для анализа тенденций и выявления закономерностей.
🟠Долгосрочное хранение
1-2 года: Для соответствия нормативным требованиям и долгосрочного анализа производительности.
🚩Примеры настройки сроков хранения метрик
🟠Prometheus (Retention Policy)
Позволяет настроить срок хранения данных с помощью параметра
--storage.tsdb.retention.time.
Настройка срока хранения метрик
prometheus --storage.tsdb.retention.time=90d
🟠InfluxDB (Retention Policy)
Позволяет управлять временем хранения данных с помощью политики хранения (Retention Policy).
1⃣Создание политики хранения
CREATE RETENTION POLICY "three_months" ON "mydb" DURATION 90d REPLICATION 1 DEFAULT
2⃣Применение политики хранения
ALTER RETENTION POLICY "three_months" ON "mydb" DURATION 90d REPLICATION 1
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое firewall?
Firewall — это сетевой фильтр, который контролирует входящий и исходящий трафик на основе заданных правил безопасности. Он используется для защиты систем от несанкционированного доступа и обеспечения фильтрации вредоносного трафика.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Сколько времени храните логи по мониторингу?
Зависит от нескольких факторов, включая требования бизнеса, нормативные требования и технические ограничения. Обычно логи по мониторингу хранятся от нескольких недель до нескольких лет.
🚩Факторы
🟠Требования бизнеса
Для анализа и отчетности могут требоваться логи за длительные периоды. Для отладки и решения инцидентов могут быть достаточно короткие периоды хранения.
🟠Нормативные требования
В некоторых отраслях существуют законодательные требования к срокам хранения данных (например, финансовый сектор или здравоохранение).
🟠Технические ограничения
Доступное дисковое пространство и производительность системы могут ограничивать срок хранения логов.
🟠Тип логов
Разные типы логов могут иметь разные сроки хранения. Например, критические системные логи могут храниться дольше, чем логи отладки.
🚩Практические рекомендации
🟠Краткосрочное хранение
Хранение логов за последние 7-30 дней для оперативного мониторинга и анализа.
🟠Среднесрочное хранение
Хранение логов за последние 3-6 месяцев для анализа тенденций и расследования инцидентов.
🟠Долгосрочное хранение
Хранение логов за последние 1-2 года для соответствия нормативным требованиям и долгосрочного анализа.
🚩Примеры настройки сроков хранения логов
🟠Elasticsearch (ILM - Index Lifecycle Management)
ILM позволяет управлять жизненным циклом индексов, автоматически перемещая данные между горячими, теплыми и холодными индексами и удаляя старые данные.
1⃣Создание политики ILM
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_age": "30d",
"max_size": "50gb"
}
}
},
"warm": {
"min_age": "30d",
"actions": {
"shrink": {
"number_of_shards": 1
},
"set_priority": {
"priority": 50
}
}
},
"cold": {
"min_age": "90d",
"actions": {
"freeze": {},
"set_priority": {
"priority": 0
}
}
},
"delete": {
"min_age": "180d",
"actions": {
"delete": {}
}
}
}
}
}
2⃣Применение политики к индексу
PUT /myapp-logs/_settings
{
"index.lifecycle.name": "my_policy"
}
🟠Logrotate
Используется для управления файлами логов и их архивирования.
1⃣Конфигурация logrotate
Создайте файл конфигурации /etc/logrotate.d/myapp
/var/log/myapp/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 0640 myuser mygroup
sharedscripts
postrotate
/usr/bin/systemctl reload myapp.service > /dev/null
endscript
}
Ставь 👍 и забирай 📚 Базу знаний🤔 Что даёт load balancer?
Load Balancer распределяет входящий трафик между несколькими серверами или контейнерами, обеспечивая высокую доступность и отказоустойчивость. Он также помогает избежать перегрузки отдельных узлов и улучшает производительность системы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое OOM?
OOM расшифровывается как "Out Of Memory" (недостаток памяти). Это состояние, при котором система или процесс исчерпывает все доступные ресурсы памяти, что приводит к невозможности выделения дополнительной памяти для выполнения текущих задач или запуска новых процессов.
🚩Почему возникает
🟠Неэффективное управление памятью
Приложение может не освобождать память после использования (утечки памяти), что со временем приводит к её исчерпанию.
🟠Недостаток ресурсов
На устройстве или сервере физически недостаточно оперативной памяти для поддержки всех запущенных процессов.
🟠Пиковые нагрузки
Внезапное увеличение нагрузки на систему, требующее больше памяти, чем обычно.
🚩Как используется
1⃣Уведомление процессов
Некоторые ОС уведомляют процессы о нехватке памяти, чтобы они могли освободить часть ресурсов.
2⃣Прекращение процессов
В крайнем случае ОС может принудительно завершить процессы для освобождения памяти. В Linux, например, существует OOM Killer, который завершает наиболее "прожорливые" процессы.
3⃣Журналирование
Запись в журнал, чтобы администраторы могли позже проанализировать и устранить причину проблемы.
data = []
while True:
data.append(' ' * 10**6) # Добавляем строки по 1 МБ в список бесконечно
🚩Как предотвратить
🟠Мониторинг
Постоянно отслеживайте использование памяти вашими приложениями и системами.
🟠Оптимизация кода
Пишите код, который эффективно использует и освобождает память.
🟠Настройка лимитов
Устанавливайте ограничения на использование памяти для процессов.
🟠Масштабирование ресурсов
При необходимости увеличивайте объем доступной памяти или используйте распределенные системы.
Ставь 👍 и забирай 📚 Базу знаний⁉️ Хотите понять, как Kubernetes управляет контейнерами?
🔥Узнайте всё о его ключевых компонентах: Control Plane, Worker Nodes, Pods, Namespaces. На открытом вебинаре мы разберём архитектуру Kubernetes и покажем, как настроить систему для масштабирования и отказоустойчивости.
📗Этот урок — ваш первый шаг к созданию инфраструктурной платформы. После вебинара вы поймёте, как управлять контейнерами, их взаимодействием и хранением данных.
🔗Регистрируйтесь на вебинар 17 декабря в 20:00 мск. Участники получат скидку 🎁 на обучение на курсе «Инфраструктурная платформа на основе Kubernetes»: https://otus.pw/aY3z/?erid=LjN8K8RnL
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца
🎄 Старт: 16 декабря
Программа курса:
- Контейнеризация и оркестрация: Docker и Kubernetes
- Основы Linux и Git
- Принципы работы с инфраструктурой, контейнерами, CI/CD
- Методы статического анализа для оценки безопасности кода
- Компьютерные сети, базы данных и Bash-скрипты
Кому подойдет этот курс?
- Новичкам: для старта карьеры в команде продуктовой разработки
- Разработчикам: для автоматизации и оптимизации процессов
- Руководителям проектов: для повышения эффективности своей команды
@Codeby_Academy
Узнать подробнее о курсе
🤔 Что такое squash в Docker?
squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какая файловая система бывает с динамическими inode?
Это файловая система, которая может увеличивать количество inode по мере необходимости, вместо того чтобы фиксировать их количество при создании. Такой подход позволяет более эффективно использовать дисковое пространство и избегать ситуаций, когда inode заканчиваются, хотя на диске еще достаточно свободного места.
🚩XFS
🟠Динамическое управление inode
XFS не фиксирует количество inode при создании файловой системы. Inode выделяются по мере необходимости из свободного дискового пространства, что позволяет более гибко и эффективно использовать ресурсы.
🟠Высокая производительность
XFS разработана для высокопроизводительных операций ввода-вывода и хорошо подходит для больших файлов и файловых систем.
🟠Журналирование
XFS использует журналирование для повышения надежности и быстрого восстановления после сбоев.
🟠Поддержка больших файлов и файловых систем
XFS может управлять очень большими файлами и файловыми системами (до нескольких петабайт).
🟠Дефрагментация и оптимизация
Встроенные средства для дефрагментации и оптимизации файловой системы позволяют поддерживать высокую производительность.
🟠Пример создания XFS файловой системы
Для создания файловой системы XFS на разделе
/dev/sdX1, можно использовать команду mkfs.xfs
mkfs.xfs /dev/sdX1
🟠Пример монтирования XFS файловой системы
После создания файловой системы ее можно смонтировать
mount /dev/sdX1 /mnt/myxfs
Ставь 👍 и забирай 📚 Базу знаний– Помощь с pet-проектом
– Составление roadmap
– Общая консультация
– Проведение код-ревью и mock-собеседования
– Помощь с трудоустройством
Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT.
🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
