Архів теґу: monitoring

Prometheus: GitHub Exporter – пишемо власний експортер для GitHub API
0 (0)

1 Червня 2023

Прийшла досить цікава задачка – побудувати в Grafana дашборду, в якій би відображався статус процессу розробки, а саме – перформанс, тобто ефективність наших DevOps-процесів. Потрібно це тому, что ми намагаємось побудувати “true continuous deployment”, щоб код автоматично потрапляв у Production, і нам важливо бачити як саме проходить процес розробки. Загалом для оцінки ефективності процессу розробки… Читати далі »

Loading

Loki: збір логів з CloudWatch Logs з використанням Lambda Promtail
0 (0)

20 Травня 2023

Збирати логи у Grafana Loki з Kubernetes дуже просто – запускаємо Promtail у DaemonSet, йому вказуємо читати всі дані з /var/logs – і готово (насправді взагалі нічого не вказуємо – з Helm-чарту все працює з коробки). А от як бути з CloudWatch Logs? На новому проекті маємо купу AWS Lambda, API Gateways і т.д, і… Читати далі »

Loading

Kubernetes: вертикальний скейлінг подів з Vertical Pod Autoscaler
0 (0)

29 Квітня 2023

Окрім Horizontal Pod Autoscaler (HPA), який створює додаткові поди якщо наявні починають використовувати більше CPU/Memory, ніж налаштовано у лімітах HPA, існує і Vertical Pod Autoscaler (VPA), який працює за іншою схемою: замість горизонтального масштабування, тобто збільшення кількості подів, він змінює resources.requests поду, що призводить до того, что Kubernetes Scheduler “переселяє” цей под на іншу WorkerNode,… Читати далі »

Loading

Prometheus: запуск Pushgateway у Kubernetes з Helm та Terraform
0 (0)

28 Квітня 2023

Маємо на проекті багато AWS Lambda функцій, з яких девелопери хочуть мати можливість відправляти метрики до нашого Prometheus, щоб додати власних алертів та графіків у Grafana. Для цього у функціях використовується бібліотека Prometheus, яка дозволяє ці метрики створювати (див. Prometheus: створення Custom Prometheus Exporter на Python), але ж ми не маємо змоги нормально отримати ці… Читати далі »

Loading

GitLab: gitlab-shell timeouts та /metrics Connection refused
0 (0)

21 Березня 2023

Запустились ми в production, і вилізла дуже неприємна бага – при git операціях clone/pull/push запит іноді зависав на 1-2 хвилини. Виглядало це як якась “плавуюча” бага, тобто 5 раз могло склонити нормально, а потім раз зависає. Проблеми gitlab-shell timeouts Наприклад – раз нормально: [simterm] $ time git clone [email protected]:example/platform/tables-api.git Cloning into ‘tables-api’… … real 0m1.380s… Читати далі »

Loading

GitLab: моніторинг – Prometheus, метрики, та Grafana dashboard
0 (0)

11 Березня 2023

Отже, продовжуємо нашу подорож з міграцією GitLab до себе в Kubernetes. Див. попередні частини: GitLab: компоненти, архітектура, інфраструктура та запуск з Helm-чарту в Minikube GitLab: Helm-чарт values, залежності та деплой у Kubernetes з AWS S3 GitLab: міграція даних з GitLab cloud та процес backup-restore у self-hosted версії в Kubernetes В цілому – все працює, і… Читати далі »

Loading

Prometheus: створення Custom Prometheus Exporter на Python
0 (0)

18 Лютого 2023

У Прометеуса є багато готових до використання експортерів, але інколи може з’явитися потреба у зборі своїх власних метрик. Для цього Прометеус надає клієнтські бібліотеки, які можемо використати для генерації метрик з потрібними лейблами. Експортер можна включити прямо в код вашого додатку, або можна запускати окремим сервісом, який буде звертатися до якогось вашого сервісу і отримувати… Читати далі »

Loading

Kubernetes: моніторинг вартості кластеру – Kubernetes Resource Report та Kubecost
0 (0)

23 Січня 2023

Дуже правильне діло – моніторити, наскільки ефективно використовується кластер, особливо, якщо ресурси деплояться розробниками, які не сильно вникають у requests, і встановлюють завищені значення “про запас”. Запас, звичайно, потрібен, але й просто так реквестити ресурси ідеї погана. Наприклад, у вас є WorkerNode з 4 vCPU (4000 milicpu) та 16 ГБ оперативної пам’яті, і ви створюєте… Читати далі »

Loading

Grafana Loki: можливості LogQL для роботи з логами та створення метрик для алертів
0 (0)

30 Грудня 2022

Добре – Loki запускати навчились – Grafana Loki: архітектура та запуск в Kubernetes з AWS S3 storage та boltdb-shipper, як налаштовувати алерти теж розібрались – Grafana Loki: алерти з Ruler та labels з логів. Тепер час розібратися з тим, що взагалі ми можемо робити в Loki використовуючи її LogQL. Підготовка Далі для прикладів будемо використовувати два… Читати далі »

Loading

Grafana Loki: алерти з Ruler та labels з логів
0 (0)

28 Грудня 2022

Загальну інформацію по Grafana Loki див. у Grafana Loki: архітектура та запуск в Kubernetes з AWS S3 storage та boltdb-shipper. Серед інших сервісів, які складають собою Loki, є окремий сервіс ruler, який відповідає за роботу з алертами, які можно генерити прямо з логів. Ідея дуже проста: створюємо файл з алертами в  Prometheus-like форматі підключаємо його… Читати далі »

Loading