DevOps | Вопросы собесов
5.2K subscribers
32 photos
824 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Тесты t.me/+2P7cpjeyfDVlZjcy
Вакансии t.me/+i5KFWEWJ21hhYWEy
Download Telegram
🤔 На каких технологиях базируется контейнеризация, Docker в том числе?

Контейнеризация базируется на технологиях виртуализации на уровне ОС, таких как cgroups и namespaces, предоставляемых ядром Linux. cgroups управляют ресурсами (CPU, память), а namespaces изолируют процессы. Docker также использует OverlayFS для управления файловыми системами контейнеров. Вместе эти технологии обеспечивают лёгкую изоляцию и портативность.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5
🤔 Какой прикручиваете мониторинг к своим приложениям чем мониторите?

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

🚩Prometheus

Это мощный инструмент для мониторинга и алертинга, который собирает метрики с приложений и систем. Prometheus использует язык запросов PromQL для анализа и генерации алертов.

🚩Установка и настройка Prometheus

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.ym


2⃣Конфигурация prometheus.yml
global:
scrape_interval: 15s

scrape_configs:
- job_name: 'my_application'
static_configs:
- targets: ['localhost:9090']


3⃣Экспортеры для сбора метрик
Node Exporter для системных метрик Приложения могут использовать библиотеки клиента для передачи метрик (например, prometheus_client для Python)

🚩Grafana

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

🚩Установка и настройка Grafana

1⃣Установка Grafana
wget https://dl.grafana.com/oss/release/grafana-7.4.3.linux-amd64.tar.gz
tar -zxvf grafana-7.4.3.linux-amd64.tar.gz
cd grafana-7.4.3/bin
./grafana-server


2⃣Добавление источника данных
В веб-интерфейсе Grafana добавьте Prometheus как источник данных.
Создайте дашборды и панели для визуализации метрик.

3⃣Alertmanager
Alertmanager управляет алертами, отправляемыми Prometheus, и позволяет настраивать правила алертинга и маршрутизации.

🚩Конфигурация Alertmanager

1⃣Конфигурация alertmanager.yml
global:
smtp_smarthost: 'smtp.example.com:587'
smtp_from: 'alertmanager@example.com'

route:
receiver: 'email-alert'

receivers:
- name: 'email-alert'
email_configs:
- to: 'team@example.com'


ELK Stack используется для сбора, анализа и визуализации логов.

🚩Основные компоненты

🟠Elasticsearch
Хранение и поиск логов.
🟠Logstash
Сбор, обработка и преобразование логов.

🚩Установка и настройка ELK Stack

1⃣Установка Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.11.2-linux-x86_64.tar.gz
cd elasticsearch-7.11.2
./bin/elasticsearch


2⃣Установка Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.11.2-linux-x86_64.tar.gz
tar -xzf logstash-7.11.2-linux-x86_64.tar.gz
cd logstash-7.11.2
./bin/logstash -f logstash.conf


3⃣Установка Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.11.2-linux-x86_64.tar.gz
tar -xzf kibana-7.11.2-linux-x86_64.tar.gz
cd kibana-7.11.2
./bin/kibana


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🤔 Что такое service monitor в Kubernetes?

ServiceMonitor — это объект в Kubernetes, используемый в связке с Prometheus для мониторинга сервисов. Он определяет, какие эндпоинты и метрики должны собираться Prometheus. Это часть системы мониторинга, которая позволяет автоматизировать сбор данных о состоянии сервисов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🤔 Какая файловая система бывает с динамическими 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


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41
🤔 Что такое squash в Docker?

squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍6
🤔 Что такое OOM?

OOM расшифровывается как "Out Of Memory" (недостаток памяти). Это состояние, при котором система или процесс исчерпывает все доступные ресурсы памяти, что приводит к невозможности выделения дополнительной памяти для выполнения текущих задач или запуска новых процессов.

🚩Почему возникает

🟠Неэффективное управление памятью
Приложение может не освобождать память после использования (утечки памяти), что со временем приводит к её исчерпанию.

🟠Недостаток ресурсов
На устройстве или сервере физически недостаточно оперативной памяти для поддержки всех запущенных процессов.

🟠Пиковые нагрузки
Внезапное увеличение нагрузки на систему, требующее больше памяти, чем обычно.

🚩Как используется

1⃣Уведомление процессов
Некоторые ОС уведомляют процессы о нехватке памяти, чтобы они могли освободить часть ресурсов.
2⃣Прекращение процессов
В крайнем случае ОС может принудительно завершить процессы для освобождения памяти. В Linux, например, существует OOM Killer, который завершает наиболее "прожорливые" процессы.
3⃣Журналирование
Запись в журнал, чтобы администраторы могли позже проанализировать и устранить причину проблемы.

data = []
while True:
data.append(' ' * 10**6) # Добавляем строки по 1 МБ в список бесконечно


🚩Как предотвратить

🟠Мониторинг
Постоянно отслеживайте использование памяти вашими приложениями и системами.
🟠Оптимизация кода
Пишите код, который эффективно использует и освобождает память.
🟠Настройка лимитов
Устанавливайте ограничения на использование памяти для процессов.
🟠Масштабирование ресурсов
При необходимости увеличивайте объем доступной памяти или используйте распределенные системы.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🤔 Что даёт load balancer?

Load Balancer распределяет входящий трафик между несколькими серверами или контейнерами, обеспечивая высокую доступность и отказоустойчивость. Он также помогает избежать перегрузки отдельных узлов и улучшает производительность системы.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
🤔 Сколько времени храните логи по мониторингу?

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

🚩Факторы

🟠Требования бизнеса
Для анализа и отчетности могут требоваться логи за длительные периоды. Для отладки и решения инцидентов могут быть достаточно короткие периоды хранения.
🟠Нормативные требования
В некоторых отраслях существуют законодательные требования к срокам хранения данных (например, финансовый сектор или здравоохранение).
🟠Технические ограничения
Доступное дисковое пространство и производительность системы могут ограничивать срок хранения логов.
🟠Тип логов
Разные типы логов могут иметь разные сроки хранения. Например, критические системные логи могут храниться дольше, чем логи отладки.

🚩Практические рекомендации

🟠Краткосрочное хранение
Хранение логов за последние 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
}


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
🤔 Что такое firewall?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥1
🤔 От чего зависит время хранения метрик?

Зависит от нескольких ключевых факторов, включая требования бизнеса, технические ограничения, нормативные требования и тип метрик.

🚩Основные факторы

🟠Требования бизнеса
Анализ производительности: Для анализа производительности системы за длительные периоды может потребоваться хранение метрик за несколько месяцев или лет. Исторические данные: В некоторых случаях необходимо хранить исторические данные для сравнения и анализа долгосрочных тенденций.

🟠Технические ограничения
Дисковое пространство: Доступное дисковое пространство напрямую влияет на количество данных, которые можно хранить. Производительность системы: Увеличение объема данных может снижать производительность системы мониторинга.

🟠Нормативные требования
Соблюдение законов и регламентов: В некоторых отраслях существуют требования к хранению данных, включая метрики, за определенные периоды.

🟠Тип метрик
Критические метрики: Метрики, важные для безопасности и стабильности системы, могут храниться дольше. Метрики производительности: Метрики производительности могут храниться короткий период для оперативного анализа и устранения проблем.

🚩Практические рекомендации

🟠Краткосрочное хранение
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   


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
🤔 Когда ты разворачиваешь стандартный кластер Kubernetes, что делает твой namespace?

При развёртывании кластера создаются стандартные namespaces: default для объектов по умолчанию, kube-system для компонентов Kubernetes, kube-public для общедоступных ресурсов и kube-node-lease для управления состоянием узлов. Они помогают разделить ресурсы и организовать кластер.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7
🤔 Какие золотые принципы мониторинга вы используете ваши лучшие практики?

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

🟠Проактивный мониторинг
Настройка алертинга для проактивного выявления проблем до их воздействия на пользователей. Использование пороговых значений и трендов для настройки алертов. Регулярная проверка и обновление алертов на основе опыта и изменяющихся условий.

🟠Централизованный сбор данных
Консолидация логов, метрик и событий в одной системе для удобного анализа. Использование инструментов, таких как 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 для мониторинга развертываний и выпуска новых версий.

🟠Регулярный аудит и улучшение
Регулярная оценка и улучшение системы мониторинга. Проведение регулярных аудитов конфигураций и эффективности мониторинга. Внедрение новых инструментов и методов на основе обратной связи и новых технологий.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
🤔 Как покрываете Ansible тестами?

Для тестирования Ansible используют инструменты, такие как Molecule, который позволяет создавать тестовые сценарии, запускать плейбуки и проверять их результаты. Также используются статические анализаторы, такие как ansible-lint, для проверки кода на соответствие стандартам. Кроме того, можно применять интеграционные тесты с помощью Docker или виртуальных машин.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥52
🤔 Как настроите уведомления для сервисов от чего это будет зависеть?

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

🚩Основные факторы

🟠Критичность сервиса
Критически важные сервисы требуют более быстрых и агрессивных уведомлений. Менее важные сервисы могут иметь менее строгие правила уведомлений.

🟠Тип метрик
Производственные метрики: 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" и создайте пользователей. Настройте медиатипы для каждого пользователя и укажите, когда и как отправлять уведомления.

Ставь 👍 и забирай 📚 Базу знани
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🤔 Что такое мониторинг, какие инструменты можно использовать?

Мониторинг — это процесс наблюдения за состоянием инфраструктуры и приложений для обеспечения их работоспособности и своевременного реагирования на сбои. Система мониторинга собирает метрики, логи и события для анализа и визуализации. Для мониторинга можно использовать инструменты, такие как Prometheus для сбора метрик, Grafana для визуализации, и ELK stack для логирования. Эти инструменты помогают отслеживать производительность и стабильность системы, а также выявлять аномалии в работе.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
🤔 Как бы вы настроили уведомления для сервисов которые находятся без интернета полностью локализованы закрыты от всего извне?

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

🚩Локальный почтовый сервер (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


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🤔 Что такое squash в Docker?

squash — это процесс объединения всех слоёв Docker-образа в один. Это уменьшает количество слоёв, упрощает образ и может ускорить развертывание. Однако использование squash делает процесс сборки менее гибким из-за потери промежуточных слоёв.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
🤔 Как обеспечить достоверность уведомлений которые вы получаете?

Для того чтобы уведомления были достоверными и надежными, необходимо учитывать несколько важных аспектов.

🟠Тщательная настройка правил алертинга
Правильно настроенные правила алертинга помогают избежать ложных срабатываний и пропусков важных событий.Определите четкие пороговые значения для метрик. Настройте правила так, чтобы они учитывали контекст и временные интервалы (например, CPU usage > 80% в течение 5 минут). Используйте тренды и аномалии вместо статических порогов для более точного алертинга.

🟠Корреляция событий
Объединение нескольких метрик и событий для повышения точности алертов. Настройте алерты, которые срабатывают только при наличии нескольких условий. Используйте системы, такие как Prometheus и Alertmanager, для сложной логики алертинга.

🟠Визуализация и проверка метрик
Использование дашбордов и графиков для визуализации метрик и проверки правильности алертов. Настройте дашборды в Grafana или Kibana для постоянного мониторинга метрик. Регулярно проверяйте данные на предмет аномалий и соответствия реальной картине.

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

🟠Настройка систем уведомлений
Убедитесь, что системы уведомлений настроены правильно и доставляют сообщения своевременно. Используйте надежные каналы уведомлений (например, локальный почтовый сервер, локальные мессенджеры). Настройте резервные каналы уведомлений на случай отказа основного канала.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Что такое firewall?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Как linux выбирает, какой из процессов завершить?

Она использует механизм, известный как OOM Killer (убийца процессов при нехватке памяти), для завершения процессов с целью освобождения памяти. Выбор процесса для завершения базируется на ряде критериев, чтобы минимизировать влияние на работу системы.

🚩Как работает OOM Killer?

🟠Очки OOM (OOM Score)
Каждому процессу присваиваются очки OOM, которые рассчитываются на основе нескольких факторов, таких как: Объем памяти, используемой процессом. Приоритет процесса. Важность процесса для системы (например, системные демоны имеют более низкие очки).

🟠Формула расчета OOM Score
Основной фактор при расчете очков - это объем потребляемой процессом памяти. Чем больше памяти потребляет процесс, тем выше его OOM Score. Операционная система также учитывает приоритет процесса (nice value) и некоторые другие параметры.

🟠Принудительное завершение
Процесс с наибольшим OOM Score считается наименее критичным для системы и завершается первым.

🚩Пример расчета OOM Score

🟠Вот пример того, как может быть рассчитан OOM Score (упрощенный)
Процесс A использует 1 ГБ памяти.
Процесс B использует 2 ГБ памяти.
Процесс C использует 500 МБ памяти, но это критический системный процесс.
🟠OOM Score для этих процессов может выглядеть так
Процесс A: 300
Процесс B: 600
Процесс C: 100 (низкий, так как процесс критический)

🚩Настройка OOM Killer

Администраторы могут влиять на работу OOM Killer, настраивая параметры OOM Score для конкретных процессов с помощью файлов в каталоге /proc. Например, для изменения приоритета процесса:
echo -1000 > /proc/<PID>/oom_score_adj


🚩Логирование и мониторинг

При срабатывании OOM Killer соответствующие сообщения записываются в системный журнал (обычно /var/log/syslog или /var/log/messages), что позволяет администраторам анализировать причины и предпринимать меры по предотвращению в будущем.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8