Đã 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-provision để tạo một tổ chức mới, đôi khi tập lệnh bị thoát kèm theo một thông báo lỗi. Sau lỗi này, nếu cố xem Trang tổng quan về giao diện người dùng của Edge hoặc bất kỳ trang tổng quan nào về số liệu phân tích, 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 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ể 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 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.

Dưới đâ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 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 dịch vụ đám mây riêng tư của 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 thể hiện 2 nhóm 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 phân tích axgroup-001axgroup001.

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

    Trong kết quả của nhóm phân tích mẫu trình bày ở trên, nhóm Analytics axgroup-001 không có bất kỳ 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 số liệu 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 không đến 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ê về hàng đợi Qpid mẫu

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

    hàng đợi dur autoDel không bao gồm tin nhắn msgIn msgOut byte bytesIn bytesOut nhược điểm liên kết
    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 NGHÌN 241 NGHÌN 0 21,7 g 21,7 g 12 2
    ax-q-axgroup001-consumer-group-001-dl 323 323 0 52,4 triệu 52,4 triệu 0 0 2

    Vì không có tin nhắn/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 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 nào.

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 một nhóm axgroup cụ thể.

  1. Hãy sử dụng API quản lý sau đây để xoá từng người tiêu 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 mã nhận dạng duy nhất (UUID) của từng người tiêu dùng trong một lệnh gọi API riêng.

    Trong ví dụ ở trên, API sau đây sẽ xoá người 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 cùng một 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. Sử dụng API quản lý sau để 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á máy chủ qpid-server 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 có 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 đây để xoá các máy chủ Postgres nếu bạn đã thiết lập chính và Postgres slave

    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ụ, nên 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 dữ liệu phân tích

  1. Hãy sử dụng API quản lý sau đây để xoá nhóm số liệu 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 chưa

  1. Hãy 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 liên quan đến nhóm Analytics cụ thể axgroup-001 trong dữ liệu đầu ra ở trên. Việc này nhằm 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 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 về số liệu phân tích hay không.

Nếu vấn đề vẫn tiếp diễn, hãy chuyển đến phần 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 vấn đề vẫn tiếp diễn sau khi đã làm theo các hướng dẫn ở trên, hãy thu thập thông tin chẩn đoán sau đây. Hãy liên hệ với Bộ phận hỗ trợ Apigee Edge và chia sẻ thông tin thu thập được.

  1. Thiết lập cấu trúc của bản cài đặt Private Cloud (số lượng máy chủ được thiết lập, số lượng của 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ê Hàng đợi Qpid trên mỗi 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