Превышено время ожидания отчета

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Symptom

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

Сообщение об ошибке

При запуске скрипта apigee-provision для создания новой организации может появиться следующее сообщение об ошибке:

!!!! Error !!!! 
HTTP STATUS CODE: 400 
{ 
"code" : "dataapi.service.PGFoundInMultipleGroups", 
"message" : "dataapi.service.PGFoundInMultipleGroups", 
"contexts" : [ ] 
} 

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

The report timed out
Try again with a smaller date range or a larger aggregation interval.

Вот скриншот с ошибкой:

Возможные причины

Cause Описание Инструкции по устранению неполадок, применимые к
Настройка нескольких групп AX Создано несколько групп аналитики с одним и тем же набором серверов Postgres. Пользователи Edge Private Cloud

Причина: настроено несколько групп AX

диагностика;

  1. Выполните следующий запрос к API управления группами Аналитики и проверьте, указано ли в выходных данных более одной группы Аналитики. Пример:

    curl -u adminEmail:adminPwd http://<ms_ip>:8080/v1/analytics/groups/ax
    

    Пример выходных данных с двумя группами аналитики

    {  
     "name":"axgroup-001",
     "properties":{  
     },
     "scopes":[  
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{
           }
        }
     ],
     "data-processors":{  
     }
    },
    {  
     "name":"axgroup001",
     "properties":{  
        "consumer-type":"ax"
     },
     "scopes":[  
        "017pdspoint~dev",
        "010test~dev",
        "019charmo~dev",
        "009gcisearch1~dev",
        "000fj~trial-fjwan",
        "009dekura~dev",
        "008pisa~dev",
        "004fjadrms~dev",
        "018k5billing~dev",
        "004study14~dev",
        "001teama~dev",
        "005specdb~dev",
        "test~dev",
        "000fj~prod-fjwan",
        "012pjweb~dev",
        "020workflow~dev",
        "007ikou~prod-fjwan",
        "003asano~dev",
        "013mims~dev",
        "006studyhas~dev",
        "006efocus~dev",
        "002wfproto~dev",
        "008murahata~dev",
        "016mediaapi~dev",
        "015skillnet~dev",
        "014aclmanager~dev",
        "010fjppei~dev",
        "000fj~trial",
        "003esupport~dev",
        "000fj~prod",
        "005ooi~dev",
        "test~elb1",
        "007fjauth~dev",
        "011osp~dev",
        "002study~dev",
        "999test~dev"
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "aries-datastore":[  
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ],
        "dw-server":[  
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{  
           }
        }
     ],
     "data-processors":{  
     }
    }

    Из этого вывода следует, что существует две группы аналитики: axgroup-001 и axgroup001.

  2. Убедитесь, что для всех групп аналитики заданы области действия.

    В приведенном выше примере выходных данных аналитических групп у аналитической группы axgroup-001 не определены области действия, но в качестве хранилищ данных указаны серверы Postgres.

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

    qpid-stat -q
    

    Пример статистики очереди Qpid

    Приведенные ниже данные статистики очереди Qpid указывают на то, что в очередь определенной группы аналитики из приведенного выше примера (axgroup-001) не поступают сообщения:

    queue dur autoDel excl msg msgIn msgOut байты bytesIn bytesOut Минусы bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Да Да 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Да 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Да 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Да 0 241 тыс. 241 тыс. 0 21,7 г 21,7 г 12 2
    ax-q-axgroup001-consumer-group-001-dl Да 323 323 0 52,4 м 52,4 м 0 0 2

    Поскольку для определенной аналитической группы axgroup-001 нет сообщений или трафика, на панели управления Edge или на панелях управления аналитикой появляется ошибка "Время ожидания ответа отчета истекло".

Разрешение

Чтобы устранить эту проблему, удалите axgroup, у которого нет областей действия и который не получает трафик.

Чтобы удалить axgroup, выполните следующие действия :

Шаг 1. Удалите потребителей для определенной группы axgroup.

  1. Чтобы удалить каждого потребителя из axgroup, используйте следующий API управления:

    curl -v -u admin@email.com:password -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}/consumers/{uuid-of the consumer}'
    
  2. Если потребителей несколько, повторите описанный выше вызов API, указав UUID каждого из них в отдельном вызове.

    В примере выше следующий API удаляет потребителя с идентификатором UUID 5c1e9690-7b58-499a-a4bb-d54454474b8f::

    curl -v -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/5c1e9690-7b58-499a-a4bb-d54454474b8f'
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
  3. Повторно запустите тот же API, чтобы удалить другого потребителя, UUID которого в этом примере – 7794c428-e553-4ed2-843d-69f93bbec8a3.

Шаг 2. Удалите группы потребителей

  1. Чтобы удалить группы потребителей из определенного axgroup, используйте следующий API управления:

    curl -v -u admin@email.com:password -X DELETE 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}'
    

    Пример

    Следующий API удаляет название группы потребителей consumer-group-001:

    curl -v -X DELETE 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001'
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

Шаг 3. Удалите серверы qpid из группы axgroup

  1. Чтобы удалить qpid-servers из определенного axgroup, используйте следующий API управления:

    curl -X DELETE -u admin@email.com "http://localhost:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={qpid-server-uuid}type=qpid-server" -H "Content-type: application/json"
    
  2. Если серверов Qpid несколько, повторно выполните тот же вызов API.

    Пример

    Чтобы удалить сервер Qpid с UUID 7794c428-e553-4ed2-843d-69f93bbec8a3, используйте следующий API:

    curl -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=7794c428-e553-4ed2-843d-69f93bbec8a3&type=qpid-server" -H "Content-type: application/json"
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    }
    

Шаг 4. Удалите серверы postgres из группы axgroup

  1. Если сервер Postgres один, используйте следующий API управления, чтобы удалить его:

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-server-uuid}&type=postgres-server&force=true"
    
  2. Если у вас настроены основной и подчиненный серверы Postgres, используйте следующий API управления, чтобы удалить серверы Postgres:

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-master-uuid,postgres-slave-uuid}&type=postgres-server&force=true"
    

    Пример

    В примере выше есть основной и подчиненный серверы Postgres, поэтому для их удаления можно использовать следующий API:

    curl -v -X DELETE -H 'Accept:application/json'  "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=3b28b790-ec4e-45c5-a8d0-6d6f2088da65,750cd8ba-1799-4dfb-8c74-548010e95e5e&type=postgres-server&force=true"
    
    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ ],
    "uuids" : {
    "qpid-server" : [ ],
    "postgres-server" : [ ]
    },
    "consumer-groups" : [ ],
    "data-processors" : {
    }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
    

ШАГ 5. Удалите группу аналитики

  1. Чтобы удалить группу Аналитики, используйте следующий API управления:

    curl -v -X DELETE "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}"
    

    Пример

    curl -v -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001"
    {
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
      },
      "consumer-groups" : [ ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

ШАГ 6. Проверьте, полностью ли удалена группа

  1. Чтобы проверить, полностью ли удалена определенная группа Аналитики, используйте следующий API управления:

    curl -v -u admin@email.com -X GET "http://{mgmt-server-host}:8080/v1/analytics/groups/ax 
    

    Пример

    curl localhost:8080/v1/analytics/groups/ax
    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "017pdspoint~dev", "010test~dev", "019charmo~dev", "009gcisearch1~dev", "000fj~trial-fjwan", "009dekura~dev", "008pisa~dev", "004fjadrms~dev", "018k5billing~dev", "004study14~dev", "001teama~dev", "005specdb~dev", "test~dev", "000fj~prod-fjwan", "012pjweb~dev", "020workflow~dev", "007ikou~prod-fjwan", "003asano~dev", "013mims~dev", "006studyhas~dev", "006efocus~dev", "002wfproto~dev", "016mediaapi~dev", "015skillnet~dev", "014aclmanager~dev", "010fjppei~dev", "000fj~trial", "003esupport~dev", "000fj~prod", "005ooi~dev", "test~elb1", "007fjauth~dev", "011osp~dev", "002study~dev" ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "aries-datastore" : [ ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "dw-server" : [ ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    

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

Шаг 7. Перезапустите процессы

Следующие процессы на компьютерах Qpid и Postgres:

  1. Перезапустите apigee-qpidd.
  2. Перезапустите edge-qpid-server.
  3. Перезапустите edge-postgres-server.
  4. Перезапустите apigee-postgresql.

Шаг 8. Проверьте данные

Проверьте, отображаются ли данные на страницах статистики.

Если проблема не устранена, перейдите к разделу Сбор диагностической информации.

Обязательная диагностическая информация

Если проблема не устранена, соберите следующую диагностическую информацию. Свяжитесь со службой поддержки Apigee Edge и предоставьте собранную информацию.

  1. Архитектура установки частного облака (количество хостов, количество каждого из компонентов).
  2. Выходные данные следующих команд:

    1. Группа "Аналитика"

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Статистика очереди Qpid на каждом из компьютеров с Qpid

      qpid-stat -q
      
    3. Статус Google Analytics

      curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus