The metrics API allows you to monitor and manage applications and infrastructure. The metrics API enables real-time data collection and aggregation and provides insights into your system's performance. Additionally, DevOps teams can use the API to set up alerts, troubleshoot issues, and optimize resource allocation. By exposing these performance metrics, you can better detect anomalies and bottlenecks and be more proactive in system maintenance. Finally, the metrics API allows for the integration of a wide range of monitoring and visualization tools, enhancing the ability to observe complex systems.
As an administrator, you can use the metrics API with PromQL queries to directly query and obtain raw metrics that can be used by third-party viewers or graphical applications, such as Grafana, that may be running inside or outside of your cluster.
See Service usage statistics for further information.
The Prometheus monitoring system is used by the metrics API to collect these metrics from each GIS service pod and persist the information into a time-series database.
The metrics API is exposed in the usagestatistics API in the ArcGIS Enterprise Administrator directory. To access the metrics API, follow these steps:
- Go to the usagestatistics API in the administrator directory: https://organization.example.com/<context>/admin/usagestatistics.
- Click Rest Metrics API.
The metrics API application opens on a new tab.
- Sign in to the Prometheus web page.
By default, system-generated credentials are used to sign in. Before you sign in to the Prometheus dashboard, configure your organization and update your credentials. To update these credentials, use the Update Credentials operation in admin/usagestatistics.
Raw metrics collected by the metrics API
The raw metrics that are collected by the metrics API are described in the following table:
S.no | Metric name | Description | Type |
---|---|---|---|
1 | requests | Requests that can be used to find the rate of requests. | Counter |
2 | requests_succeeded | Succeeded requests that can be used to find the rate of succeeded requests. | Counter |
3 | requests_failed | Failed requests that can be used to find the rate of failed requests. | Counter |
4 | requests_usage_timedout | Requests that are usage timed out that can be used to find the rate of usage timed out requests. | Counter |
5 | requests_wait_timedout | Requests that are wait timed out that can be used to find the rate of wait time-out requests. | Counter |
6 | requests_response_time_seconds | Response times in seconds. Samples, observations, and counts are included in buckets of: 0.05, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, and Inf. | Histogram |
7 | gp_job_wait_time_seconds | Time taken for a geoprocessing job to be selected to run in seconds. Samples, observations, and counts are included in buckets of: 0.05, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, and Inf. | Histogram |
Labels captured by the metrics API
Along with each raw metric collected by the metrics API, the labels described in the following table are also collected and can be used to query metrics from the metrics API using PromQL queries and result filters:
Label name | Description |
---|---|
nodeName | The name of the machine with the service pod handling the request. |
podName | The name of the service pod handling the request. |
apiType | The API where the metric is collected. The current possible value is service, which represents a service request. |
folderName | The name of the folder where the service is created. |
serviceName | The name of the service, including the folder name in which the service resides. |
serviceType | The type of service, for example, a MapService or FeatureService. |
Operation | The requested operation, for example, a query or export. Note:Operation information is only available for REST requests. SOAP requests only return a value of soap. |
orgId | The organization ID. |
username | The username of the user making the request. |