notes_devops_engineer
207 subscribers
17 photos
1 file
96 links
Записки DevOps инженера
Download Telegram
Forwarded from Мониторим ИТ
This media is not supported in your browser
VIEW IN TELEGRAM
cardamon

Да, интересные названия придумывают для открытых решений. В этом случае, возможно, имелась в виду секретная приправа, которой так не хватало Prometheus.

Это аудитор метрик для Prometheus. Он выявляет метрики, которые существуют в TSDB, но никогда не запрашиваются дашбордами, алерт рулами или просто пользователями. Здесь же вы можете сгенерировать правила удаления метрик Prometheus и снизить утилизацию хранилища.

Репыч на Гитхаб

📱 Telegram | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Карта направлений в SRE — три ветви, 20 компетенций верхнего уровня, листья с конкретными умениями, материалами и best practices.
https://jtprogru.github.io/The-Way-of-SRE/
DevOps: GitLab 18 ломает Terraform пайплайны! Перед обновлением удалите из .gitlab-ci.yml старый шаблон - template: Terraform/Base.gitlab-ci.yml, иначе сборки упадут с ошибкой Included file... is empty or does not exist!. Пишите свой GitLab CI или переходите на OpenTofu, заменив строку на - template: OpenTofu/Base.latest.gitlab-ci.yml.
Исследователи из Codex обнаружили уязвимость «HTTP/2 Bomb» (CVE-2026-49975), позволяющую вывести из строя веб-серверы, такие как nginx, Apache и IIS, с помощью специально сформированных HPACK-заголовков. Эта атака комбинирует сжатие заголовков с удержанием соединения, что позволяет одному клиенту за секунды исчерпать десятки гигабайт оперативной памяти на сервере. Подробный технический разбор доступен здесь: https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb

Исходный код здесь: https://github.com/califio/publications/tree/main/MADBugs/http2-bomb
Forwarded from Angie
Друзья, всем привет!

Уведомляем о том, что уязвимость CVE-2026-49975, недавно найденная в веб-серверах nginx, Envoy, Apache httpd, Microsoft IIS не актуальна для продуктов Angie / Angie PRO.

Уязвимость позволяет удаленному злоумышленнику вызвать отказ в обслуживании веб-сервера за счет перерасхода памяти при распаковке сжатых заголовков из специально подготовленного запроса в HTTP/2.

В Angie предусмотрена защита от подобной атаки: директива max_headers,
допускающая по умолчанию обработку не более 1000 заголовков. Директива была добавлена из freenginx еще с момента версии 1.8.0, вышедшей еще в 2024 году.
https://github.com/VictoriaMetrics/vmestimator — это инструмент от VictoriaMetrics, оценивающий кардинальность данных в реальном времени на этапе сбора, что позволяет предотвратить избыточное потребление ресурсов. В отличие от Cardinality Metrics, анализирующих уже сохраненные данные, vmestimator работает рядом с vmagent, позволяя выявлять аномальный рост уникальных рядов до их записи в базу.
🚀 NORA 1.0

Пет-проект "реестр артефактов на одном бинарнике" дорос до 1.0 – 15 форматов в бинарнике < 30 МБ. Без Java, без базы, без 2 ГБ RAM под гроб JVM.

К 1.0 приехало:
– RPM (yum/dnf) и Debian/APT – 14-й и 15-й форматы. Кладёшь свои .rpm/.deb – Нора сама генерит repodata / Packages+Release.
– GPG-подпись индексов – repo_gpgcheck=1 и signed-by= из коробки, ключ рождается на первом старте.
– nora import – миграция из Artifactory/Nexus одной командой: stateless, resumable, без даунтайма.

История deb/rpm – чисто community. @Yoda_u_may_call_me написал в личку: "сил больше нет с этим Nexus'ом бороться" – и они с Joe Grund (@jgrund) забустили RPM/APT. Джо сверху докрутил GPG-подпись. Мужики, спасибо – влили ровно то, чего не хватало до 1.0. 🤝

15 форматов. Один бинарник. Ставится через docker run.

Полный changelog
Интересный проект https://github.com/lev-stas/KENT

KENT (Kubernetes Events Notifier) — это легковесный инструмент для экспорта событий Kubernetes в VictoriaLogs (или stdout), обеспечивающий сохранение и поиск предупреждений (Warning, FailedScheduling, OOMKills) через LogsQL после их исчезновения из кластера. Продукт отличается нативной поддержкой VictoriaLogs, минимальным потреблением ресурсов (Go-бинарный файл) и надежной доставкой данных с поддержкой Helm-чарта.
Раньше основной фреймфорк https://github.com/grpc/grpc был жестко ограничен лимитом MAX_CONCURRENT_STREAMS (по умолчанию 100 параллельных запросов на одно HTTP/2-соединение). Из-за этого избыточные конкурентные RPC-вызовы блокировались в очереди до освобождения слотов, вынуждая разработчиков вручную создавать пулы соединений для достижения высокой производительности. Согласно issue https://github.com/grpc/grpc/issues/21386 данная функциональность теперь полностью реализована и автоматическое создание дополнительных соединений при достижении лимита стримов будет включено по умолчанию, начиная с предстоящего релиза gRPC 1.84.
Radar — open-source UI для Kubernetes от Skyhook (YC W23). Один бинарник на Go, без регистрации и аккаунта, бесплатный навсегда. Топология кластера, браузер ресурсов, timeline событий, менеджер Helm-релизов, GitOps для FluxCD, карта трафика, аудит безопасности, анализ impact'а перед апгрейдом K8s и даже встроенный MCP-сервер, чтобы ИИ-агенты могли смотреть кластер глазами Radar вместо сырого kubectl.

https://habr.com/ru/articles/1073566/

#devops #kubernetes #k8s #radar #gitops #helm #kubernete-ui
NORA — open-source реестр артефактов на Rust, созданный как прямая альтернатива этим гигантам. Вместо Java-стека — один бинарник < 27 МБ. Вместо 2–4 ГБ RAM — < 50 МБ в простое, т.е. на порядок меньше. Вместо десятков минут на старт — 3 секунды. Внешних зависимостей нет вообще: ни Java 11+, ни отдельной СУБД — метаданные хранятся на файловой системе, а артефакты сразу можно отправлять в S3, чего бесплатные версии Nexus и Artifactory не умеют. При этом поддерживается 15 форматов: Docker, Maven, npm, PyPI, Cargo, Go, Raw, RubyGems, Terraform, Ansible Galaxy, NuGet, Pub (Dart/Flutter), Conan (C/C++), RPM (yum/dnf), Debian/APT. Плюс Helm-чарты через OCI, карантин свежих пакетов (Min Release Age), блокировка уязвимых версий (CVE Blocking) и лицензия MIT.


https://habr.com/ru/articles/1074042/

#devops #kubernetes #nora #registry #security #cve
Ситуация, знакомая многим командам: в кластере Kubernetes живут обычные бизнес сервисы, нагрузка на которые днём растёт, а ночью падает. Обычно используют два плохих варианта: держать статический пул нод под дневной пик, которые ночью простаивают и стоят денег, или положиться на cluster autoscaling — и тогда при дневном росте нагрузки бизнес-поды проведут в статусе Pending до создания новой ноды.

Проблема ожидания, пока Cluster Autoscaler развернёт новую ноду, решается паттерном node overprovisioning, настраиваемым через PriorityClass и механизмы Cluster Autoscaler: мы заранее запускаем ничего не делающие capacity-overprovisioning поды (в документации Kubernetes они называются placeholder-подами), которые занимают небольшую часть ресурсов нод. Когда приходит нагрузка и реплики бизнес-приложений увеличиваются — поды бизнес-приложений немедленно занимают освободившееся место, вытесняя capacity-overprovisioning под за секунды. Вытесненный capacity-overprovisioning под уходит в Pending, Cluster Autoscaler добавляет ноду.

Ключевая выгода паттерна — экономия. Ночью и утром, когда нагрузка падает, KEDA снижает число реплик бизнес-приложения, Cluster Autoscaler удаляет недозагруженные ноды, и кластер схлопывается до минимального числа нод. Утром при росте нагрузки capacity-overprovisioning поды отдают место мгновенно.

https://habr.com/ru/articles/1076538/

#Kubernetes #DevOps #KEDA #VictoriaMetrics #Autoscaling #Overprovisioning #ClusterAutoscaler #PriorityClass #ЭкономияРесурсов
В Kubernetes-кластере рано или поздно встаёт вопрос: где собирать Docker image приложений? Вариант «на своей машине разработчика» не масштабируется на команду. Вынос сборок на отдельную виртуальную машину решает эту проблему, но создаёт накладные расходы на обслуживание инфраструктуры и лишает ключевых преимуществ k8s: отдельная ВМ не масштабируется горизонтально под нагрузку, параллельные джобы конкурируют за общие CPU, RAM и диск, а накапливающийся кэш требует регулярной очистки.
Классических ответов два — Kaniko и BuildKit. Kubernetes executor с использованием Kaniko или BuildKit лишен этих недостатков: сборка происходит в изолированных подах прямо на нодах кластера, ресурсы динамически масштабируются, а виртуальные машины для Docker-демона больше не требуются.

https://habr.com/ru/articles/1079670/

#DevOps #Kubernetes #BuildKit #Kaniko #Benchmark
Классическая ситуация: Go-сервис падает с panic: runtime error: invalid memory address or nil pointer dereference, Nuxt-фронтенд логирует NUXT_UNHANDLED: unhandled rejection. Клиент видит лишь общее «что-то сломалось» — точный текст ошибки остаётся только в логах.
Решение — алертинг по логам. Связка VictoriaLogs + Vector + vmalert + Alertmanager следит за потоком, и как только приложение пишет panic, log.Fatal или NUXT_UNHANDLED, в Telegram уходит алерт. Ниже — как поднять эту связку в Kubernetes без лишней нагрузки на хранилище.

https://habr.com/ru/articles/1083198/

#DevOps #Kubernetes #VictoriaLogs #Vector #Alertmanager #Logging
Вышел open-source дашборд Dasha 1.8 для PostgreSQL: рекомендации по индексам, анализ логов и AI через MCP
Состоялся релиз новой версии дашборда Dasha 1.8 для мониторинга и администрирования баз данных PostgreSQL. В обновлении появился продвинутый автоматический анализ структуры БД и интеграция для управления кластерами с помощью ИИ-ассистентов. Проект полностью бесплатный, а его исходный код и документация доступны в репозитории на GitHub.

https://habr.com/ru/articles/1084954/

#postgres #opensource #devops #database #ai
Coroot — open-source observability-платформа, которая из метрик, логов и трейсов делает выводы о том, что чинить. Её ключевая особенность — непрерывное профилирование без изменений кода: eBPF-профилировщик снимает CPU-профили всех процессов на ноде, а языковые профилировщики (Go, Java) добавляют память и блокировки. В результате флеймграф показывает нагрузку до точной строки кода, а предустановленные инспекции находят типовые проблемы — утечки памяти, лишние аллокации, блокировки.

https://habr.com/ru/articles/1087316/
Forwarded from John Doe
🚀 VictoriaTraces v0.12.0 is here!

This release introduces a new built-in UI for exploring traces. You can try it out yourself in the playground:
play-vtraces.victoriametrics.com/select/vmui/

Check out the changelog for the full list of updates https://docs.victoriametrics.com/victoriatraces/changelog/#v0120