DevOps
23.5K subscribers
1.08K photos
137 videos
15 files
967 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://xn--r1a.website/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - jobs

РКН: clck.ru/3FmvZA

#VRHSZ
Download Telegram
🔥 Что на самом деле хотят услышать на DevOps собесе

На собеседованиях по DevOps очень любят спрашивать: "Как у вас устроен мониторинг в проекте?"

И многие отвечают слишком коротко:
Prometheus, Grafana, CloudWatch.

Ответ вроде правильный.
Но для сильного собеседования этого мало.

Интервьюеру обычно важно понять не просто названия инструментов, а всю цепочку:

- как собираются логи
- куда они попадают дальше
- как долго хранятся
- как собираются метрики
- как считается SLA
- и почему архитектура сделана именно так

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

Например, в enterprise-проекте на EKS мониторинг может выглядеть так:

Есть два типа нагрузок:
- микросервисы на Fargate
- stateful-приложение в StatefulSet

И подход к ним разный.

Для Fargate удобно использовать OpenTelemetry add-on.
Он автоматически собирает логи со всех Fargate-подов и отправляет их в CloudWatch. Это простой и удобный вариант, когда не хочется отдельно городить сбор логов внутри каждого сервиса.

Для StatefulSet чаще нужен более гибкий контроль.
Тут можно использовать Fluent Bit как sidecar-контейнер:
он читает логи из общего тома, фильтрует их, форматирует и отправляет в CloudWatch.

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

Дальше пайплайн может быть таким:

CloudWatch → Lambda для форматирования → Kinesis Firehose → OpenSearch

Зачем это нужно:

- Lambda может нормализовать и обогащать логи
- Firehose умеет батчить и стабильно доставлять данные
- OpenSearch удобен для поиска и анализа
- S3 подходит для долгого и дешёвого хранения

Пример хранения:
- 7 дней в OpenSearch
- 30 дней в CloudWatch
- полный архив в S3

С метриками история другая.

Обычно используют Prometheus, который ходит в /metrics каждого приложения, например каждые 30 секунд.

Чтобы Prometheus понимал, что именно скрейпить в Kubernetes, для сервисов настраивают ServiceMonitor.

Дальше Grafana показывает всё в дашбордах.

Хорошая практика - свести в Grafana сразу несколько источников:
- Prometheus для технических метрик
- CloudWatch для инфраструктуры и логов
- OpenSearch для поиска по событиям и ошибкам

Тогда в одном месте можно увидеть:
- CPU и memory
- latency и error rate
- логи по времени инцидента
- состояние сервиса по SLA

И вот тут начинается взрослая часть мониторинга.

SLA - это не абстрактная цифра на слайде.
Это конкретный лимит простоя.

Например, 99.1% uptime в месяц означает, что сервис может быть недоступен примерно 6.4 часа за месяц.

Если это вынесено в Grafana, то и команда, и бизнес видят состояние системы в реальном времени, а не узнают о проблеме постфактум.

Поэтому на собеседовании лучше рассказывать не просто набор инструментов, а целую историю:

не "у нас Prometheus и Grafana",
а "вот как у нас собираются логи, вот куда они идут, вот почему выбран именно такой маршрут, вот как мы храним данные, вот как считаем SLA и что видит бизнес".

Именно такой ответ звучит как опыт production-уровня.

https://uproger.com/samyj-populyarnyj-vopros-na-sobesedovaniyah-devops-kak-u-vas-ustroen-monitoring-v-proekte/
6👍1