GitLab CI · Grafana opsveyra.com

Від джоби в CI
до алерту в Grafana.

Налаштовуємо GitLab CI і GitHub Actions, Kubernetes і Terraform. Метрики збираємо в Grafana і Prometheus, логи — в ELK, алерти — в Alertmanager. У кожного сигналу є власник і наступна дія.

  • відповідь того ж дня
  • remote
  • UA / EU

Орієнтири, не чужі кейси

Планка, з якою звіряємо доставку. Це цілі для вашої системи, не цифри з чужого слайда.

4–12

релізів на день

частота, до якої зводимо доставку

< 30 хв

lead time

від мерджа до продакшена

хвилини

на відкат

попередня версія повертається без археології

1

власник на алерт

кожне сповіщення має людину і дію

Послуги

Що налаштовуємо

CI, кластер, інфра як код, і те, чим прод дивляться після деплоя: Grafana, ELK, алерти.

01

CI/CD

GitLab CI і GitHub Actions: стадії, джоби, артефакти, середовища.

Пайплайн зі стадіями

02

Kubernetes

Кластер, Helm, Argo CD. Деплой з гілки, не з локального kubectl.

GitOps на кластер

03

Terraform

Мережа, доступи й сервери в коді. Ansible там, де він доречний.

Інфра відтворюється з гіта

04

Grafana

Prometheus і дашборди: RPS, latency, помилки, насичення нод, SLI.

Метрики на одному екрані

05

ELK

Elasticsearch, Logstash або Fluent Bit, Kibana. Логи з полями, не з ssh.

Пошук по логах

06

Алертинг

Alertmanager: пороги, групи, тиша, маршрут у Slack або Telegram, on-call.

Алерт має власника

build test deploy monitor

Моніторинг

Grafana, ELK і алертинг

Деплой без картини прода — це наосліп. Збираємо метрики, логи і алерти так, щоб черговий бачив причину, а не стіну графіків.

Grafana · Prometheus

Дашборди

Експортери, запити PromQL, дошки під сервіс і під ноду. RED і USE на одному екрані: швидкість, помилки, насичення.

ELK

Логи

Elasticsearch тримає індекс, Logstash або Fluent Bit забирають логи, Kibana дає пошук. Поля сервісу, трейса і рівня — не простирадло з journalctl.

Alertmanager

Алерти

Поріг, група, тиша на вікно робіт, маршрут у Slack або Telegram. Сторінка лише коли є дія. Решта лишається на дашборді.

  • firing HighErrorRate · api
  • pending DiskSpaceLow · node
  • ok CertExpires · ingress

Підхід

Як проходить робота

Короткий розбір, далі зміни в репозиторії. Перший пайплайн з’являється раніше за місяць презентацій.

  1. 01

    Розбір

    Як зараз тече доставка і де вона треться. Коротко, по фактах із репозиторія і хмари.

  2. 02

    Карта

    Що чинимо першим і що свідомо відкладаємо. Пріоритет — те, що знімає страх релізу.

  3. 03

    Збірка

    Платформа з’являється в коді: пайплайн, середовища, спостереження, доступи.

  4. 04

    Передача

    Runbook-и, доступи, метрики. Команда веде систему сама або ми лишаємось на супроводі.

CI, метрики, логи, алерти

GitLab CIGitHub ActionsGrafana PrometheusAlertmanagerElasticsearch LogstashKibanaFluent BitLoki TempoKubernetesHelmArgo CD TerraformAnsible

Формати

Як заходимо в роботу

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

10 робочих днів

Аудит

Дивимось репозиторії, хмару, пайплайни й чергування. На виході — карта ризиків, швидкі перемоги і те, що чіпати не варто.

4–8 тижнів · основа

Платформа

Збираємо пайплайн, кластер і спостереження: GitLab CI або GitHub Actions, Terraform, Grafana, ELK, Alertmanager. Команда релізить тим самим шляхом, без автора системи поруч.

помісячно

Супровід

Лишаємось на змінах, оновленнях і інцидентах. Платформа не застигає за місяць після запуску.

Принципи

Правила, яких тримаємось

01 Усе, що змінює прод, лежить у гіті.
02 Секрет не має права жити в чаті.
03 Алерт або веде до дії, або його прибираємо.
04 Стейдж повторює прод. Інакше це декорація.

Питання

Перед стартом

З потоку доставки, який уже є: репозиторії, хмара, пайплайни, чергування. Інструмент обираємо після цього.

Так. AWS, GCP, DigitalOcean, GitHub, GitLab, Kubernetes — і те, що вже стоїть, якщо воно виправдане.

Так. На виході — карта ризиків, порядок робіт і список того, що команда закриє сама.

Віддалено. Часові пояси UA і EU. Чергування домовляємо під вікно продакшена.

Контакт

Розкажіть, де зараз треться доставка.

Короткий дзвінок, далі формат під реальний стан системи. Без довгого пресейлу.

  1. 01

    30 хвилин: дивимось, де болить доставка.

  2. 02

    Якщо є збіг за обсягом — називаємо формат.

  3. 03

    Старт із розбору репозиторія і хмари.

hello@opsveyra.com

Відкриється лист у вашій пошті. Або напишіть на hello@opsveyra.com