Pull to refresh
0
@kokafffread⁠-⁠only

User

Send message

Как снизить расходы на мониторинг: замена Prometheus на VictoriaMetrics

Reading time6 min
Views6.4K

Мониторинг может оказаться дорогим делом из-за огромных объемов данных, которые необходимо обрабатывать. В этой статье вы узнаете о лучших способах хранения и обработки метрик мониторинга для снижения расходов и о том, как VictoriaMetrics может в этом помочь.

(cм. вторую статью из этой серии — Как снизить расходы на мониторинг: более разумный подход к данным.)

Читать далее
Total votes 7: ↑7 and ↓0+11
Comments6

Нагружаем и отдыхаем: load testing без стресса, ч.1

Level of difficultyEasy
Reading time10 min
Views1.3K

Меня зовут Валентина, я отвечаю за качество low-code платформы Efftech.Factory в компании Effective Technologies. В этой серии публикаций я честно расскажу о практиках нагрузочного тестирования (НТ), которые мы внедрили у себя. Будет признание реальных ошибок, настоящий процесс НТ и попытки его автоматизации. Те, кто предпочитает видео, могут посмотреть моё выступление на Spring QA Meetup 2024, благодаря которому появился этот текст. 

Почему я против жанра Success Story? 

В историях успеха нет места для тех глупых и болезненных ошибок, которые мы в действительности совершаем. Success Stories маловероятны. Каждая такая история — это лишь узкая тропинка, которая при определенных условиях может привести вас к победе… В остальных случаях может и не повезти!)

Другое дело — «Failure Stories». Это ситуации, которые вызывают понимающую улыбку и позволяют задуматься, как не допустить подобных ошибок у себя в проекте.

Ошибаться — это нормально. На ошибках учатся) Поэтому я хочу поделиться с вами опытом совершённых мной ошибок.

Читать далее
Total votes 14: ↑12 and ↓2+20
Comments2

Погружение в Helm Package Manager. Часть первая

Reading time12 min
Views46K

Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments13

Обзор k8sgpt: как искусственный интеллект помогает обучать DevOps-инженеров

Level of difficultyMedium
Reading time28 min
Views14K

В статье мы расскажем, что за утилита k8sgpt, как её поставить, какие есть полезные опции и как подключить к ней AI. Также покажем, какого уровня диагностику можно провести с помощью этого инструмента и на какие ответы чат-бота можно рассчитывать.

Читать далее
Total votes 29: ↑29 and ↓0+35
Comments6

Thanos — масштабируемый Prometheus

Reading time10 min
Views16K
Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты».




Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instrumentation. В прошлом он был production-инженером в SoundCloud и возглавлял группу мониторинга в CoreOS. В настоящее время работает в Google.

Бартек Плотка (Bartek Plotka) — инфраструктурный инженер в Improbable. Увлекается новыми технологиями и проблемами распределенных систем. Имеет опыт низкоуровневого программирования в Intel, опыт контрибьютора в Mesos и production-опыт SRE мирового масштаба в Improbable. Занимается улучшением мира микросервисов. Три его любви: Golang, open source и волейбол.


Глядя на наш флагманский продукт SpatialOS, вы можете догадаться, что для Improbable нужна высокодинамичная облачная инфраструктура глобального масштаба с десятками кластеров Kubernetes. Мы были одними из первых, кто начал использовать систему мониторинга Prometheus. Prometheus способен отслеживать миллионы метрик в реальном времени и поставляется с мощным языком запросов, позволяющим извлекать необходимую информацию.

Простота и надежность Prometheus является одним из основных его преимуществ. Однако, пройдя определенный масштаб, мы столкнулись с несколькими недостатками. Для решения этих проблем мы разработали Thanos — проект с открытым исходным кодом, созданный компанией Improbable, для бесшовной трансформации существующих кластеров Prometheus в единую систему мониторинга с неограниченным хранилищем исторических данных. Thanos доступен на Github здесь.
Читать дальше →
Total votes 7: ↑6 and ↓1+7
Comments1

Мониторинг Kubernetes с помощью Prometheus и Thanos

Reading time7 min
Views11K

Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.

Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS и GCP, — есть простые решения для провиженинга управляемого или неуправляемого Kubernetes), разрабатываете первое контейнерное приложение и развертываете его в кластере. Это было легко, не так ли?

Через некоторое время вы понимаете, что все становится немного сложнее: вам нужно развернуть в кластере несколько приложений, поэтому вам нужен Ingress Controller. Далее вы хотите мониторить нагрузку, поэтому вы начинаете искать решения для этого и, к счастью, находите Prometheus. Разворачиваете его, добавляете Grafana и все!

Позже вы начинаете задаваться вопросом: "Почему Prometheus работает только с одной репликой"? Что произойдет в случае рестарта контейнера? Что будет при простом обновлении версии? Как долго Prometheus может хранить метрики? Что если кластер развалится? Нужен ли еще один кластер для HA и DR? Как мне получить единое представление метрик со всех серверов Prometheus

Что ж, продолжайте читать, умные люди уже разобрались с этими вопросами.

Читать далее
Total votes 11: ↑7 and ↓4+7
Comments2

Готовим по рецепту: CI/CD в MLOps

Level of difficultyMedium
Reading time15 min
Views4.3K

Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Под катом расскажу, как построить CI/CD-пайплайн для ML-приложений с нуля, поэтапно и без боли. Ну почти :)

Раньше очень часто работа DS-инженера заканчивалась на подготовке кода модели в Jupyter-ноутбуке, а дальше его подхватывали команды разработки и доводили до продакшена. У такого подхода есть минусы. Например, если произойдёт инцидент, непонятно кто ответственен за сервис  — команда разработки или авторы ML-модели?

К счастью, культура разработки меняется: теперь ML-инженер — это специалист, который разрабатывает свой ML-сервис на всем пути от общения с бизнесом до продакшена. Этот подход хорошо описывает принцип «you build it, you run it»: кто построил модель, тот её и запускает. Как раз в этом здорово помогает CI/CD.

Погнали!
Total votes 20: ↑18 and ↓2+21
Comments11

Сбор логов в Kubernetes с помощью Vector: преимущества, архитектура, реальные кейсы

Level of difficultyMedium
Reading time12 min
Views8.5K


Всем привет! На связи Максим Набоких, архитектор и технический руководитель Deckhouse Kubernetes Platform. В ноябре 2023 года я выступил на VK Kubernetes Conf, где рассказал, как мы делаем доставку логов в Kubernetes надёжной и отказоустойчивой с помощью Vector. Эта статья — текстовая версия моего доклада.
Читать дальше →
Total votes 38: ↑37 and ↓1+45
Comments16

Kubernetes monitoring от простого к сложному (Николай Храмчихин)

Reading time12 min
Views17K


Разберём как при помощи VictoriaMetrics замониторить kubernetes. Откуда собирать метрики и как автоматически обнаруживать новые цели. Черная магия релейблинга и как она работает. Аннотации для мониторинга приложений и что делать когда их гибкости не хватает

Читать дальше →
Total votes 15: ↑14 and ↓1+16
Comments4

Prometheus: от основ до mem-saving оптимизации

Level of difficultyMedium
Reading time13 min
Views11K


Мониторинг в контексте современных инфраструктур играет критически важную роль и является неотъемлемой частью успешного управления и обеспечения стабильности систем. С ростом их сложности и масштаба, а также ввиду высоких ожиданий пользователей, возникает необходимость в непрерывном и детальном контроле за работой приложений и расходом аппаратных ресурсов. Мониторинг позволяет оперативно выявлять аномалии, прогнозировать потенциальные проблемы и оптимизировать работу системы, что в свою очередь, способствует повышению производительности, надежности и экономической эффективности инфраструктурных решений. Без качественного мониторинга становится невозможным обеспечить конкурентоспособность и успешное функционирование в реалиях современного рынка IT-продуктов.

Однако, настройка мониторинга сама по себе может стать вызовом, особенно когда речь идет о крупных инфраструктурах. На многих наших проектах в качестве инструмента мониторинга мы используем довольно популярное решение — Prometheus, при работе с которым порой возникают трудности. Их изучение и последующее решение и сподвигли нас на написание данной статьи.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments2

Устройство и механизм работы Prometheus Operator в Kubernetes

Reading time6 min
Views55K
В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes.

image

С первого взгляда Prometheus может показаться достаточно сложным продуктом, но, как и любая хорошо спроектированная система, она состоит из явно выраженных функциональных компонентов и по сути делает всего три вещи: а) собирает метрики, б) выполняет правила, в) сохраняет результат в базу данных временных рядов (time series). Статья посвящена не столько самому Prometheus, сколько интеграции этой системы с Kubernetes, для чего мы активно используем вспомогательный инструмент под названием Prometheus Operator. Но начать всё же необходимо с самого Prometheus…
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments2

Долгосрочное хранение метрик Prometheus (Алексей Палажченко, Percona)

Reading time21 min
Views30K

За короткое время Prometheus стал одним из самых популярных средств для мониторинга. Благодаря, в том числе, и высокой скорости своей работы. Его локальное хранилище отлично подходит для краткосрочного хранения метрик и работы с ними. Иногда хочется хранить метрики распределённо месяцы и годы, автоматически разрежая старые данные, но не меняя интерфейса работы с ними.


Как раз об этом расшифровка доклада Алексей Палажченко на RootConf 2018. В докладе: Prometheus, Local Storage TSDB, Remote Storage Prometheus, PromQL, TSDB, Сlickhouse, PromHouse, немного InfluxDB.



Кому интересно, прошу под кат.

Total votes 16: ↑15 and ↓1+14
Comments5

Понимаем Container Storage Interface (в Kubernetes и не только)

Reading time6 min
Views19K
Прим. перев.: о так называемых плагинах хранилищ «вне дерева» Kubernetes (Out-of-Tree CSI Volume Plugins) мы впервые рассказывали в своём обзоре релиза K8s 1.9, где эта фича появилась в статусе альфа-версии. Автор нового материала — Anoop Vijayan Maniankara (ведущий DevOps-инженер финской компании Tuxera) — собрал ключевые сведения об идеях и устройстве CSI, что помогает быстро познакомиться с новой концепцией, которая, как утверждают некоторые наши сотрудники, «будет the next big thing». Для более подробного и технического изучения CSI в конце статьи приведены полезные ссылки, среди которых я особенно выделю презентацию одного из авторов этой спецификации (Jie Yu). Но начать всё равно стоит с «общей картины»…



Container Storage Interface (CSI) — инициатива, призванная унифицировать интерфейс хранилищ, таких как Ceph, Portworx, NetApp и т.п., в системах оркестровки контейнеров: Kubernetes, Mesos, Docker Swarm, Cloud Foundry и других. Идея в том, чтобы реализация одного CSI производителем хранилища гарантированно работала со всеми этими системами.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments3

Все, что вам нужно знать об Airflow DAGs, ч.3 — Проектирование DAG

Reading time9 min
Views15K

Поскольку Airflow — это на 100% код, знание основ Python - это все, что нужно, чтобы начать писать DAG. Однако написание эффективных, безопасных и масштабируемых DAG требует учета некоторых моментов, специфичных для Airflow. В этом разделе мы рассмотрим некоторые передовые методы разработки DAG, которые максимально используют возможности Airflow.

В целом, большинство лучших практик, которые мы здесь рассматриваем, относятся к одной из двух категорий:

Читать далее
Total votes 3: ↑0 and ↓3-3
Comments4

Все, что вам нужно знать об Airflow DAGs, ч.2 — Операторы и Датчики

Reading time15 min
Views31K

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

Вы можете использовать операторы в Airflow, создав их экземпляры в задачах. Задача определяет работу, выполняемую оператором в контексте DAG.

Чтобы просмотреть и выполнить поиск по всем доступным операторам в Airflow, посетите Astronomer Registry. Ниже приведены примеры операторов, которые часто используются в проектах Airflow.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Все, что вам нужно знать об Airflow DAGs, ч.1 — Основы и расписания

Reading time20 min
Views77K

Полное руководство по созданию DAG в Apache Airflow DAG, позволяющих создать конвейер данных из разных источников, запускаемый в определенные периоды времени с заданной логикой. Первая часть. Источник: DAGs: The Definitive Guide от astronomer.io

Добро пожаловать в полное руководство по Apache Airflow DAG, представленное командой Astronomer. Эта электронная книга охватывает все, что вам нужно знать для работы с DAG, от строительных блоков, из которых они состоят, до рекомендаций по их написанию, динамической генерации, тестированию, отладке и многому другому. Это руководство, написанное практикующими для практикующих.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Kubernetes Nginx Ingress: Перенаправление трафика с использованием аннотаций

Reading time5 min
Views38K

Kubernetes Nginx Ingress: перенаправление трафика с использованием аннотаций



Перенаправляйте HTTP-трафик или переписывайте URL-адреса с помощью входных аннотаций Kubernetes и Nginx ingress controller. В этой статье объясняется использование аннотаций и их влияние на результирующий файл конфигурации nginx.conf.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments10

Как отследить pod-to-pod-трафик Kubernetes

Reading time8 min
Views4.7K

В этой статье мы рассмотрим тонкости сетевого взаимодействия Kubernetes и углубимся в фундаментальные принципы и механизмы, которые управляют связью между подами. 

Читать далее
Total votes 12: ↑11 and ↓1+11
Comments3

Information

Rating
Does not participate
Registered
Activity

Specialization

DevOps, Site Reliability Engineer (SRE)
Senior
From 450,000 ₽
Docker
Kubernetes
Python
SQL
English
AWS
ELK Stack
Terraform
Ansible
Prometheus