Время ожидания отчета истекло

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

Симптом

Когда вы используете сценарий 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.

Вот скриншот, показывающий ошибку:

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

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

Причина: установка нескольких групп 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), не поступает сообщений:

    очередь мажор автоDel исключая сообщение сообщение msgOut байты байтыВ байты Out минусы связывать
    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. Используйте следующий API управления, чтобы удалить каждого потребителя из axgroup :

    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.

    В примере, показанном выше, следующий 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. Используйте следующий API управления, чтобы удалить группы потребителей из конкретной axgroup :

    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. Используйте следующий API управления для удаления qpid-servers из определенной axgroup .

    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. Повторно запустите тот же вызов API, если имеется несколько серверов Qpid.

    Пример:

    Используйте следующий API для удаления сервера Qpid с UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 в данном примере:

    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. Используйте следующий API управления для удаления сервера Postgres, если существует один сервер Postgres:

    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. Используйте следующий API управления для удаления серверов Postgres, если у вас есть настройки главного и подчиненного 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 для удаления серверов Postgres:

    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-сервер.
  3. Перезапустите Edge-Postgres-сервер.
  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. Статус аналитики

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