<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
问题
使用 统计信息收集器 政策不会显示在“Google Analytics 自定义报告”的“自定义维度”下, Edge 界面。
错误消息
每个 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 属性路径
诊断
通过
<ph type="x-smartling-placeholder"></ph>
启用 Analytics API,以填充 /organizations/
在 ZooKeeper 树中此 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
通常,如果一个组织有多个新成员都参与了 使用相同的 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" : { }
具体而言,如果为每个会话配置的 postgres-server UUID axgroup 相同。快速确定这种情况的方法是运行以下命令:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
以下示例输出通过快速比较 postgres-server UUID 来确定 它们相同:
{ "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 服务器分配给两个 axgroup。 最快的解决方法是从一个 axgroup 中删除 postgres 服务器信息 然后将所有范围(组织、环境组合)分配给其他群组。为此, 请按以下步骤操作:
- 按照说明从两个 axgroup 之一中移除 postgres 服务器组件 <ph type="x-smartling-placeholder"></ph> 在分析群组中添加和删除分析组件。 如果您只遇到非生产范围的问题,请选择 本练习没有任何生产范围。否则,请选择具有 最小数量的范围。
- 从不再包含任何 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'
- 使用 <ph type="x-smartling-placeholder"></ph> 启用 Analytics 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 界面中。
如果问题仍然存在,请参阅必须收集诊断信息。
必须收集的诊断信息
按照上述步骤操作后,如果问题依然存在,请收集 以下诊断信息。请与 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