查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
問題
使用 統計資料收集器 政策不會顯示在 Analytics 自訂報表的「自訂維度」下方 Edge UI。
錯誤訊息
每次重新啟動後,Edge-postgres-server 系統記錄就會顯示以下錯誤 缺少路徑的機構/環境組合:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
可能原因
原因 | 說明 | 疑難排解操作說明 |
---|---|---|
機構和環境組合缺少 Zookeeper 屬性路徑。 | 當 ZooKeeper 路徑 /organizations/ 時
缺少自訂維度,無法建立自訂維度。 |
邊緣私有雲使用者 |
原因:機構和環境組合缺少 ZooKeeper 屬性路徑
診斷
您可以透過
啟用 Analytics API,填入 /organizations/
。如果這個 API 故障,edge-postgres-server 元件將無法建立
自訂維度,而 system.log 中會出現以下錯誤:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
一般來說,如果有多個機構在同一時間內完成新手上路,就會發生這種情形 使用的 Analytics 群組使用相同的 postgres-server UUID。確認有多少個分析資料 群組存在,請執行下列 API 呼叫:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
如果這個 API 傳回多個群組,很可能是問題原因。 在以下範例中,請注意有兩個群組,但以連字號僅以連字號區別: axgroup-001 和 axgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
具體來說,如果每個 axgroup 相同。要判斷這個問題,快速執行方法如下:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
下列範例輸出會快速比較 postgres-server UUIDs 以判斷 它們相同:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
解析度
同一組 PostgreSQL 伺服器無法指派給兩個 axgroups。 最快的解決方法是從單一 axgroup 刪除 postgres 伺服器資訊 並將所有範圍 (機構、環境組合) 指派給另一個群組。方法如下 步驟如下:
- 按照 於 在數據分析群組中新增及刪除數據分析元件。 如果只發現非實際工作環境範圍的問題,請選擇 這項練習「沒有」任何正式環境範圍。否則請選擇 擁有最小許可範圍
- 從 axgroup 中移除所有不再擁有 Postgres 伺服器的範圍,以及
或是 Axgroup 的自訂維度問題假設
上述範例中的
axgroup-001
是您要使用的群組,您可以 必須使用以下指令移除 myorg 機構的範圍。 以及 prod 環境:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- 使用 啟用數據分析 API。
- 重新啟動 postgres 主節點的 Edge-postgres-server 元件,並
Edge-qpid-server 元件您可能已安裝的指令,使用下列指令:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- 確認上方錯誤訊息一節中列出的錯誤
不再發生於 Postgres 伺服器的記錄檔
/opt/apigee/var/log/edge-postgres-server/logs/system.log
。 - 確認自訂維度是否顯示在 Edge UI 中。
如果問題仍未解決,請前往「Must Gather Diagnostic Information」。
必須收集診斷資訊
如果按照上述說明操作後仍無法解決問題,請收集 查看診斷資訊請與 Apigee Edge 支援聯絡,並提供以下資訊:
- Edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log
。 - 下列 Management API 呼叫的輸出內容:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- 使用下列指令取得的 ZooKeeper 樹狀結構輸出內容:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt