API Management Services by APIs Test
Microsoft Azure APIM (Application Programming Interface Management) is a hybrid, multicloud management platform for APIs across all environments. Microsoft Azure API Management allows you to manage multiple APIs under multiple services and make it available to your customers. Since such APIs are typically of a business-critical nature, customers insist on their continuous availability and peak performance at all times. To avoid customer complaints, cloud administrators should constantly check the availability, responsiveness, and resource utilization of every APIs managed by the Azure API Management Services, swiftly identify those APIs that are experiencing availability, operational, or overall performance issues, and rapidly initiate measures to eliminate the bottleneck. The API Management Services by APIs test helps administrators in this regard.
By continuously tracking the status of each API managed by the Azure API Management Services, this test points administrators to APIs that are not running. HTTP responses sent by the API are also scrutinized and HTTP errors promptly captured and reported, so that administrators can quickly figure out why an API is unavailable.
Also, by monitoring the responsiveness of APIs to web requests, the test pinpoints APIs that are responding slowly to these requests and why - is it owing to a slow backend server? is it due to heavy request load on the APIs? or is poor API throughput the bottleneck?
Target of the test : Microsoft Azure API Management
Agent deploying the test : An external agent
Outputs of the test : One set of results for each Managed Service:API in the target Microsoft Azure API Management.
Parameters | Description |
---|---|
Test Period |
How often should the test be executed. |
Host |
The host for which the test is to be configured. |
Subscription ID |
Specify the GUID which uniquely identifies the Microsoft Azure Subscription to be monitored. To know the ID that maps to the target subscription, do the following:
|
Tenant ID |
Specify the Directory ID of the Azure AD tenant to which the target subscription belongs. To know how to determine the Directory ID, refer to Configuring the eG Agent to Monitor Microsoft Azure API Management Using Azure ARM REST API. |
Client ID, Client Password, and Confirm Password |
To connect to the target subscription, the eG agent requires an Access token in the form of an Application ID and the client secret value. For this purpose, you should register a new application with the Azure AD tenant. To know how to create such an application and determine its Application ID and client secret, refer to Configuring the eG Agent to Monitor Microsoft Azure API Management Using Azure ARM REST API. Specify the Application ID of the created Application in the Client ID text box and the client secret value in the Client Password text box. Confirm the Client Password by retyping it in the Confirm Password text box. |
Proxy Host and ProxyPort |
In some environments, all communication with the Azure cloud could be routed through a proxy server. In such environments, you should make sure that the eG agent connects to the cloud via the proxy server and collects metrics. To enable metrics collection via a proxy, specify the IP address of the proxy server and the port at which the server listens against the Proxy Host and Proxy Port parameters. By default, these parameters are set to none, indicating that the eG agent is not configured to communicate via a proxy, by default. |
Proxy Username, Proxy Password and Confirm Password |
If the proxy server requires authentication, then, specify a valid proxy user name and password in the Proxy Username and Proxy Password parameters, respectively. Then, confirm the password by retyping it in the Confirm Password text box. |
Slow response duration in seconds |
Specify the time limit in the Slow response duration in seconds text box for the request to get responded by the API. If the time taken for the response by the API is more than the set limit, then those responses are categorized as slow responses. |
Slow backend response duration in seconds |
Specify the time limit in the Slow backend response duration in seconds text box for the request to get responded at the backend of the API. If the time taken for the response at the backend of the API is more than the set limit, then those responses are categorized as slow responses. |
Resource Group |
A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Specify the name of the particular Resource Group which is a part of the Azure API Management to be managed in the Resource Group text box. |
APIM Service Name |
The Azure API Management allows you to manage multiple APIs under multiple services and reports the specific metrics for all APIs under each service. Specify the name of such Azure API Management Service in the APIM Service Name text box. |
Show all API instances |
To show all the API Instances capability in this test for a particular service, choose the Yes option. To disable the capability, click on the No option. |
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Total requests |
Indicates the total number of requests handled by this API. |
Number |
|
Backend requests |
Indicates the number of Backend requests handled by this API. |
Number |
|
Gateway requests |
Indicates the number of Gateway requests handled by this API. |
Number |
|
Total requests failed recently |
Indicates the total number of requests that recently failed in this API. |
Number |
Ideally, the value of this measure should be low. |
Gateway errors |
Indicates the number of Gateway errors encountered by this API. |
Number |
Ideally, the value of this measure should be zero. |
Requests failed due to backend |
Indicates the number of requests failed at the backend of this API. |
Number |
Ideally, the value of this measure should be low. |
Overall request latency for API host |
Indicates the overall time taken for request to be processed and a response to be delivered through this API host. |
Seconds |
Ideally, the value of this measure should be low.
|
Total backend latency |
Indicates the time taken by the request to be processed at Backend of this API. |
Seconds |
|
Total client latency |
Indicates the time taken by the request to be processed by this API at client's end. |
Seconds |
|
Capacity |
Indicates the percentage of requests handled by this API. |
Percent |
Ideally, the value of this measure should be high. |
Bandwidth consumed |
Indicates the amount of bandwidth consumed by this API. |
MB |
Compare the value of this measure across APIs to know which API is consuming bandwidth excessively. |
Cache hit ratio |
Indicates the ratio of failed cache to the total number of requests handled by this API. |
Percent |
A lesser value is a cause for concern, as it implies that the cache has failed to service a large majority of requests. |
Successful requests |
Indicates the percentage of successful requests served by this API. |
Percent |
Ideally, the value of this measure should be high. |
Slow requests |
Indicates the percentage of requests that were slowly processed in this API. |
Percent |
Ideally, the value of this measure should be low.
|
Number of slow requests |
Indicates the number of requests that were slowly processed in this API. |
Number |
|
HTTP successes |
Indicates the number of times the HTTP requests were successful in this API. |
Number |
|
HTTP redirections |
Indicates the number of times the HTTP requests were redirected to this API. |
Number |
|
HTTP client errors |
Indicates the total number of HTTP client errors encountered by this API. |
Number |
Ideally, the value of this measure should be zero. |
HTTP server errors |
Indicates the number of HTTP server errors encountered by this API. |
Number |
|
HTTP unauthorized errors |
Indicates the number of HTTP 401 errors i.e., unauthorized errors encountered by this API. |
Number |
|
HTTP forbidden errors |
Indicates the number of HTTP forbidden errors encountered by this API. |
Number |
|
HTTP not found errors |
Indicates the number of HTTP 404 errors i.e, HTTP not found errors encountered by this service. |
Number |
|
HTTP not acceptable errors |
Indicates the number of HTTP 406 errors encountered by this API. |
Number |
|
HTTP successes utilization |
Indicates the percentage of HTTP requests that were successful in this API. |
Percentage |
|
HTTP redirections utilization |
Indicates the percentage of HTTP requests that were redirected to this API. |
Percentage |
|
HTTP client errors utilization |
Indicates the percentage of HTTP client errors encountered by this API. |
Percentage |
Ideally, the value of this measure should be zero. |
HTTP server errors utilization |
Indicates the percentage of HTTP server errors encountered by this API. |
Percentage |
|
HTTP forbidden errors utilization |
Indicates the percentage of HTTP forbidden errors encountered by this API. |
Percentage |
|
HTTP not found errors utilization |
Indicates the percentage of HTTP 404 errors i.e, HTTP not found errors encountered by this API. |
Percentage |
|
HTTP not acceptable errors utilization |
Indicates the percentage of HTTP 406 errors that were encountered by this API. |
Percentage |
|
Cache hits |
Indicates the number of requests served by this API. |
Number |
Ideally, the value of this measure should be high. |
Cache misses |
Indicates the number of requests that were not served by this API. |
Number |
Ideally, the value of this measure should be 0 or very low. |
HTTP unauthorized errors utilization |
Indicates the percentage of HTTP 401 errors i.e., unauthorized errors encountered by this API. |
Percentage |
The detailed diagnosis of these measures lists the details like Time Generated, Correlation id, HTTP method, API URL, Response code, Request Size, Response Size, Cache and IP Address.
|
Failed requests not related to backend |
Indicates the number of failed requests that were not related to Backend of this API. |
Number |
|
Failed requests |
Indicates the percentage of requests failed in this API. |
Percent |