Начало работы с мониторингом Genkit

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

Ключевые возможности Firebase Genkit Monitoring включают в себя:

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

Для настройки мониторинга Genkit необходимо выполнить задачи как в вашей кодовой базе, так и в Google Cloud Console.

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

  1. Если вы еще этого не сделали, создайте проект Firebase.

    В консоли Firebase нажмите «Добавить проект» и следуйте инструкциям на экране. Вы можете создать новый проект или добавить сервисы Firebase к уже существующему проекту Google Cloud.

  2. Убедитесь, что ваш проект включен в тарифный план Blaze .

    Genkit Monitoring опирается на данные телеметрии, записываемые в Google Cloud Logging, Metrics и Trace, которые являются платными сервисами. Посетите страницу цен на Google Cloud Observability, чтобы получить подробную информацию о ценах и узнать об ограничениях уровня бесплатного использования.

  3. Напишите функцию Genkit, следуя руководству по началу работы , и подготовьте код к развертыванию, используя одно из следующих руководств:

    1. Развертывание потоков с помощью облачных функций для Firebase
    2. Развертывание потоков с помощью Cloud Run
    3. Развертывание потоков на любой платформе Node.js

Шаг 1. Добавьте плагин Firebase

Установите плагин @genkit-ai/firebase в свой проект:

npm i save @genkit-ai/firebase

Импортируйте enableFirebaseTelemetry в файл конфигурации Genkit (файл, в котором инициализируется genkit(...) ) и вызовите его:

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry();

Шаг 2. Включите необходимые API

Убедитесь, что для вашего проекта GCP включены следующие API:

Эти API должны быть перечислены на панели управления API вашего проекта.

Шаг 3. Настройте разрешения

Плагин Firebase должен использовать сервисную учетную запись для аутентификации в сервисах Google Cloud Logging, Metrics и Trace.

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

  • Модуль записи метрик мониторинга ( roles/monitoring.metricWriter )
  • Агент Cloud Trace ( roles/cloudtrace.agent )
  • Средство записи журналов ( roles/logging.logWriter )

Шаг 4. (Необязательно) Проверьте свою конфигурацию локально.

Перед развертыванием вы можете запустить код Genkit локально, чтобы убедиться, что данные телеметрии собираются и доступны для просмотра на панели мониторинга Genkit Monitoring.

  1. В коде Genkit установите для forceDevExport значение true , чтобы отправлять данные телеметрии из локальной среды.

  2. Используйте свою учетную запись службы для аутентификации и проверки вашей конфигурации.

    С помощью инструмента Google Cloud CLI выполните аутентификацию с помощью сервисной учетной записи:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
    
  3. Запустите и активируйте функцию Genkit, а затем просмотрите метрики на панели мониторинга Genkit Monitoring . Подождите до 5 минут, чтобы собрать первую метрику. Эту задержку можно уменьшить, установив metricExportIntervalMillis в конфигурации телеметрии.

  4. Если метрики не отображаются на панели мониторинга Genkit, просмотрите руководство по устранению неполадок , чтобы узнать, как выполнить отладку.

Шаг 5. Пересоберите и разверните код.

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