API Management Metrics
API Management Metrics services collect the metadata of API calls through the API Gateway or the Web Services Server and allows you to retrieve the data using a GraphQL client. Metrics services return information such as the count of calls per API, successful API requests, popular authentication types for APIs, and the quota status of a subscribed API.
Boomi retains metrics data for 540 days. If you require usage for a longer period of time, back up data as necessary.
If you have multi-node Gateways, runtime clusters, or Clouds, you can add the following to enable the Working Data Local Storage Directory: com.boomi.container.localDir
If the working data local storage directory is not configured, events are reported in <base_dir>/<localhost_id>/events.
Ensure that there is sufficient disk space available. Metrics requires approximately 1 KB per request, per day. Files roll over each day and removed when not needed.
Endpoint
https://api.boomi.com/graphql
Metrics Data Locations
Metrics data locations:
- For Runtimes, the metrics data is written to the
<installation>/eventsdirectory. - For Gateways, runtime clusters, and Clouds, the metrics data is written to the
<local dir>/eventsdirectory.
You may need to verify that your network security settings are not blocking metrics reporting. Runtimes and Gateways hit the following endpoints for metrics reporting:
wss://atom.boomi.com/service/runtime-events/receiverhttps://atom.boomi.com/service/runtime-events/receiver/1/process
Configure Metrics Data
All of the following properties can be configured on the Gateway or the container property.
Maximum File Size
You can configure the maximum file size for metrics events files. The default is 1 GB (1073741824 bytes) by default for Gateways and 4MB (4194304 bytes) for Runtimes. The value of this property must be defined in bytes.
-
For Gateways, configure the
com.boomi.container.apigateway.metrics.maxFileSizecontainer property. -
For Runtimes, configure the
com.boomi.container.sharedServer.http.metrics.maxFileSizecontainer property.
Event Rollover Time
You can configure the event rollover time for Gateways and Runtimes. By default, this is set at six hours but can be changed to 24 hours or less.
- For Gateways, configure the
com.boomi.container.apigateway.metrics.maxFileAgecontainer property. - For Runtimes, configure the
com.boomi.container.sharedServer.http.metrics.maxFileAgecontainer property.
404 Errors
You can configure if 404 errors are captured for metrics data. By default, this is set to false.
- For Gateways, set the
com.boomi.container.apigateway.metrics.reportNotFoundcontainer property to true. - For Runtimes, set the
com.boomi.container.sharedServer.http.metrics.reportNotFoundcontainer property to true.
Event File Flushing
You can configure when an event file is flushed to disk. This is useful for low-traffic Runtimes or Gateways that are running on Windows. The default is 0, which means that flushing will be delegated to the OS. For example, if you set this property to 10, it would take a maximum of 10 events before the events are flushed to the disk and can then be reported and viewed in the metrics dashboard.
- For Gateways, configure the
com.boomi.container.apigateway.metrics.flushAfterEventscontainer property. - For Runtimes, configure the
com.boomi.container.sharedServer.http.metrics.flushAfterEventscontainer property.
Query Syntax
There are two queries for API Management metrics:
-
deployedApiCallDetail: This query returns API request details that match the filters in the input object. 1000 results are returned by default and this is not configurable. If additional records exist, it populates thenextRequestTsandnextTransactionIDfields in the return object.deployedApiCallDetail(input: DeployedApiCallDetailInput!): DeployedApiCallDetail! -
deployedApiCallSummary: Returns grouped and aggregated API request info as specified by the request fields and applies the filters specified in the input object. You can optionally provide a field namedTimeIntervalfor grouping data.TimeIntervalshould be given in a way such that the records can be grouped into 1000 or less groups.deployedApiCallSummary(input: DeployedApiCallSummaryInput!): DeployedApiCallSummary!
Using the filter attribute
You cannot filter the following fields from the platform:
- Gateway
- Runtime
- deployedApi
To filter by API Key, use:
filter: "client.subscription.apiKeyId = 'f1xxxx77-fxxc-4e19-b144-6efxxxxxxxf6e' "
To filter using the like operator, use:
filter: "requestUrl like '%8077/wS%'"
The like operator does not work for date and can filter for string values only. Use >, < , and = to search.