Единицы
1. Введение в искусственный интеллект в управлении системами и сетями: роли, границы, аутентификация и полномочия 2. Скрипты автоматизации: безопасное создание Bash, PowerShell и Python 3. Анализ журналов и анализ первопричин: поиск сигнала в шуме 4. Мониторинг мощности и производительности: считывание показателей и планирование на будущее 5. Управление конфигурацией: создание конфигурации, проверка и фиксация отклонений 6. Управление инфраструктурой как кодом (IaC): Terraform, Ansible и Plan Control 7. Управление документацией и информацией: Runbook, Post-mortem и корпоративная память 8. Прогнозируемое обслуживание: выявление сбоев до того, как они произойдут 9. Управление изменениями: оценка рисков, откат и окно обслуживания 10. Безопасность и оборона: использование искусственного интеллекта в целях обороны и в пределах полномочий 11. Сквозная интеграция: управление инцидентом от начала до конца
Единица 4 / 11

Мониторинг мощности и производительности: считывание показателей и планирование на будущее

Прибыль:

  • Способность правильно интерпретировать показатели с поддержкой искусственного интеллекта, используя процентиль (p95/p99) и базовый уровень вместо среднего значения.
  • Возможность отделить сезонность от тренда и составить прогноз мощности в оптимистично-пессимистическом диапазоне, а не в виде одного числа.
  • Понимание того, что решения об инвестициях в ресурсы и пороговых значениях тревоги принимаются человеком, наряду со временем выполнения ресурсов и бизнес-контекстом.

Мониторинг мощности и производительности: считывание показателей с помощью ИИ и планирование будущего

Вы не можете увидеть работоспособность системы собственными глазами; Вы понимаете это через метрики. Метрика — это зависящее от времени числовое значение измеримой характеристики системы: использование ЦП, занятость памяти, свободное место на диске, задержка в сети, количество запросов в секунду. Мониторинг производительности постоянно собирает эти показатели и отвечает на вопрос: «В порядке ли сейчас система?» Планирование мощностей идет еще дальше: оно отвечает на вопрос: «при таких темпах, когда мне станет недостаточно, когда мне следует приобретать новые ресурсы?» Здесь ИИ является высококвалифицированным помощником в интерпретации множества показателей, выявлении аномалий, чтении тенденций и составлении прогнозов на будущее. Но прежде всего преобладает одно предостережение: ИИ извлекает закономерности из исторических данных; Вы тот, кто принимает решения об инвестировании ресурсов, масштабировании и пороговых значениях оповещения с учетом контекста.

В этом блоке рассматриваются такие понятия мониторинга, как базовый уровень (линия нормального поведения), аномалия (отклонение от нормы), процентиль (процентиль); Метрическая интерпретация с помощью ИИ; прогноз тенденций и роста; и вы научитесь устанавливать правильный порог срабатывания сигнализации.

Средняя ложь: почему процентиль?

Самая распространенная ошибка в отслеживании — измерять все средним значением. Допустим, ваше время отклика в среднем составляет 200 мс. Звучит отлично. Но 5% пользователей могут ждать 8 секунд; Средний показатель это скрывает. Вот почему профессионалы используют процентиль: p95 = «95% запросов находятся ниже этого периода времени». Если время отклика p95 составляет 8 секунд, то один из двадцати пользователей испытывает ужасные впечатления — среднее значение никогда этого не показывает. Предоставляя показатели ИИ, четко обозначьте, какую статистику вы хотите: «Интерпретируйте мне p50, p95 и p99, а не среднее значение». Эта привычка выявляет скрытые проблемы.

Совет. Посмотрите на процентиль для каждого показателя, касающегося пользовательского опыта (время отклика, задержка); p95/p99 вместо среднего доставит вас к действительно страдающему меньшинству. В показателях ресурсов (ЦП, память) обратите внимание как на пиковые, так и на устойчивые значения.

Без базовой линии не бывает аномалий

Прежде чем вы сможете определить, является ли показатель «ненормальным», вам необходимо знать «нормальный». Базовый уровень — это типичный диапазон поведения системы в исправные дни: «Загрузка ЦП в будний день в этот сервис обычно составляет 40–60%». Без базового уровня вы не можете знать, является ли значение 70% пугающим или нормальным. Вы можете установить базовый уровень, предоставив ИИ исторические данные о работоспособности и сказав: «Извлеките нормальный диапазон и дневную/еженедельную структуру этого показателя». Затем вы интерпретируете новые данные в соответствии с этим базовым уровнем: «где это значение в норме?» Аномалия — это значительное и устойчивое отклонение от базовой линии; одиночный внезапный скачок часто является шумом.

Шаг за шагом: прогноз мощности

  1. Соберите чистый и адекватный анамнез. Для формирования тренда требуются данные как минимум за несколько недель, желательно ежемесячно. Прогноз, сделанный на основе небольшого количества данных, — это предположение, а не предсказание.
  2. Отдельная сезонность. Трафик падает в выходные дни, увеличивается в конце месяца и резко возрастает во время кампании. Сообщите ИИ об этих циклах, чтобы он не спутал рост с сезонными колебаниями.
  3. Снимите тренд. «На сколько ГБ в среднем увеличивался этот диск в неделю за последние 8 недель?» ИИ рассчитывает темпы роста.
  4. Попросите проекцию, расставьте ее. «При таких темпах, когда диск будет заполнен на 90%?» — но просите указать оптимистический/пессимистический диапазон, а не одну дату. Будущее неопределенно; нечетное число — это ложная точность.
  5. Определите порог принятия решения вместе с людьми. Если в прогнозе указано: «Это будет завершено через 6 недель», вы учитываете время поиска (покупка, утверждение) и решаете, предпринимать ли действия сегодня.
  6. Установите будильник правильно. Очень чувствительная сигнализация производит шум и утомляет тревогу; слишком свободный сигнал тревоги пропустит событие. Получите рекомендации по пороговому значению от ИИ, но окончательный порог определите с помощью собственной толерантности к риску.

три мини-кейса

Случай 1 — Среднее скрыто, показал p99. Одна команда думала, что их API составляет «в среднем 180 мс, это нормально». Когда я скормил метрики ИИ и запросил интерпретацию процентилей, оказалось, что p99 составлял 6400 мс — один из ста запросов был медленнее 6 секунд. Основной причиной был медленный запрос к базе данных. В то время как средний показатель выглядел здоровым, меньшинство пережило ужасный опыт.

Случай 2 — Компания Projection предупредила за 3 недели. Администратор передал AI данные о занятости диска журнала. ИИ предположил, что еженедельная тенденция роста составит около 7 ГБ, и спрогнозировал, что при текущих темпах 90% будет достигнуто в течение 19 дней с оптимистично-пессимистическим диапазоном 16–23 дня. Поскольку на поставку новых дисков ушло 10 дней, команда сделала заказ немедленно и предотвратила сбой до того, как он произошел.

Случай 3 — Возврат из ложной аномалии. Каждое воскресенье вечером слышен сигнал мониторинга, сообщающий, что загрузка процессора достигает 95%. Прежде чем запаниковать, инженер приказал ИИ поднять базовый уровень: этот скачок был запланированной резервной работой, которая происходила в одно и то же время каждую неделю, поэтому это было частью нормы. Это не было аномалией; базовый уровень отсутствовал. Порог будильника был скорректирован для этого периода времени, и ненужные ночные пробуждения исчезли.

Четыре копируемых шаблона

1) Метрическая интерпретация (процентиль):

Ниже приведены показатели времени ответа [службы] (замаскированные). Прокомментируйте мне р50, р95 и р99, не средние. В чем разница между p99 и p50, на какую проблему пользовательского опыта она указывает? Не добавляйте вымышленные значения, просто интерпретируйте данные, которые я вам даю. Данные: [показатели]

2) Вычитание базовой линии:

Ниже приведены здоровые [метрики] данные за последние 4 недели. Извлеките (1) нормальный диапазон (2) дневной и еженедельный график (например, ночной минимум, полдень максимум) этого показателя. Затем я дам одно новое значение; классифицируйте его как «нормальный/осторожно/ненормальный» на основе этого базового показателя. Данные: [исторический показатель]

3) Прогноз мощности (с дальностью):

Ниже приведены данные о занятости [ресурса] за последние 8 недель. (1) Рассчитайте средний недельный темп роста, (2) укажите сезонные эффекты, (3) оцените время достижения порога 90% при текущих темпах, с ОПТИМИСТИЧЕСКИМ и ПЕСИМИСТИЧЕСКИМ диапазонами. Укажите одну дату, укажите диапазон и запишите свои предположения. Данные: [временной ряд]

4) Рекомендации по порогу срабатывания сигнализации:

Моя базовая линия для [метрики] — [диапазон]. Моя цель — свести к минимуму ложные тревоги, не упуская при этом реальных проблем. Дайте мне рекомендации по (1) предупреждению и (2) критическому порогу, обосновав каждый из них и оценив риск усталости от тревоги. Я определю окончательный порог.

Слабая подсказка / Сильная подсказка

Слабая подсказка:

Мой сервер медленный?

Нет ни контекста, ни показателей, ни базовых показателей. ИИ не знает определения слова «медленный» и не имеет нормального значения для его сравнения. Ответ – праздное предположение.

Мощная подсказка:

Ваша роль: специалист по планированию мощностей. Ниже приведены время ответа p95 за последние 14 дней и данные о запросах/секундах API (в маске). Моя базовая линия составляет 250-400 мс для p95. Скажите мне (1) отметьте дни, которые вышли за пределы базового уровня за последние 14 дней, (2) скажите мне, существует ли видимая связь между временем ответа и нагрузкой на запросы (в качестве гипотезы), (3) спрогнозируйте, куда пойдет p95 через 30 дней, если эта тенденция сохранится. Данные: [временной ряд]

Тип метрики

неправильное измерение

точное измерение

время ответа

Просто средний

р50, р95, р99

Процессор/память

мгновенное значение

Пик + устойчивый + базовый уровень

рост диска

Сегодняшняя заполняемость

Еженедельный тренд + прогноз

Аномалия

одиночный отскок

Постоянное отклонение от базовой линии

сигнализация

Произвольный одиночный порог

Обоснованное предупреждение + критический порог

Распространенные ошибки

  • Измеряем все средним значением. Среднее скрывает неудачный опыт немногих; См. процентиль.
  • Поиск аномалий без базовой линии. Вы не можете сказать, что значение ненормально, не зная, что является нормальным; Вы создаете ложную тревогу.
  • Принимаем сезонность за тренд. Рассматривать пик кампании как постоянный рост и брать ненужные ресурсы стоит денег.
  • Опираясь на проекцию нечетных чисел. «Ровно 19 дней» — это ложная точность; Используйте оптимистично-пессимистический диапазон.
  • Забывая о времени поиска. Команда, которая не учитывает порог прогнозирования и время покупки вместе, окажется в ловушке.
Внимание: прогноз тенденций ИИ предполагает, что прошлое продолжится в будущем. Запуск нового продукта, миграция клиентов или изменение архитектуры разрушают это предположение. Ваша задача — скорректировать проекцию в соответствии с вашим контекстом.

В итоге

Мониторинг производительности отвечает на вопрос «хорошо ли сейчас?» а планирование мощностей отвечает на вопрос «когда этого недостаточно?» ИИ — мощный партнер в интерпретации показателей, определении базовых показателей, выявлении аномалий и прогнозировании тенденций. Но среднее значение — используйте процентиль; Без базовой линии нет аномалии — сначала установите норму; отделить сезонность от тренда; и возьмите проекцию как диапазон, а не как одно число. Решения об инвестициях в ресурсы и пороговых значениях оповещения принимаются человеком, равно как и время выполнения ресурсов и бизнес-контекст.

Задача приложения

Возьмите данные за последние несколько недель для ресурса (диск, память, время отклика) из ваших собственных систем и замаскируйте чувствительные области. Вычтите нормальный диапазон и шаблон с помощью приведенного выше шаблона «Вычитание базовой линии». Затем шаблон «Прогноз мощности» спрогнозирует, когда вы достигнете порогового значения, в оптимистично-пессимистическом диапазоне. Кроме того, интерпретируйте показатель времени отклика с использованием шаблона «процентиль» и посмотрите, не скрывает ли что-нибудь среднее значение. Запишите свои выводы и действия, которые вы предпримете, в 5 пунктах.

контрольный список

  • [ ] Смотрел ли я на p95/p99 вместо средних показателей времени отклика?
  • [ ] Установлен ли я базовый уровень на основе достоверных данных, прежде чем искать аномалии?
  • [ ] Отличил ли я сезонные колебания от постоянной тенденции?
  • [ ] Воспринял ли я прогноз как оптимистично-пессимистический диапазон, а не как одну дату?
  • [ ] Оценил ли я время поиска вместе с пороговым значением прогноза?
  • [ ] Установлен ли порог тревоги на основе моей собственной толерантности к риску, а не на рекомендации ИИ?