Мониторинг отключений для умного дома

1. Прежде чем начать

Как мы уже говорили в разделе «Отладка кода умного дома» , мы публикуем метрики и журналы в ваших проектах «Умный дом». Метрики помогут вам определить, где у вашего действия «Умный дом» возникли проблемы, а журналы полезны при глубоком погружении в решение этих проблем.

dd44868a4ff2df6e.png

Вы можете настроить оповещения, используя метрики, предоставленные вашему проекту, для автоматического отслеживания сбоев и получения уведомлений во время перебоев в обслуживании. Мы публикуем показатель достоверности, чтобы выявить сбои в работе вашего проекта, которые мы рассмотрим в этой лаборатории наряду со всеми другими инструментами оповещения, доступными вам на Google Cloud Platform.

Предварительные условия

Что вы узнаете

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

2. Мониторинг производительности

Мониторинг производительности имеет решающее значение для успешной интеграции с экосистемой Google Smart Home. Мы предоставляем набор инструментов мониторинга разработчикам умного дома на Google Cloud Platform . Вы можете использовать эти инструменты, чтобы получить представление о производительности вашего проекта.

Доступ к информационным панелям

Первым шагом для доступа к вашим данным является проверка информационных панелей Google Home. Для этого войдите в Google Cloud Console и выберите «Операции» > «Мониторинг» > «Панели мониторинга» . Вы увидите, что доступно несколько панелей мониторинга, и панели мониторинга для умного дома имеют префикс Google Home Analytics.

317697e52ced2437.png

Мы создали отдельные информационные панели для представления каждого типа интеграции. Интеграции Cloud, Local и Matter имеют собственную панель мониторинга, а данные для протоколов потоковой передачи с камеры предоставляются на панели мониторинга качества камеры. Эти дашборды будут содержать данные только в том случае, если у вас есть интеграция соответствующего типа, а также функционирующий проект, выполняющий запросы.

Когда вы откроете одну из этих панелей мониторинга, вы увидите следующее:

f8bfd69286c569a4.png

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

Есть три диаграммы, которые имеют решающее значение для оценки эффективности действий вашего Умного дома:

f511fafd3aaaa1eb.png

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

Обратите внимание, что представление по умолчанию с диаграммами, которое вы видите на панелях мониторинга Google Home Analytics, — это всего лишь представление, которое мы создали для вашего проекта с использованием данных показателей умного дома. Вы также можете использовать Обозреватель метрик, чтобы создавать собственные диаграммы на основе тех же базовых показателей и сохранять их на своих пользовательских панелях мониторинга.

Обозреватель метрик

Metrics Explorer — это инструмент для визуализации срезов набора данных вашего проекта. Инструмент доступен в Google Cloud Console , перейдя в раздел «Операции» > «Мониторинг» > «Обозреватель метрик» .

Google Cloud «из коробки» предоставляет множество различных показателей, в том числе некоторые, не связанные с «умным домом». Показатели, которые мы предоставляем для умного дома, перечислены в ресурсе «actions.googleapis.com/smarthome_action/...», и их можно легко найти, введя «умный дом» в поле выбора показателя.

538d851edfd34764.png

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

Когда дело доходит до мониторинга вашего проекта, самой простой метрикой, на которую следует ссылаться, является метрика количества запросов (которая является дельта-метрикой ). Эта метрика записывает запись для каждого выполнения умного дома, инициированного вашими пользователями, и записывает такие поля, как тип устройства, характеристика, тип выполнения, связанный с выполнением, и поле статуса, которое показывает результат.

При выборе этого показателя отобразится экран, показывающий каждый сегмент данных, подобный следующему:

b1c18141d15a0e09.png

По сути, для каждой комбинации меток данных, присутствующих в этой метрике, существует сегмент, который записывает изменение (дельту) между предыдущим и текущим временными интервалами. Эти сегменты можно сгруппировать или отфильтровать, чтобы получить желаемый фрагмент данных представления, который вам нужен. Кроме того, данные выравниваются по выбранным временным интервалам с помощью функции выравнивания (DELTA, MEAN, MEDIAN, SUM). Если не требуется иное, вы обычно будете использовать выравнивание «Дельта» с метрикой «Дельта».

Вы можете создать большинство диаграмм, доступных на информационных панелях Google Home Analytics, с помощью Metrics Explorer и сохранить свои диаграммы для последующего доступа на настраиваемой информационной панели. Для создания более сложных представлений, таких как диаграмма соотношений, вам потребуется использовать MQL — язык запросов мониторинга.

3. Показатели успеха

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

Степень успеха

Вероятность успеха рассчитывается для всех ваших интеграций путем деления количества успешных запросов на все запросы. Вы можете получить к нему доступ из диаграммы успешности выполнения на панели инструментов Google Home Analytics.

55ea8930fbf48d9e.png

Диаграмма успешности выполнения очень полезна для мониторинга производительности вашего проекта, но не очень полезна при создании пользовательских панелей мониторинга или настройке оповещений. Поскольку показатель успеха определяется на основе показателя количества запросов, а не на основе показателя сам по себе, вам придется воссоздать его с помощью MQL (язык запросов мониторинга) в обозревателе метрик, чтобы использовать его с любой функцией.

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

Метрика уверенности

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

ab467a1777281526.png

Когда ваша интеграция с умным домом работает на уровне исторических показателей (среднее значение за 7 дней) или выше, этот показатель выдает максимальное значение (1,0). Если процент успеха отклоняется более чем в 4 раза (также рассчитывается за 7 дней), этот показатель выдает минимальное значение (0,0). В случаях, когда стандартные отклонения слишком малы (менее 2,5%), этот показатель основывает значение 0,0 на 10%-ном падении процента успеха.

Для всех промежуточных случаев эта метрика предоставляет значения от 1,0 (абсолютная уверенность в отсутствии сбоя) до 0,0 (максимальная уверенность в наличии сбоя).

Поэтому при настройке оповещения (о котором речь пойдет в следующем разделе) мы рекомендуем использовать значение 0,5 в качестве порогового значения. Это будет соответствовать 2 стандартным отклонениям или падению на 5%, в зависимости от того, что больше .

4. Настройка оповещений

Следующий шаг — использовать все, что вы узнали в предыдущем разделе, для настройки оповещений в вашем проекте.

Создание политики оповещений

Автоматические оповещения в Google Cloud Platform настраиваются с помощью политик оповещений. Доступ к политикам оповещений можно получить через боковое меню, вкладка «Операции» > «Мониторинг» > «Оповещения» . Вы можете создать новую политику оповещений, выбрав опцию +CREATE POLICY , которая приведет вас к экрану создания политики оповещений:

6e417d88c2274b3d.png

Создание политики оповещений состоит из трех частей. Сначала вам нужно определить, что вы хотите отслеживать, добавив условие. При нажатии кнопки «ДОБАВИТЬ УСЛОВИЕ» откроется окно, похожее на «Обозреватель метрик», с некоторыми дополнительными элементами управления для настройки условия:

df1ccf7da741e1c7.png

В качестве цели выберите показатель достоверности, который мы рассмотрели в предыдущем разделе. Убедитесь, что выравниватель установлен на дельту, используя эту метрику ( Показать дополнительные параметры > Aligner ). Следующим шагом будет настройка условия оповещения и использование следующих настроек:

4192e0f4ea00dd28.png

Условие срабатывает, если — это основная конфигурация, определяющая, когда запускать оповещения. Выбор « Любые нарушения временного ряда» будет работать, поскольку мы собираемся установить пороговое значение для нашей метрики и отслеживать, пересекается ли это значение.

Условие . Мы хотим, чтобы оповещение срабатывало, когда значение падает ниже порогового значения, поэтому мы установим для него значение ниже . Согласно нашей метрике, 1,0 означает, что интеграция работает нормально, а 0,0 указывает на явный сбой.

Порог — мы создали показатель достоверности, чтобы обеспечить наилучшие результаты, когда для этого значения установлено значение 0,5 . Если вы хотите получать более частые оповещения и получать уведомления о меньшем количестве инцидентов, попробуйте увеличить это значение (максимум 1,0). Впоследствии, если вы хотите получать меньше предупреждений, а только о более серьезных проблемах, вы можете попробовать уменьшить это значение (минимум 0,0).

For — этот параметр определяет, как долго должно продолжаться отключение, прежде чем вы получите предупреждение. Мы рекомендуем сохранить для этого параметра самое последнее значение , чтобы получать оповещения о любой точке, пересекающей пороговое значение. Наш показатель уверенности публикуется каждые 15 минут и учитывает средний успех за этот период.

После завершения добавления условия следующим шагом будет выбор канала уведомления. Самый простой способ уведомления — оповещения по электронной почте. Вы можете выбрать адрес электронной почты, указанный в раскрывающемся списке «Каналы уведомлений» :

3cc10629830e7f13.png

Если вы отметите опцию «Уведомлять о закрытии инцидента», то после того, как инцидент будет помечен как закрытый, будет отправлено еще одно уведомление. В этом случае вам также следует выбрать продолжительность автозакрытия инцидента , которая по умолчанию равна 7 дням.

Последний шаг — дать вашему оповещению имя и добавить любую документацию, которую вы хотите включить в уведомления.

686fb1c537fee10.png

Рекомендуется предоставить документацию, особенно если вы не будете получать оповещение. Добавление таких шагов, как, например, где проверять во время инцидента, а также как сортировать и отлаживать, может помочь во время сбоя. При необходимости вы можете обратиться к нашему Руководству по устранению неполадок .

После сохранения ваша политика оповещений будет указана в разделе «Политики» на странице «Оповещения».

c71a001e4df035ee.png

5. Устранение сбоев в работе

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

Получение оповещений

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

43217b0a145c2cd.png

Обратите внимание, что в уведомлении о предупреждении указывается наблюдаемое значение, превышающее указанный вами порог, а также временная метка, указывающая, когда инцидент впервые начался.

Мониторинг инцидентов

По мере возникновения инцидентов они также будут учитываться в разделе «Инциденты» на странице «Оповещения».

fdd883a9604ed981.png

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

Помните, что при получении оповещений лучший первый шаг — просмотреть ваши показатели, а затем найти в журналах ошибки, которые привели к сбою. Вы можете получить дополнительную информацию о том, как это сделать, в нашей лаборатории кода «Отладка умного дома» .

6. Поздравления

17d485868a6771bc.png

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

Следующие шаги

На основе этой Codelab попробуйте выполнить следующие упражнения и изучите дополнительные ресурсы:

  • Вы можете комбинировать то, что вы узнали в этой лаборатории кода, с другими метриками, предоставленными в вашем проекте. Полный список доступных метрик вы можете увидеть в разделе «Поддерживаемые метрики» на странице «Мониторинг» .
  • Изучите другие типы каналов уведомлений для оповещений, которые описаны на странице «Параметры уведомлений» документации Google Cloud Platform.