Здравствуйте, читатели! Недавно я начал изучать сервисы AWS, с которыми раньше не работал, и мой энтузиазм в отношении MLOps и знакомство с культурой DevOps сделали AWS DevOps Guru самым интригующим предложением для изучения.

Определение выглядит следующим образом:

Amazon DevOps Guru — это сервис на основе машинного обучения (ML), который упрощает повышение производительности и доступности приложений. DevOps Guru выявляет поведение, отличающееся от обычных моделей работы, поэтому вы можете выявлять операционные проблемы задолго до того, как они повлияют на ваших клиентов. DevOps Guru автоматически получает операционные данные из ваших приложений AWS и предоставляет единую панель мониторинга для визуализации проблем в ваших операционных данных. Вы можете начать работу с DevOps Guru, чтобы повысить доступность и надежность приложений без ручной настройки или машинного обучения.

Модели машинного обучения DevOps Guru выявляют аномалии в поведении приложений, такие как медлительность, увеличение количества ошибок, нехватка ресурсов и множество других проблем, которые могут привести к простою. Это дает представление о проблеме и помогает в ее решении с минимальным MTTR.

Честно говоря, это звучит слишком хорошо, чтобы быть правдой. Так что я подумал, чтобы дать ему идти. Теперь, когда DevOps Guru предлагает множество услуг, я решил использовать DevOps Guru для RDS в качестве пробной программы. Я потратил много времени на надежность RDS, что должно быть чрезвычайно полезно при оценке DevOps Guru для RDS.

DevOps Guru (DOG!) для RDS обнаруживает аномалии и проблемы с производительностью в экземплярах Amazon Aurora, совместимых с MySQL и PostgreSQL. Согласно документации AWS, DevOps Guru исследует аномалию, чтобы определить ее вероятные причины. Эти условия могут включать;

  • Состояния или события ожидания БД
  • Память, ввод-вывод и другие проблемные показатели
  • SQL-запросы или операторы

Как только выявлены узкие места в производительности или операционные проблемы, DOG отображает свои выводы в консоли DevOps Guru и отправляет уведомления до того, как они перерастут в сбои, влияющие на клиентов. Это помогает реализовать действия в режиме реального времени для решения проблемы пивоварения.

DOG для RDS в первую очередь отслеживает загрузку базы данных; то есть количество активных подключений в любой момент. Термин «активный» здесь имеет решающее значение, поскольку он требует только соединений, которые активно выполняют транзакцию, и игнорирует бездействующие. Это может дать несколько точную оценку текущего состояния базы данных.

Вам необходимо включить Performance Insights в кластере Aurora, чтобы использовать DOG. Если вы не знакомы с этим, обратитесь к этому Руководству по AWS.

DOG получает метрики из RDS. Он просто собирает числовые показатели и не требует пользовательских команд SQL или других конфиденциальных данных. Затем показатели загрузки базы данных отслеживаются на наличие аномалий путем сравнения исторических базовых показателей с текущей активностью для выявления неожиданного поведения. DOG для RDS достаточно умен, чтобы обнаруживать аномалии в обычных рабочих нагрузках базы данных, такие как периодические всплески активности, вызванные ошибочными заданиями, отчетами ETL данных и другими запланированными операциями.

DOG для RDS анализирует метрики, составляющие аномалию после ее распознавания, отмечая наиболее распространенные состояния ожидания, операции SQL и другие метрики, соответствующие аномалии. Результат обрабатывается алгоритмом, основанным на правилах, и генерирует простые понятные объяснения и рекомендации по устранению аномалии. Вы можете увидеть их на странице консоли DOG.

Кстати, в консоли RDS Performance Insights появится типичный баннер уведомлений AWS, если ваш RDS поддерживает DOG.

Давайте исследуем неисправный RDS. У нас возникла проблема, связанная с более чем 100 сеансами в RDS с 2 виртуальными ЦП. Одного этого должно быть достаточно, чтобы понять, что здесь что-то не так.

Здесь на помощь могут прийти инженер по надежности базы данных (DBRE) или администратор базы данных (DBA). Итак, зачем использовать DOG для RDS?

Что ж, Performance Insights не уведомляет инженерную группу об этой проблеме. В результате есть большая вероятность, что вы пропустите это. Тогда вы должны решить это. Если вы не знакомы с доменами DBRE/DBA, у вас могут возникнуть трудности с решением проблемы. Вот тут-то и появляется DOG. Он не только обнаруживает эти типы проблем, но также предупреждает команду через SNS и дает диагностику и советы по их устранению.

На странице Insights консоли DOG отображаются различные обнаруженные аномалии. Нажав на аномалию, вы можете получить подробную информацию о ней. Затем в разделе «Агрегированные показатели» вы можете получить подробный анализ проблемы, щелкнув анализ просмотра.

С помощью этого представления вы можете просмотреть аномалию, продолжительность и очень дружелюбное обновление о том, что там произошло :)

Панель «Анализ и рекомендации» предоставляет подробный анализ проблемы, а также информацию и рекомендации о том, что вы можете сделать для ее решения.

Мне очень понравились его простые объяснения (особенно по метрикам)

В целом мне очень понравился DevOps Guru для RDS. Это определенно помогает в выявлении аномалий, которые могут вызвать сбои, а невероятно четкие объяснения и идеи по устранению проблемы действительно полезны. DevOps Guru для RDS — это обязательный инструмент для вашей учетной записи, если вы новичок в домене DBRE, но хотите поддерживать работоспособность своего RDS!