Analyze Daily Device Resource Usage (HRC) with REST API (Version 1.0)

Use HOST_RESOURCES_DAILY to view daily average CPU and memory usage (HRC of all applications running on your monitored devices (NOT the resources of a single app).

For example, if you want to verify whether a specific laptop model uses too much CPU, and correlate it with other attributes to find a possible cause, you can see the resource usage of a specific device model, and compare values in different business locations, operating systems and so on. Use the daily aggregation data, because an hourly aggregation would be too granular to troubleshoot an issue like this. If the problem appears to be more short-term, use HOST_RESOURCES_HOURLY.

Each entry from HOST_RESOURCES_DAILY represents the average resource usage of a single device for one day. This data includes PII (personally identifiable information).Use HOST_RESOURCES_DAILY_ANONYMIZED to return data without PII.

Note

You can access data using this API (retention) going back up to 92 days. If you do not add a relative_time filter, by default it returns data for the past 7 days.

Before You Begin

To send a REST API query in Excel, PowerBI or a browser, enter the URL of the REST API, your Aternity username (must have the OData REST API role) and its password. You can find this by selecting User icon > REST API Access. SSO users must generate (once) and use a special password, as Aternity's REST API does not authenticate with your enterprise's identity provider.

To view an Aternity REST API, enter the base URL from User icon > REST API Access, followed by the name of the API: <base_url>/API_NAME into a browser, Excel or PowerBI (learn more). :

Tip

Wherever possible, use $select and $filter to narrow your query, to avoid receiving an error like Returned data is too large. Learn more.

Examples

To access this API from a browser, Excel or Power BI (learn more), enter <base URL>/HOST_RESOURCES_DAILY.

For example, to analyze which laptop model uses too much CPU and troubleshoot the reasons for that issue, use this syntax to compare laptop CPU use aggregated by business location, device model, number of CPU cores, CPU frequency, and OS version: .../HOST_RESOURCES_DAILY?$filter=SERVING_DEVICE_TYPE eq 'Laptop'&$select=BUSINESS_LOCATION,DEVICE_MODEL,CPU_CORES,CPU_FREQUENCY,OS_VERSION,CPU_UTILIZATION_AVG

Supported Parameters

You can view the data by entering the URL into Excel, into a browser, or into or any OData compatible application such as Power BI.

You can add parameters to the URL to filter the returned data, by adding a question mark (?) followed by a parameter and value, such as .../API_NAME?$filter=(USERNAME eq 'jsmith@company.com'), or several parameter-value pairs each separated by an ampersand (&), like .../API_NAME?$format=xml&$top=5.

Parameter Description
$select=

Use $select to return only specific columns (attributes), to make queries more efficient: ...API_NAME?$select=COL1,COL2,COL3

$filter=

Use $filter to insert conditions that narrow down the data, to return only entries where those conditions are true..

To limit the timeframe of a query, add $filter=relative_time() like, .../API_NAME?$filter=relative_time(last_x_hours) or (last_x_days). Learn more.

Create conditions with operators: and, or, eq (equals) gt (greater than), ge (greater than or equal), lt (less than), le (less than or equal), ge (greater than or equal to), ne (not equal to), le (less than or equal to), not and contains. Use operators with parentheses to group conditions logically: .../API_NAME?$filter=(COLUMN1 eq 'value1' or COL2 neq 'val2') and (COL3 gt number) and not (COL4 eq 'val4' or contains(COL5,'val5'))

$format=

Use $format to force the returned data to be either in XML or JSON format. This is only useful for testing the raw data in a web browser. For example: .../API_NAME?$format=xml

$orderby=

Use $orderby to sort the returned data according to the value you choose. For example, .../API_NAME?$orderby=LOCATION

$top=

Use $top (lower case only) when you are initially testing the response of the API by returning the first few entries.

For example, to return the first five entries (not sorted), use: ...API_NAME?$top=5

$search is NOT supported.

Do not use $search in Aternity's REST APIs.

Output

Each entry from HOST_RESOURCES_DAILY represents the average resource usage of a single device for one day. If you use $select to display only specific columns, it makes the query faster by grouping all rows with identical attribute values into a single row with aggregated measurements.

You can access data using this API (retention) going back up to 14 days. If you do not add a relative_time filter, by default it returns data for the past 7 days.

The API returns two types of columns: Attributes (or dimensions) which are the properties of an entry, and Measurements which are the dynamic measured values. A single API row can display either a single measurement, or a weighted average of several entries grouped together. If you use $select to display several attributes, and all those attributes are identical, it groups them into a single entry.

Type Returned columns

Measurements

CPU_Utilization_Avg,Disk_Io_Read_Avg,Disk_Io_Write_Avg,Disk_Queue_Length_Max,Hour_Running_Total, Network_Read_Avg,Network_Write_Avg,Physical_Memory_Util_Avg,Virtual_Memory_Util_Avg.

Attributes

Account_ID,Account_Name,Business_Location,Change_Pilot_Group,Channel,Client_Device_Type,CPU_Cores,CPU_Frequency,CPU_Generation,CPU_Model,CPU_Type,Custom_Attribute_1 - 6,Data_Center_Location,Days_From_Last_Boot,Device_Manufacturer,Device_Idle_This_Hour,Device_Model,Image_Build_Number,Line_Of_Business,Location_City,Location_Country,Location_Region,Location_State,Machine_Power_Plan,Market,Memory_Size,MS_Office_License_Type,MS_Office_Version,Network_Type,On_Site,On_VPN,OS_Architecture,OS_Disk_Type,OS_Name,OS_Version,Serving_Device_Name,Serving_Device_Type,Store_ID,Store_Type,Subnet,Timeframe,User_Department,User_Email_Address,User_Full_NameUser_Office,User_Role,User_Title,Username,Wifi_BSSID,Wifi_Channel,Wifi_Ssid.