Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Этот раздел содержит справочную информацию по аналитическим метрикам, измерениям и фильтрам. Для получения более подробной информации об их использовании см. обзор API Analytics .
В этом разделе показаны названия метрик и измерений в том виде, в котором они отображаются в пользовательском интерфейсе, а также те названия, которые вам понадобятся при вызове API.
- Названия элементов пользовательского интерфейса вы увидите при создании пользовательских отчетов .
- Используйте имена, специфичные для API, при получении метрик , создании определения отчета или обновлении определения отчета .
Метрики
Ниже перечислены метрики API, которые можно получить в пользовательских отчетах и при вызовах API управления.
| Название пользовательских отчетов | Имя для использования в API управления | Функции | Описание |
|---|---|---|---|
| Среднее количество транзакций в секунду | tps | Никто | Среднее количество транзакций, то есть запросов к API-прокси, в секунду. Обратите внимание, что если количество транзакций за этот период относительно невелико, среднее количество транзакций в секунду может отображаться равным нулю в пользовательских отчетах, если число меньше двух знаков после запятой. Синтаксис API: |
| Попадание в кэш | cache_hit | сумма | Количество успешных API-запросов, в которых используется кэш ответов вместо ответа от целевого сервиса. Синтаксис API: |
| Количество элементов кэша L1 | ax_cache_l1_count | среднее, мин, макс | Возвращает количество элементов в кэше L1 (в оперативной памяти) на транзакцию за заданный период времени. Например, если вы выберете Синтаксис API: |
| Ошибки политики | policy_error | сумма | Общее количество ошибок в политике за указанный период времени. Ошибки в политике обычно возникают по умолчанию. Например, политика «Проверка ключа API» выдает ошибку, если в запросе передан недействительный ключ API, а политика «Арест пиковых нагрузок» выдает ошибку, если количество вызовов API превышает лимит, определенный в политике. Поэтому этот показатель полезен для выявления потенциальных проблемных мест в ваших API. Например, метрики policy_error, сгруппированные по параметру developer_app, могут помочь вам обнаружить, что срок действия ключа API или токена OAuth для данного приложения истек; или вы можете обнаружить, что определенный API-прокси выдает много ошибок Spike Arrest, что приведет к выводу, что лимит Spike Arrest этого прокси не учитывает увеличение трафика в праздничные дни. Ошибка политики регистрируется в аналитике только в том случае, если она приводит к сбою API-прокси. Например, если атрибут Измерение «Имя политики при ошибке» (ax_execution_fault_policy_name) полезно для группировки ошибок политики по имени политики. Ошибка целевого объекта (например, 404 или 503) не считается ошибкой политики. Такие ошибки учитываются как ошибки API-прокси (is_error). Синтаксис API: |
| Ошибки прокси-сервера | is_error | сумма | Общее количество сбоев API-прокси за указанный период времени. Сбой прокси может произойти при ошибке политики или при сбое во время выполнения, например, при ошибке 404 или 503 от целевого сервиса. Параметр Proxy (apiproxy) полезен для группировки сбоев API-прокси по типу прокси. Синтаксис API: |
| Задержка обработки запроса | request_processing_latency | среднее, мин, макс | Время (среднее, минимальное или максимальное) в миллисекундах , необходимое Edge для обработки входящих запросов. Отсчет времени начинается с момента поступления запроса в Edge и заканчивается моментом пересылки запроса целевому сервису. Используя различные параметры, вы можете исследовать задержки обработки запросов в зависимости от API-прокси, приложения разработчика, региона и так далее. Синтаксис API: |
| Запрос размера | размер запроса | сумма, среднее, минимум, максимум | Размер полезной нагрузки запроса, полученной Edge, в байтах . Синтаксис API: |
| Кэш ответов выполнен | ax_cache_executed | сумма | Общее количество выполнений политики кэширования ответов за указанный период времени. Поскольку политика кэширования ответов применяется в двух местах в API-прокси (один раз в запросе и один раз в ответе), она обычно выполняется дважды в одном вызове API. Операция «получение» из кэша и операция «запись» в кэш считаются одним выполнением каждая. Однако выполнение кэша ответов равно 0, если элемент В инструменте трассировки вы можете щелкнуть значок кэша ответов в выполненном вызове API и просмотреть переменную потока Синтаксис API: |
| Задержка обработки ответа | response_processing_latency | среднее, мин, макс | Время (среднее, минимальное или максимальное) в миллисекундах , необходимое Edge для обработки ответов API. Отсчет времени начинается с момента получения прокси-сервером API ответа от целевого сервиса и заканчивается, когда Apigee пересылает ответ исходному вызывающему абоненту. Используя различные параметры, вы можете исследовать задержки обработки ответов в зависимости от API-прокси, региона и т.д. Синтаксис API: |
| Размер ответа | размер ответа | сумма, среднее, минимум, максимум | Размер возвращаемого клиенту ответа в байтах . Синтаксис API: |
| Целевые ошибки | target_error | сумма | Общее количество ответов с кодом 5xx от целевого сервиса. Это ошибки целевого сервиса, не вызванные Apigee. Синтаксис API: |
| Целевое время отклика | target_response_time | сумма, среднее, минимум, максимум | Время (сумма, среднее, минимум или максимум) в миллисекундах , необходимое целевому серверу для ответа на вызов. Этот показатель отражает производительность целевых серверов. Отсчет времени начинается с момента переадресации запроса целевому сервису Edge и заканчивается моментом получения ответа Edge. Обратите внимание, что если вызов API возвращает ответ из кэша (например, с использованием политики кэширования ответов), вызов никогда не достигнет целевого сервиса, и никакие метрики времени ответа целевого сервиса не будут зарегистрированы. Синтаксис API: |
| Общее время отклика | общее_время_ответа | сумма, среднее, минимум, максимум | Время (сумма, среднее, минимум или максимум) в миллисекундах , прошедшее с момента получения Edge запроса от клиента до момента отправки Edge ответа клиенту. Это время включает в себя сетевые накладные расходы (например, время, необходимое балансировщикам нагрузки и маршрутизаторам для выполнения своей работы), задержку обработки запроса, задержку обработки ответа и целевое время ответа (если ответ предоставляется целевым сервисом, а не кэшем). Используя различные параметры, вы можете исследовать задержки обработки данных в зависимости от API-прокси, приложения разработчика, региона и так далее. Синтаксис API: |
| Трафик | количество сообщений | сумма | Общее количество вызовов API, обработанных Edge за указанный период времени. Используйте параметры для группировки данных о трафике таким образом, чтобы это было наиболее значимо для вас. Синтаксис API: |
Размеры
Измерения позволяют просматривать метрики в осмысленных группах. Например, отображение общего количества трафика становится гораздо более информативным, если вы просматриваете его для каждого приложения разработчика или API-прокси.
Ниже перечислены параметры, предоставляемые Apigee по умолчанию. Кроме того, вы можете создавать собственные параметры, как описано в разделе «Анализ содержимого сообщений API с использованием пользовательской аналитики» .
| Название пользовательских отчетов | Имя для использования в API управления | Описание |
|---|---|---|
| сущности Апигии | ||
| Токен доступа | access_token | Токен доступа OAuth конечного пользователя приложения. |
| API-продукт | api_product | Название API-продукта, содержащего вызываемые API-прокси. Для получения этого параметра приложения разработчиков, выполняющие вызовы, должны быть связаны с одним или несколькими API-продуктами, содержащими API-прокси, а вызываемые прокси должны проверять наличие ключа API или токена OAuth, отправленного вместе с вызовом API. Ключ или токен связаны с API-продуктом. Для получения дополнительной информации см . раздел «Первое, что нужно сделать: как сгенерировать полные аналитические данные» . Если указанные выше критерии не соблюдены, вы увидите значение "(не задано)". См. также Что означает значение аналитической сущности "(не задано)"? |
| Ключ кэша | ax_cache_key | Ключ, содержащий значение кэша ответов, к которому был осуществлен доступ. Дополнительную информацию о том, как формируется ключ для кэша ответов, см. в разделе «Политика кэша ответов» . В инструменте трассировки , если вы выберете политику кэширования ответов, которая считывала данные из кэша или записывала в него, вы сможете увидеть это значение в переменной потока |
| Название кэша | ax_cache_name | Имя кэша, содержащего ключи/значения, используемые политикой кэширования ответов, с префиксом orgName__envName__ . Например, если организация — "foo", среда — "test", а имя кэша — "myCache", то ax_cache_name будет foo__test__myCache. В инструменте трассировки при выборе политики кэширования ответов это значение можно увидеть в переменной потока |
| Источник кэша | ax_cache_source | Уровень кэширования (в оперативной памяти — L1, в базе данных — L2), из которого был получен кэш ответов. Этот параметр также отображает "CACHE_MISS", когда ответ был доставлен из целевого источника, а не из кэша (и кэш ответов был обновлен ответом целевого источника); или когда ключ кэша в запросе недействителен. Размер ключей кэша ограничен 2 КБ. В инструменте трассировки , при выборе политики кэширования ответов, это значение можно увидеть в переменной потока Для получения дополнительной информации об уровнях кэширования см. раздел «Внутренние механизмы кэширования» . |
| Идентификатор клиента | client_id | Ключ потребителя (ключ API) приложения разработчика, выполняющего вызовы API, независимо от того, передается ли он в запросе в виде ключей API или включен в токены OAuth. Для получения этого параметра необходимо настроить прокси-серверы, принимающие вызовы, на проверку наличия действительного ключа API или токена OAuth. Приложения для разработчиков получают ключи API, которые можно использовать для генерации токенов OAuth, при регистрации приложений в Edge. Для получения дополнительной информации см. раздел «Первое, что нужно сделать: как сгенерировать полные аналитические данные» . Если указанные выше критерии не соблюдены, вы увидите значение "(не задано)". См. также Что означает значение аналитической сущности "(не задано)"? |
| Приложение для разработчиков | разработчик_приложение | Приложение для разработчиков, зарегистрированное в Edge, выполняет вызовы API. Для получения этого параметра приложения должны быть связаны с одним или несколькими продуктами API, содержащими вызываемые API-прокси, а прокси должны проверять наличие ключа API или токена OAuth, отправленного вместе с вызовом API. Ключ или токен идентифицирует приложение разработчика. Для получения дополнительной информации см . раздел «Первое, что нужно сделать: как сгенерировать полные аналитические данные» . Если указанные выше критерии не соблюдены, вы увидите значение "(не задано)". См. также Что означает значение аналитической сущности "(не задано)"? |
| Электронная почта разработчика | developer_email | Адрес электронной почты разработчиков, зарегистрированных в Edge, чье приложение выполняло вызовы API. Для получения этого параметра разработчикам необходимо иметь приложения, связанные с одним или несколькими продуктами API, которые содержат вызываемые API-прокси, а прокси должны проверять наличие ключа API или токена OAuth, отправленного вместе с вызовом API. Ключ или токен идентифицирует приложение разработчика. Для получения дополнительной информации см . раздел «Первое, что нужно сделать: как сгенерировать полные аналитические данные» . Если указанные выше критерии не соблюдены, вы увидите значение "(не задано)". См. также Что означает значение аналитической сущности "(не задано)"? |
| Идентификатор разработчика | разработчик | Уникальный идентификатор разработчика, сгенерированный Edge, имеет формат org_name @@@ unique_id . Для получения этого параметра разработчикам необходимо иметь приложения, связанные с одним или несколькими продуктами API, содержащими вызываемые API-прокси, а прокси должны проверять наличие ключа API или токена OAuth, отправляемого вместе с вызовами API. Ключ или токен идентифицирует разработчика. Для получения дополнительной информации см . раздел «Первое, что нужно сделать: как сгенерировать полные аналитические данные» . Если указанные выше критерии не соблюдены, вы увидите значение "(не задано)". См. также Что означает значение аналитической сущности "(не задано)"? |
| Среда | среда | Пограничная среда, в которой развернуты API-прокси. Например, "test" или "prod". |
| Код ошибки | ax_edge_execution_fault_code | Код ошибки . Например: |
| Название потока при ошибке | ax_execution_fault _flow_name | Указание на поток в API-прокси, вызвавший ошибку. Например, "PreFlow", "PostFlow" или имя созданного вами условного потока. Обратите внимание, что полное имя, используемое в API управления, — ax_execution_fault_flow_name, без переноса строки. Если ошибок не произошло, вы увидите значение "(не задано)". |
| Поток ресурсов | flow_resource | Только для использования в Apigee. Если вам интересно, ознакомьтесь с этим сообщением на форуме сообщества . |
| Состояние потока при ошибке | ax_execution_fault _flow_state | Название потока прокси API указывает на то, что были вызваны ошибки, например, "PROXY_REQ_FLOW" или "TARGET_RESP_FLOW". Обратите внимание, что полное имя, используемое в API управления, — ax_execution_fault_flow_state, без переноса строки. |
| Идентификатор потока шлюза | gateway_flow_id | По мере прохождения API-запросов через Edge, каждому вызову присваивается свой собственный идентификатор потока шлюза. Пример: rrt329ea-12575-114653952-1. Идентификатор потока шлюза полезен для различения метрик в ситуациях с высокой пропускной способностью, когда другие параметры, такие как организация, среда и временная метка, идентичны для всех вызовов. |
| Организация | организация | Организация Edge, в которой развернуты API-прокси. |
| Название политики при ошибке | ax_execution_fault _policy_name | Название политики, вызвавшей ошибку и приведшей к сбою вызова API. Обратите внимание, что полное имя, используемое в API управления, — ax_execution_fault_policy_name, без переноса строки. Если политика выдает ошибку, но корневой атрибут политики |
| Прокси | апипрокси | Имя компьютера (а не отображаемое имя) API-прокси. |
| Базовый путь прокси | proxy_basepath | Базовый путь (BasePath) настраивается в ProxyEndpoint API-прокси. Базовый путь не включает домен и порт из URL-адреса API-прокси. Например, если базовый URL-адрес API-прокси — https://apigeedocs-test.apigee.net/releasenotes/, то базовый путь будет /releasenotes. Это значение также сохраняется в переменной потока |
| Суффикс пути прокси | proxy_pathsuffix | Путь к ресурсу, добавляемый к базовому пути API-прокси. Например, если базовый URL API-прокси — Если параметр pathsuffix не указан, значение пустое. Это значение также сохраняется в переменной потока |
| Пересмотр прокси-сервера | apiproxy_revision | Номер ревизии API-прокси, обрабатывавшего вызовы API. Это не обязательно означает последнюю ревизию API-прокси. Если у API-прокси 10 ревизий, то в данный момент может быть развернута 8-я ревизия. Кроме того, API может иметь несколько развернутых ревизий, если у этих ревизий разные базовые пути, как описано в разделе «Развертывание прокси в пользовательском интерфейсе» . |
| IP-адрес клиента определен | ax_resolved_client_ip | Содержит исходный IP-адрес клиента. Значение параметра Обратите внимание, что при использовании маршрутизирующих устройств, таких как Akamai, для захвата истинных IP-адресов клиентов, IP-адрес клиента передается в Edge в HTTP-заголовке Значение параметра
|
| Код состояния ответа | response_status_code | Код состояния HTTP-ответа, передаваемый от Apigee клиенту, например, 200, 404, 503 и так далее. В Edge код состояния ответа от целевого сервера может быть переопределен с помощью таких политик, как «Назначить сообщение» и «Вызвать ошибку» , поэтому этот параметр может отличаться от кода ответа целевого сервера (target_response_code) . |
| Виртуальный хост | виртуальный_хост | Имя виртуального хоста, к которому был выполнен вызов API. Например, у организаций по умолчанию есть два виртуальных хоста: default (http) и secure (https). |
| Входящие звонки/Клиенты | ||
| IP-адрес клиента | клиент_ip | IP-адрес системы, обращающейся к маршрутизатору, например, исходного клиента (proxy_client_ip) или балансировщика нагрузки. Если в заголовке X-Forwarded-For указано несколько IP-адресов, это последний из них. |
| Категория устройства | ax_ua_device_category | Тип устройства, с которого был выполнен вызов API, например, «Планшет» или «Смартфон». |
| Семейство ОС | ax_ua_os_family | Семейство операционных систем устройства, совершающего звонок, например, «Android» или «iOS». |
| Версия ОС | ax_ua_os_version | Версия операционной системы устройства, совершающего звонок. Полезно использовать это как второе измерение для детализации данных, например, семейство ОС (ax_ua_os_family), чтобы увидеть версии операционных систем. |
| IP-адрес прокси-клиента | proxy_client_ip | IP-адрес вызывающего клиента, хранящийся в переменной потока |
| IP-адрес клиента, которому был направлен запрос | ax_true_client_ip | При использовании маршрутизирующих устройств, таких как Akamai, для захвата реальных IP-адресов клиентов, IP-адреса клиентов передаются в Edge в HTTP-заголовке Для определения исходного IP-адреса клиента, доступ к которому осуществляется через параметр |
| Путь запроса | request_path | Путь к целевому сервису (без учета домена), за исключением параметров запроса. Например, целевой объект Apigee |
| URI запроса | request_uri | Путь к ресурсу (без учета домена) для целевого сервиса, включая параметры запроса. Например, целевой объект Apigee |
| Глагол запроса | request_verb | В запросах API используются такие HTTP-методы, как GET, POST, PUT, DELETE. |
| Агент пользователя | усерагент | Имя пользовательского агента или программного агента, используемого для выполнения вызова API. Примеры:
|
| Семейство пользовательских агентов | ax_ua_agent_family | Семейство пользовательских агентов, таких как "Chrome Mobile" или "cURL". |
| Тип пользовательского агента | ax_ua_agent_type | Тип пользовательского агента, например, «Браузер», «Мобильный браузер», «Библиотека» и так далее. |
| Версия пользовательского агента | ax_ua_agent_version | Версия пользовательского агента. Полезно использовать это как второе измерение для детализации с помощью параметра "Семейство пользовательских агентов" (ax_ua_agent_family), чтобы получить версию семейства агентов. |
| Исходящие/Цель | ||
| Базовый путь цели | target_basepath | Путь к ресурсу (без учета домена) для целевой службы, исключая параметры запроса, который определяется в параметре Например, предположим, что API-прокси вызывает следующую целевую точку: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> В этом примере target_basepath равен Если бы целью было следующее: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> </HTTPTargetConnection> Параметр target_basepath будет равен null. В инструменте «Трассировка» при выборе значка AX в конце блок-схемы переменная потока |
| Целевой хост | target_host | Хост целевого сервиса. Например, если API-прокси вызывает http://mocktarget.apigee.net/help , то target_host будет mocktarget.apigee.net . |
| Целевой IP-адрес | целевой_ip | IP-адрес целевого сервиса, возвращающего ответ прокси-серверу API. |
| Целевой код ответа | target_response_code | Код состояния HTTP-ответа, возвращаемый целевым сервисом API-прокси, например, 200, 404, 503 и так далее. Значение «null» означает, что запрос так и не достиг целевого сервиса. Это происходит, когда ответ обрабатывается политикой кэширования ответов или когда происходит сбой в обработке запроса. Это отличается от параметра «Код статуса ответа» (response_status_code) . |
| Целевой URL | target_url | Полный URL-адрес целевого сервиса, определенного в параметре TargetEndpoint API-прокси. <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> В этом примере target_url — это Обратите внимание, что URL-адрес также может быть переопределен во время обработки API-прокси с помощью переменной потока При использовании цепочки прокси и целевых объектов скриптов (Node.js) параметр target_url в вызывающем прокси имеет значение null. |
| X Переслано для | x_forwarded_for_ip | Список IP-адресов в заголовке Для определения исходного IP-адреса клиента, доступ к которому осуществляется через параметр |
| Время | ||
| День недели | ax_day_of_week | Трехбуквенное сокращение дня недели, для которого были выполнены вызовы API. Например, Mon, Tue, Wed. |
| Месяц | ax_месяц_года | Числовой номер месяца, в котором были выполнены вызовы API. Например, "03" означает март. |
| Время суток | ax_hour_of_day | Исходя из 24-часового формата времени, значение ax_hour_of_day будет равно 22 (двузначное число). Например, для вызовов API, совершенных в промежутке между 22:00 и 23:00, значение ax_hour_of_day будет равно 22. Время указано в формате UTC. |
| Часовой пояс | ax_geo_timezone | Общепринятые названия часовых поясов, из которых были сделаны вызовы API, такие как America/New_York и Europe/Dublin. |
| Неделя месяца | ax_неделя_месяца | Числовое обозначение недели месяца. Например, для вызовов API, сделанных на 3-й неделе месяца, значение ax_week_of_month будет равно 3. |
| Расположение | ||
| Город | ax_geo_city | Город, из которого были выполнены вызовы API. |
| Континент | ax_geo_continent | Двухбуквенный код континента, с которого были выполнены вызовы API. Например, NA означает Северную Америку. |
| Страна | ax_geo_country | Двухбуквенный код страны, из которой были выполнены вызовы API. Например, US означает Соединенные Штаты. |
| Географический регион | ax_geo_region | Код географического региона, состоящий из двух частей, например, STATE-COUNTRY. Например, WA-US означает Вашингтон, Соединенные Штаты. |
| Область | ax_dn_region | Название центра обработки данных Apigee, где развернуты API-прокси, например, us-east-1. |
| Монетизация | ||
| Сообщение об игнорировании транзакции Mint | x_apigee_mint_tx_ignoreMessage | Флаг, указывающий, следует ли игнорировать сообщения, связанные с монетизацией. Установите значение false для всех организаций, занимающихся монетизацией. |
| Статус транзакции монетного двора | x_apigee_mint_tx_status | Статус запроса на монетизацию, например, успех, неудача, недействителен или отсутствует. |
Фильтры
Фильтры позволяют ограничить результаты метриками с определенными характеристиками. Ниже приведены примеры фильтров. При определении фильтров используйте имена метрик и измерений в стиле API.
Возвращает метрики для API-прокси с именем books или music:
filter=(apiproxy in 'books','music')
Возвращает метрики для API-прокси, имена которых начинаются с "m":
filter=(apiproxy like 'm%')
Возвращает метрики для API-прокси, имена которых не начинаются с "m":
filter=(apiproxy not like 'm%')
Возвращает метрики для вызовов API с кодами состояния ответа от 400 до 599:
filter=(response_status_code ge 400 and response_status_code le 599)
Возвращает метрики для вызовов API с кодом состояния ответа 200 и целевым кодом ответа 404:
filter=(response_status_code eq 200 and target_response_code eq 404)
Возвращает метрики для вызовов API с кодом состояния ответа 500:
filter=(response_status_code eq 500)
Возвращает метрики для вызовов API, которые не привели к ошибкам:
filter=(is_error eq 0)
Ниже приведены операторы, которые можно использовать для создания фильтров отчетов.
| Оператор | Описание |
|---|---|
in | Включить в список |
notin | Исключить из списка |
eq | Равно, == |
ne | Не равно, != |
gt | Больше, чем, > |
lt | Меньше, < |
ge | Больше или равно, >= |
le | Меньше или равно, <= |
like | Возвращает true, если строковый шаблон соответствует заданному шаблону. |
not like | Возвращает false, если строковый шаблон соответствует заданному шаблону. |
similar to | Возвращает true или false в зависимости от того, соответствует ли шаблон заданной строке. Аналогично функции like , но интерпретирует шаблон, используя определение регулярного выражения в стандарте SQL. |
not similar to | Возвращает false или true в зависимости от того, соответствует ли шаблон заданной строке. Это похоже на not like , за исключением того, что он интерпретирует шаблон, используя определение регулярного выражения в стандарте SQL. |
and | Позволяет использовать логику «и» для включения более одного выражения фильтра. Фильтр включает данные, удовлетворяющие всем условиям. |
or | Позволяет использовать логику «или» для оценки различных возможных выражений фильтра. Фильтр включает данные, которые соответствуют хотя бы одному из условий. |