使用指标 API
指标 API 允许您监控和管理应用程序和基础设施。 指标 API 实现了实时数据收集和聚合,并提供了有关系统性能的见解。 此外,DevOps 团队可以使用 API 设置警报,解决问题并优化资源分配。 通过公开这些性能指标,可以更好地检测异常和瓶颈,并在系统维护中提高主动性。 最后,指标 API 允许集成各种监控和可视化工具,增强观察复杂系统的能力。
管理员可使用可进行 PromQL 查询的指标 API 直接查询和获取原始指标,这些原始指标可用于第三方查看器或运行在集群内外的图形应用程序,例如 Grafana。
指标 API 收集关于服务、用户和内容项的信息。 指标 API 使用 Prometheus 监控系统将收集的信息持久化到时间序列数据库中。
有关使用指标 API 优化服务和排除服务故障的更多信息,请参见服务指标。 有关可视化指标 API 收集的信息的更多信息,请参见查看指标。
访问指标 API
指标 API 在 ArcGIS Enterprise 管理员目录中的使用情况统计数据 API 中公开。 要访问指标 API,请按照以下步骤操作:
转至管理员目录中的使用情况统计数据 API:
https://organization.example.com/<context>/admin/usagestatistics。单击 Rest Metrics API。
随即在新选项卡中打开指标 API 应用程序。
登录到 Prometheus Web 页面。
默认情况下,将使用系统生成的凭据进行登录。 登录到 Prometheus 仪表盘前,配置组织并更新凭据。 要更新这些凭据,请使用
admin/usagestatistics中的更新凭据操作。
指标 API 公开的信息
您可以使用 Prometheus 获取 ArcGIS Enterprise 的指标。 以下表格汇总了可用的指标和标签,可用于 PromQL 查询和结果过滤器,以获取所需信息。
带有 _created 后缀的指标表示直方图和摘要的 Unix 时间(秒),自首次收集对应指标起算。 该值有助于理解指标的生命周期。 这些指标未包含在以下表格中。
服务指标
服务指标会为每项发布的服务报告。
|
名称 |
描述 |
类型 |
标注 |
|---|---|---|---|
|
requests_failed_total |
失败请求数 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType、username |
|
requests_response_time_seconds_bucket |
在小于或等于存储桶上限内完成的观测请求的累计数量,单位为秒 |
直方图 |
apiType、folderName、instance、instancePool、job、le、nodeName、operation、podName、responseCached、serviceName、serviceType |
|
requests_response_time_seconds_count |
所有存储桶中观测请求响应时间的总数 |
直方图 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType |
|
requests_response_time_seconds_sum |
所有观测请求的累计响应时间,单位为秒 |
直方图 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType |
|
requests_response_time_seconds_counter_total |
请求的响应时间总和,单位为秒 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType、username |
|
requests_succeeded_total |
成功请求数 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType |
|
requests_total |
请求数 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、operation、podName、responseCached、serviceName、serviceType、username |
|
requests_usage_timedout_total |
因超过最大使用时间而超时的请求数量 |
计数器 |
apiType、folderName、nodeName、operation、podName、serviceName、serviceType、username |
|
requests_wait_time_seconds_bucket |
等待处理的时间小于或等于存储桶上限(单位为秒)的请求累计数量 |
计数器 |
apiType、folderName、instance、instancePool、job、le、nodeName、podName、serviceName、serviceType |
|
requests_wait_time_seconds_count |
所有存储桶中观测到的请求等待时间的总数 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、podName、serviceName、serviceType |
|
requests_wait_time_seconds_sum |
所有观测请求的累计等待时间,单位为秒 |
计数器 |
apiType、folderName、instance、instancePool、job、nodeName、podName、serviceName、serviceType |
|
requests_wait_timedout_total |
因超过最大等待时间而超时的请求数量 |
计数器 |
apiType、folderName、nodeName、operation、podName、serviceName、serviceType、username |
|
up |
运行 pod |
计数器 |
instance、job |
组织指标
|
名称 |
描述 |
类型 |
标注 |
|---|---|---|---|
|
items_added_total |
增加的项目总数 |
计数器 |
componentName、instance、job、nodeName |
|
items_count |
项目总数 |
仪表 |
componentName、instance、job、nodeName |
|
items_deleted_total |
删除的项目总数 |
计数器 |
componentName、instance、job、nodeName |
|
items_updated_total |
更新的项目总数 |
计数器 |
componentName、instance、job、nodeName |
|
items_viewed_total |
查看的所有项目总数 |
计数器 |
componentName、instance、job、nodeName |
|
users_added_total |
增加的用户总数 |
计数器 |
componentName、instance、job、nodeName |
|
users_count |
用户总数 |
仪表 |
componentName、instance、job、nodeName |
|
users_login_total |
用户登录总数 |
计数器 |
componentName、instance、job、nodeName |
|
users_logout_total |
用户登出总数 |
计数器 |
componentName、instance、job、nodeName |
注:
指标 items_count 不包含 Esri 内容项目,如 Living Atlas 内容。
标注描述
| 标注名称 | 描述 |
|---|---|
| apiType | 收集指标的 API。 |
| folderName | 创建服务的文件夹名称。 |
| instance | 处理请求的服务 pod 的集群 IP 地址和端口。 |
| instancePool | 服务使用的实例池,可以是共享的,也可以是专用的。 |
| job | Prometheus 配置中定义的作业名称。 |
| le | 直方图指标中存储桶的上限。 |
| nodeName | 处理请求的服务所在的计算机的名称。 |
| operation | 请求的操作,例如查询或导出。 操作信息仅可用于 REST 请求。 SOAP 请求仅返回一个 SOAP 值。 |
| podName | 处理请求的服务 Pod 名称。 |
| responseCached | 表示响应是否由缓存提供的布尔指标。 |
| serviceName | 服务名称,包括服务所在的文件夹名称。 |
| serviceType | 服务类型,例如 MapService 或 FeatureService。 |
| username | 发起请求的用户的用户名。 |