Перейти к содержимому

Anomalies & Recommendations

Anomalies & Recommendations

Страница Anomalies & Recommendations (пункт меню Аномалии и рекомендации с живым бейджем активных счётчиков) объединяет на одном экране два таба:

  • Recommendations — конкретные действия по оптимизации расходов.
  • Anomalies — отклонения в работе инфраструктуры и расходах, найденные ежедневной автоматической детекцией.

Оба таба используют общую шапку: четыре KPI-карточки и два графика.

БлокСмысл
Total AnomaliesЧисло активных аномалий + тренд (up (+14) за период)
RecommendationsЧисло рекомендаций + сколько с high priority
Potential SavingsСовокупный потенциал экономии
Resolved This WeekСколько решено за неделю и сколько это сохранило
  • Potential vs Achieved Savings — столбцы: синие — потенциал, зелёные — уже реализовано.
  • Anomaly Detection Trend — линия числа новых аномалий за период.

В отличие от аномалий, которые описывают инцидент, рекомендации предлагают конкретное действие.

Рекомендации, которые обычно можно выполнить сразу, без переговоров с поставщиком.

Под-табы:

  • Low utilization — ресурс работает, но CPU или память стабильно ниже 40%. Предложение — сменить тип / размер (right-sizing).
  • Unmounted disk — диск не привязан к ни одной VM → предложение удалить.
  • Unused S3 bucket — bucket без активности → предложение удалить.
  • Old snapshot — snapshot старше 90 дней → предложение удалить.

Таблица:

КолонкаСмысл
ResourceИмя + облако/кластер
ServiceТип сервиса (instance, database-postgresql, …)
Priorityhigh / medium / low
CPUТекущие → рекомендуемые vCPU
MemoryТекущая → рекомендуемая память
Potential savingsЭкономия в месяц в выбранной валюте

Справа в строке — иконка «скрыть» (аналогично Anomalies).

Committed Volume of Services — обязательство перед облачным провайдером на 6 или 12 месяцев в обмен на скидку.

Карточки по типам ресурсов:

СценарийПример для Managed PostgreSQL
Current$238/mo
6 months$202/mo (-15%)
1 year$186/mo (-22%)

Принимать такие рекомендации стоит после согласования с финансовым отделом — это долгосрочное обязательство.

Рекомендации по worker-нодам кластера (в отличие от Quick wins, которые касаются отдельных pod-ов и workload-ов). Данные приходят из отдельного backend-эндпоинта /recommends/k8s/staged, поэтому секция появилась как самостоятельный блок на странице.

Типы:

ТипКогда появляетсяРекомендация
Unbalanced workersНагрузка распределена неравномерно между нодамиВключить Kubernetes Descheduler
Scale downВ кластере есть избыточная ёмкостьУбрать underutilized worker-ноды
High utilizationНода перегруженаManaged: включить HPA. On-premise: добавить ноды
CPU pressureНехватка CPU на нодеТо же, что High utilization — HPA или +ноды
Memory pressureНехватка памятиТо же
Empty workersНода без рабочих подовУбрать пустую ноду

Таблица:

КолонкаСмысл
NodeИмя ноды + кластер + короткое описание причины
TypeОдин из 6 типов выше
KindManaged (для Managed Kubernetes) или On-premise — определяется бэкендом автоматически по имени ноды
Priorityhigh / medium / low
AdviceЧеловекочитаемая рекомендация. Ключевые термины (Kubernetes Descheduler, Horizontal Pod Autoscaler, HPA) — inline-кликабельные ссылки на документацию
Potential savingsЭкономия в месяц, если backend её оценил. Сейчас для worker-рекомендаций обычно пусто
ActionsТолько Hide/Show. Resolve для worker-рекомендаций недоступен: они либо «рассасываются» сами при перераспределении подов, либо требуют вмешательства, которое платформа не может детектировать как «решение»

Статус-фильтр (Active / Hidden / Solved) общий с Quick wins: он управляет сразу обеими таблицами, а счётчики в табах суммируют записи из обоих блоков.

  • Active (N) — новые, учитываются в Potential Savings.
  • Solved (N) — резолюция случилась автоматически (ресурс удалён, изменён тип, утилизация нормализовалась).
  • Hidden (N) — скрыты вручную. Экономия не учитывается в Active, но сохраняется в общих показателях.
  1. Каждый понедельник просматривайте список, фокусируйтесь на priority = high.
  2. По каждому элементу назначайте ответственного и действие.
  3. Нерелевантные (compliance-ограничения, не подлежат удалению) — скрывайте.
  4. По факту выполнения проверяйте, что рекомендация перешла в Solved — это произойдёт автоматически на следующей суточной генерации.
  • Рекомендации строятся по истории 3–90 дней (зависит от типа). Для свежих ресурсов рекомендаций не будет.
  • Платформа не выполняет действия в облаке за вас — все изменения делаете вы в консоли провайдера или через IaC.
  • Оценка экономии для CVoS основана на стабильности потребления: если workload пиковый, реальная экономия может быть ниже.

Таб Anomalies показывает отклонения в работе инфраструктуры и расходах.

  • Active (N) — активные, ещё не решённые.
  • Hidden (N) — скрытые вами.
ТипСмысл
Sudden spendВчерашние расходы облака выше среднего за 7 дней более чем на 10%
Usage spikeРезкий рост CPU или памяти ресурса относительно недельной нормы
Zombie hostХост 7 дней подряд с CPU и памятью в нуле
Rule violationСработало правило из Settings → Rules (например, High Memory Usage)
  • Дата обнаружения.
  • Счётчик повторений за период (×1383).
  • Бейдж типа (Rule Violation, Sudden spend, …).
  • Описание: имя ресурса, метрика, порог, правило.
  • Иконка «скрыть» справа.
  1. Прочтите описание, откройте карточку ресурса (клик по имени).
  2. Если аномалия — ложная или плановая (знали заранее), скройте её.
  3. Если проблема реальная, устраните причину (перезапустите под, поправьте лимиты, удалите ресурс).
  4. На следующей суточной генерации аномалия автоматически перейдёт в resolved, если условия больше не выполняются.
  • Скройте хронические ложные срабатывания.
  • Ослабьте пороги в Settings → Rules — уменьшите severity на определённые случаи.
  • Настройте Alert Configurations, чтобы важные аномалии приходили в Telegram, а не только были на странице.