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

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Dấu hiệu

Khi bạn dùng tập lệnh apigee-provision để tạo một tổ chức mới, đôi khi tập lệnh sẽ thoát với một thông báo lỗi. Sau lỗi này, nếu bạn cố gắng xem Trang tổng quan về 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 Báo cáo đã hết thời gian chờ cho tổ chức mới tạo.

Thông báo Lỗi

Khi chạy tập lệnh apigee-provision để 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ể thao tác trên tổ chức mới tạo sau khi tập lệnh cung cấp thoát. Tuy nhiên, khi cố gắng xem Trang tổng quan về giao diện người dùng Edge, bạn sẽ thấy thông báo lỗi bên dưới cho 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ể dẫn đến vấn đề này

Nguyên nhân Nội dung mô tả Hướng dẫn khắc phục sự cố á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 nhóm máy chủ Postgres. Người dùng Edge Private Cloud

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 đầu ra có cho thấy nhiều nhóm Analytics được xác định hay không. Ví dụ:

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

    Đầu ra mẫu cho thấy 2 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":{  
     }
    }

    Đầu ra này cho thấy có 2 nhóm phân tích là axgroup-001 và axgroup001.

  2. Kiểm tra để đảm bảo tất cả các nhóm phân tích đều có phạm vi được xác định.

    Trong đầu ra của nhóm phân tích mẫu như minh hoạ ở 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ó các máy chủ Postgres được xác định là kho dữ liệu.

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

    qpid-stat -q
    

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

    Số liệu thống kê sau đây về hàng đợi Qpid cho biết không có thông báo nào đến 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 dur autoDel excl msg msgIn msgOut byte bytesIn bytesOut cons bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Có Có 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Có 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Có 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Có 0 241.000 241.000 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl Có 323 323 0 52,4 triệu 52,4 triệu 0 0 2

    Vì không có thông báo/lưu lượng truy cập nào cho nhóm phân tích cụ thể axgroup-001, nên bạn thấy lỗi "Báo cáo hết thời gian chờ" trong trang tổng quan của Giao diện người dùng Edge hoặc trong trang tổng quan 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 nào 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á người dùng cho axgroup cụ thể.

  1. Sử dụng API quản lý sau để xoá từng người 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 lệnh gọi API tương tự ở trên nếu có nhiều người tiêu dùng, đề 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.

    Đối với ví dụ nêu trên, API sau đây sẽ xoá người dùng có 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 cùng một API để xoá người tiêu dùng khác có UUID là 7794c428-e553-4ed2-843d-69f93bbec8a3 trong ví dụ này.

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

  1. Sử dụng API quản lý sau đây để xoá các nhóm người 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. 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 có UUID 7794c428-e553-4ed2-843d-69f93bbec8a3 trong ví dụ này:

    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á các máy chủ postgres khỏi axgroup

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

  1. Sử dụng API quản lý sau đây để xoá nhóm phân tích:

    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 đã bị xoá hoàn toàn hay chưa

  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ả đầu ra ở trên. Thao tác này xác nhận rằng axgroup-001 đã bị xoá hoàn toàn.

Bước 7: Khởi động lại các 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 edge-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 phân tích hay không.

Nếu vấn đề vẫn tiếp diễn, hãy chuyển đến phần Thông tin chẩn đoán bắt buộc.

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

Nếu vấn đề vẫn tiếp diễn ngay cả sau khi bạn làm theo hướng dẫn ở trên, vui lòng thu thập thông tin chẩn đoán sau đây. Liên hệ với Nhóm hỗ trợ Apigee Edge và chia sẻ thông tin bạn thu thập được.

  1. Thiết lập cấu trúc của bản cài đặt Đám mây riêng tư (số lượng máy chủ đã thiết lập, số lượng của từng thành phần).
  2. Đầu ra 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