Đã hết thời gian chờ báo cáo

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Triệu chứng

Khi bạn sử dụng tập lệnh apigee-provide để tạo một tổ chức mới, đôi khi tập lệnh thoát kèm theo thông báo lỗi. Sau lỗi này, nếu cố gắng xem Trang tổng quan giao diện người dùng Edge hoặc bất kỳ trang tổng quan phân tích nào, bạn sẽ thấy thông báo lỗi Đã hết thời gian chờ báo cáo cho tổ chức mới được tạo.

Thông báo lỗi

Khi chạy tập lệnh apigee-provide để tạo một tổ chức mới, bạn có thể thấy thông báo lỗi sau:

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

Ngay cả khi gặp lỗi này, bạn vẫn có thể hoạt động trên tổ chức mới tạo sau khi tập lệnh cấp phép thoát. Tuy nhiên, khi cố gắng xem Trang tổng quan giao diện người dùng Edge, bạn sẽ thấy thông báo lỗi dưới đây đối với tổ chức mới tạo:

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

Sau đây là ảnh chụp màn hình cho thấy lỗi:

Nguyên nhân có thể xảy ra

Nguyên nhân Mô tả Hướng dẫn khắc phục sự cố có thể áp dụng cho
Thiết lập nhiều nhóm AX Nhiều nhóm phân tích đã được tạo bằng cùng một bộ máy chủ Postgres. Người dùng đám mây riêng tư ở Edge

Nguyên nhân: Thiết lập nhiều nhóm AX

Chẩn đoán

  1. Thực thi API quản lý nhóm Analytics sau đây và xác định xem kết quả có cho thấy nhiều nhóm phân tích được xác định hay không. Ví dụ:

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

    Kết quả mẫu hiển thị hai nhóm số liệu phân tích

    {  
     "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":{  
     }
    }
    

    Kết quả này cho thấy có hai nhóm số liệu phân tích axgroup-001axgroup001.

  2. Kiểm tra để đảm bảo tất cả các nhóm Analytics đều đã xác định phạm vi.

    Trong kết quả đầu ra của nhóm phân tích mẫu nêu trên, nhóm phân tích axgroup-001 không có phạm vi nào được xác định nhưng vẫn có máy chủ Postgres được xác định là kho dữ liệu.

  3. Thực thi lệnh bên dưới về số liệu thống kê hàng đợi Qpid trên máy chủ Qpid và xác thực xem có thông báo nào được gửi đến nhóm phân tích cụ thể đã xác định ở bước 2 hay không.

    qpid-stat -q
    

    Mẫu số liệu thống kê về hàng đợi Qpid

    Số liệu thống kê hàng đợi Qpid sau đây cho biết không có thông báo nào cho hàng đợi nhóm phân tích cụ thể trong ví dụ được trích dẫn ở trên (axgroup-001):

    queue (hàng đợi) dur autoDel không bao gồm msg msgIn msgOut byte bytesIn bytesOut nhược điểm bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Y Y 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Y 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Y 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Y 0 241 NGHÌN 241 NGHÌN 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl Y 323 323 0 52.4m 52.4m 0 0 2

    Vì không có thông báo/lưu lượng truy cập nào đến cho nhóm phân tích cụ thể axgroup-001, nên bạn nhận thấy lỗi "Báo cáo đã hết thời gian chờ" trong trang tổng quan Giao diện người dùng Edge hoặc trong trang tổng quan về số liệu phân tích.

Độ phân giải

Để giải quyết vấn đề này, hãy xoá axgroup không có phạm vi và không nhận được lưu lượng truy cập.

Hãy làm theo quy trình bên dưới để xoá axgroup :

Bước 1: Xoá đối tượng tiêu dùng của nhóm axgroup cụ thể.

  1. Sử dụng API quản lý sau đây để xoá từng đối tượng sử dụng khỏi 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. Lặp lại cùng một lệnh gọi API ở trên nếu có nhiều người tiêu dùng, hãy đề cập đến UUID của từng người tiêu dùng trong một lệnh gọi API riêng biệt.

    Trong ví dụ nêu trên, API sau đây sẽ xoá người tiêu dùng có mã nhận dạng duy nhất (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. Chạy lại chính API đó để xoá người tiêu dùng khác có mã nhận dạng duy nhất (UUID) là 7794c428-e553-4ed2-843d-69f93bbec8a3 trong ví dụ hiện tại.

Bước 2 : Xoá nhóm người tiêu dùng

  1. Hãy sử dụng API quản lý sau đây để xoá nhóm người tiêu dùng khỏi axgroup cụ thể:

    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}'
    

    Ví dụ:

    API sau đây sẽ xoá tên nhóm người tiêu dùng 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
    }
    

Bước 3: Xoá qpid-servers khỏi axgroup

  1. Hãy sử dụng API quản lý sau đây để xoá qpid-servers khỏi axgroup cụ thể.

    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. Chạy lại cùng một lệnh gọi API nếu có nhiều máy chủ Qpid.

    Ví dụ:

    Sử dụng API sau để xoá máy chủ Qpid bằng UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 trong ví dụ hiện tại:

    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" : {
      }
    }
    

Bước 4: Xoá máy chủ postgres khỏi axgroup

  1. Sử dụng API quản lý sau đây để xoá máy chủ Postgres, nếu có một máy chủ 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. Sử dụng API quản lý sau để xóa máy chủ Postgres nếu bạn đã thiết lập máy chủ chính và máy chủ 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"
    

    Ví dụ:

    Trong ví dụ nêu trên, có các máy chủ Postgres chính và phụ, vì vậy, bạn có thể sử dụng API sau để xoá các máy chủ 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
    }
    
    

BƯỚC 5: Xoá nhóm số liệu phân tích

  1. Hãy sử dụng API quản lý sau đây để xoá nhóm Analytics:

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

    Ví dụ:

    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
    }
    

BƯỚC 6: Kiểm tra xem nhóm có bị xoá hoàn toàn không

  1. Sử dụng API quản lý sau đây để kiểm tra xem nhóm phân tích cụ thể đã bị xoá hoàn toàn hay chưa:

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

    Ví dụ:

    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" : {
      }
    } ]
    

    Lưu ý rằng không có thông tin nào liên quan đến nhóm phân tích cụ thể axgroup-001 trong kết quả ở trên. Điều này xác nhận rằng axgroup-001 đã bị xoá hoàn toàn.

Bước 7: Khởi động lại quy trình

Các quy trình sau đây trên máy Qpid và Postgres:

  1. Khởi động lại apigee-qpidd.
  2. Khởi động lại Edge-qpid-server.
  3. Khởi động lại cạnh-postgres-server.
  4. Khởi động lại apigee-postgresql.

Bước 8: Xác minh

Xác minh xem dữ liệu có xuất hiện trong trang tổng quan của Analytics hay không.

Nếu vấn đề vẫn tiếp diễn, hãy chuyển đến mục Phải thu thập thông tin chẩn đoán.

Phải thu thập thông tin chẩn đoán

Nếu sự cố vẫn tiếp diễn sau khi đã làm theo các hướng dẫn ở trên, hãy thu thập các thông tin chẩn đoán sau. Liên hệ với Nhóm hỗ trợ Apigee và chia sẻ thông tin thu thập được.

  1. Thiết lập cấu trúc cho bản cài đặt Đám mây riêng tư của bạn (số lượng máy chủ được thiết lập, số lượng mỗi thành phần).
  2. Kết quả của các lệnh sau:

    1. Nhóm Analytics

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. Số liệu thống kê về Hàng đợi Qpid trên từng máy Qpid

      qpid-stat -q
      
    3. Trạng thái Analytics

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