Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Symptom
На панелях управления аналитикой (например, "Эффективность прокси" или "Эффективность целевой службы") в новом интерфейсе Edge нет данных. На всех панелях отображается следующее сообщение:
No traffic in the selected date range
Сообщения об ошибках
Эта проблема не приводит к заметным ошибкам.
Возможные причины
В таблице ниже перечислены возможные причины этой проблемы.
| Причина | Для кого |
|---|---|
| Нет трафика API для организации или среды | Пользователи Edge для частного облака |
| Данные доступны в базе данных Postgres, но не отображаются в новом интерфейсе Edge | Пользователи Edge для частного облака |
| Данные Аналитики не передаются в базу данных Postgres | Пользователи Edge for Private Cloud |
| Неправильное развертывание Google Аналитики | Пользователи Edge for Private Cloud |
| Устаревшие UUID сервера Аналитики | Пользователи Edge для частного облака |
Нет трафика API для организации и среды
диагностика;
- Проверьте, есть ли трафик для прокси API в определенной организации и среде за период, для которого вы пытаетесь посмотреть данные аналитики, одним из следующих способов:
- Включите трассировку для любого из API, который сейчас используется вашими пользователями, и проверьте, можете ли вы получить какие-либо запросы в трассировке.
- Проверьте журналы доступа NGINX (
/opt/apigee/var/log/edge-router/nginx/logs/access.log)) и посмотрите, есть ли в них новые записи для прокси-серверов API за определенный период. - Если вы регистрируете информацию из прокси-серверов API на сервере журналов, например Syslog, Splunk, Loggly и т. д., вы можете проверить, есть ли на этих серверах журналов записи для прокси-серверов API за определенный период.
- Если в течение определенного периода времени трафик отсутствует (нет запросов к API), то аналитические данные недоступны. На панели аналитики появится сообщение "Нет трафика за выбранный диапазон дат".
Разрешение
- Выполните несколько вызовов к одному или нескольким прокси API в определенной организации и среде.
- Подождите несколько секунд и проверьте, появились ли данные на вкладке "Час" на страницах статистики.
- Если проблема не исчезнет, перейдите к разделу Данные доступны в базе данных Postgres, но не отображаются в новом интерфейсе Edge.
Данные доступны в базе данных Postgres, но не отображаются в новом интерфейсе Edge
Symptom
Сначала определите, доступны ли последние данные Аналитики в базе данных Postgres.
Чтобы проверить, доступны ли последние данные Аналитики в главном узле Postgres, выполните следующие действия:
- Войдите на каждый из серверов Postgres и выполните следующую команду, чтобы проверить, находитесь ли вы на главном узле Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- На главном узле Postgres войдите в PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Проверьте, существует ли таблица для вашей среды организации, выполнив следующий SQL-запрос в базе данных Postgres:
\d analytics."orgname.envname.fact"
- Проверьте, доступны ли последние данные в базе данных Postgres, с помощью следующего SQL-запроса:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Если последнее временное значение очень старое (или нулевое), это означает, что в базе данных Postgres нет данных. Вероятная причина этой проблемы заключается в том, что данные не передаются с сервера Qpid в базу данных Postgres. Перейдите к разделу Данные Аналитики не передаются в базу данных Postgres.
- Если последние данные доступны в базе данных Postgres на главном узле, выполните следующие действия, чтобы диагностировать, почему данные не отображаются в новом пользовательском интерфейсе Edge.
диагностика;
- Включите Инструменты разработчика в браузере Chrome и получите API, используемый в одной из панелей аналитики, выполнив следующие действия:
- В инструментах разработчика выберите вкладку "Сеть".
- Начать запись.
- Перезагрузите панель управления Аналитики.
- На панели слева в инструментах разработчика выберите строку, содержащую apiproxy?_optimized....
- На панели инструментов разработчика справа выберите вкладку "Заголовки" и найдите URL запроса.
- Ниже приведен пример выходных данных из инструментов разработчика.
Пример выходных данных, показывающий API, используемый в панели управления производительностью прокси-сервера, на вкладке "Сеть" в Инструментах разработчика для панели управления производительностью прокси-сервера

- Выполните вызов Management API напрямую и посмотрите, получите ли вы результаты. Ниже приведен пример вызова API для вкладки "День" на панели "Сводка производительности прокси-сервера".
curl -u username:password "http://management_server_IP_address:8080/v1/organizations/ org_name/environments/env_name/stats/apiproxy?limit=14400& select=sum(message_count),sum(is_error),avg(total_response_time), avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error), avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+ 18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
- Если вы видите успешный ответ, но без данных, это означает, что сервер управления не может получить данные с сервера Postgres из-за проблем с подключением к сети.
- Проверьте, можете ли вы подключиться к серверу Postgres с сервера управления:
telnet Postgres_server_IP_address 5432
- Если вам не удается подключиться к серверу Postgres, проверьте, не блокируется ли порт 5432 брандмауэром.
- Если есть ограничения брандмауэра, это может быть причиной того, что сервер управления не может получить данные с сервера Postgres.
Разрешение
- Если есть ограничения брандмауэра, удалите их, чтобы сервер управления мог взаимодействовать с сервером Postgres.
- Если брандмауэр не блокирует подключение, проблема может быть связана с сетью.
- Если на сервере управления произошел сбой сети, перезапустите его.
- Перезапустите все серверы управления по одному, используя следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Проверьте, видны ли вам данные аналитики в новом интерфейсе Edge.
Если данные по-прежнему не отображаются, обратитесь в службу поддержки Apigee Edge.
Данные Аналитики не передаются в базу данных Postgres
диагностика;
Если данные не передаются с сервера Qpid в базу данных Postgres, как описано в разделе Данные доступны в базе данных Postgres, но не отображаются в новом интерфейсе Edge, выполните следующие действия:
- Проверьте, работает ли каждый из серверов Qpid, выполнив следующую команду:
/opt/apigee/apigee-service/bin edge-qpid-server status
- Если какой-либо сервер Qpid не работает, перезапустите его. В противном случае перейдите к шагу 5.
/opt/apigee/apigee-service/bin edge-qpid-server restart
- Подождите некоторое время, а затем проверьте, доступны ли последние данные в базе данных Postgres.
- Войдите в PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Чтобы проверить, доступны ли последние данные, выполните следующий SQL-запрос:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- Войдите в PostgreSQL:
- Если последние данные доступны, пропустите следующие шаги и перейдите к последнему шагу в разделе "Решение". Если последние данные недоступны, выполните следующие действия:
- Проверьте, отправляются ли сообщения из очередей сервера Qpid в базу данных Postgres.
- Выполните
qpid-stat -q commandи проверьте значения в столбцах msgIn и msgOut. - Ниже приведен пример выходных данных, в которых msgIn и msgOut не равны. Это означает, что сообщения не передаются с сервера Qpid в базу данных Postgres.

- Выполните
- Если значения в столбцах msgIn и msgOut не совпадают, проверьте журналы сервера Qpid
/opt/apigee/var/log/edge-qpid-server/system.logна наличие ошибок. - Вы можете увидеть сообщения об ошибках, например Probably PG is still down (Возможно, PG по-прежнему не работает) или FATAL: sorry, too many clients already (КРИТИЧЕСКАЯ ОШИБКА: слишком много клиентов), как показано на рисунке ниже.
2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
Это может произойти, если сервер Postgres выполняет слишком много SQL-запросов или ЦП работает на высокой мощности и поэтому не может ответить серверу Qpid.
Разрешение
- Перезапустите сервер Postgres и PostgreSQL, как показано ниже.
/opt/apigee/bin/apigee-service edge-postgres-server restart
/opt/apigee/bin/apigee-service apigee-postgresql restart
- Это позволит остановить все предыдущие SQL-запросы и подключиться к базе данных Postgres.
- Перезагрузите панели управления Аналитики и проверьте, отображаются ли данные Аналитики.
Если проблема не исчезнет, обратитесь в службу поддержки Apigee Edge.
Неправильная реализация Аналитики
диагностика;
- Чтобы получить статус развертывания аналитики, используйте следующий вызов API:
curl -u user_email:password http://management_server_host:port /v1/organizations/orgname/environments/envname/provisioning/axstatus
- Проверьте статус серверов Qpid и Postgres по результатам вызова API.
- Если статус серверов Qpid и Postgres – "УСПЕШНО", значит серверы аналитики подключены правильно. Перейдите к разделу Устаревшие UUID сервера Аналитики.
- Если статус серверов Qpid/Postgres отображается как UNKNOWN или FAILURE, это указывает на проблему с соответствующим сервером.
Например, в следующем сценарии статус серверов Postgres отображается как UNKNOWN:

Это может произойти, если при регистрации аналитики возникнет ошибка. В результате сообщения от серверов управления не доходят до серверов Postgres.
Разрешение
Обычно эту проблему можно решить, перезапустив серверы, на которых отображается статус "СБОЙ" или "НЕИЗВЕСТНО".
- Перезапустите каждый из серверов, у которых статус подключения к аналитике "FAILURE" или "UNKNOWN", с помощью следующей команды:
/opt/apigee/apigee-service/bin/apigee-service component restart
- Например:
- Если проблема возникает на серверах Qpid, перезапустите их:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Если проблема возникает на серверах Postgres, перезапустите узлы основного и подчиненного серверов Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Если проблема возникает на серверах Qpid, перезапустите их:
- В примере выше для серверов Postgres отображается сообщение "UNKNOWN", поэтому необходимо перезапустить основной и подчиненный серверы Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Устаревшие UUID серверов Аналитики
диагностика;
- Получите конфигурацию аналитики с помощью следующего вызова API:
curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
Вот пример выходных данных для приведенного выше API:
[ { "name" : "axgroup001", "properties" : { "consumer-type" : "ax" }, "scopes" : [ "myorg~prod", "myorg~test" ], "uuids" : { "aries-datastore" : [ ], "postgres-server" : [ "6777...2db14" ], "dw-server" : [ ], "qpid-server" : [ "774e...fb23", "29f3...8c11" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "774e...8c11" ], "datastores" : [ "6777...db14" ], "properties" : { } } ], "data-processors" : { } } ]
- Убедитесь, что в ответе правильно указаны следующие сведения:
- Названия org-env, перечисленные в элементе scopes.
- UUID серверов Postgres и Qpid.
- Получите UUID сервера Postgres, выполнив следующую команду на каждом узле сервера Postgres:
curl 0:8084/v1/servers/self/uuid
- Получите UUID серверов Qpid, выполнив следующую команду на каждом из узлов сервера Qpid:
curl 0:8083/v1/servers/self/uuid
- Получите UUID сервера Postgres, выполнив следующую команду на каждом узле сервера Postgres:
- Если все данные верны, перейдите к разделу Данные Аналитики не передаются в базу данных Postgres.
- Если UUID серверов Postgres и/или Qpid неверны, возможно, серверы управления ссылаются на устаревшие UUID.
Разрешение
Чтобы удалить устаревшие UUID и добавить правильные UUID серверов, обратитесь в службу поддержки Apigee Edge.