About the Reports Resource
Last updated on 06 December, 2020You can use LogicMonitor’s REST API to programmatically manage the reports in your account.
Note that the following report types are not being released now, but are expected to be released in the next release or two:
- Audit Log Report
- Alert Forecasting Report
Using LogicMonitor’s REST API you can:
- Get a list of reports
- Get information about a particular report
- Add a report
- Update a report
- Delete a report
- Run a report
Note: As with all of our API calls, authentication is required.
Resource URI:
/report/reports
Resource Properties:
All reports have the following properties:
Property |
Description |
Type |
Example |
id | The id of the report | Integer | “id”:80 |
name | The name of the report | String | “name”:”Collector Task Trends” |
description | The description of the report | String | “description”:”My Report Description” |
type | Alert | Alert SLA | Alert trends | Alert threshold | Host inventory | Host metric trends | Host CPU | Interface Bandwidth | Website Service Overview | Service Level Agreement | Netflow device metric | String | “type”:”Host metric trends” |
groupId | The Id of the group the report is in, where Id=0 is the root report group | Integer | “groupId”:0 |
format | HTML | PDF | CSV. The format of the report | String | “format”:”HTML” |
delivery | none | email. Whether or not the report is configured to be delivered via email | String | “delivery”:”email” |
recipients | If the report is configured to be delivered via email, this object provides the recipients that the report will be delivered to. Each recipeint needs to include:
|
JSON Object | “recipients”:[{“type”:”admin”,”method”:”email”,”addr”:”sarah”,”comment”:””},{“type”:”admin”,”method”:”email”,”addr”:”Bill”,”comment”:””},{“type”:”arbitrary”,”method”:”email”,”addr”:”[email protected]”,”comment”:””}] |
schedule | A cron schedule that indicates when the report will be delivered via email. | String | “schedule”:”45 9 * * *” |
lastmodifyUserId | The Id of the user that last modified the report | Integer | “lastmodifyUserId”:67 |
lastmodifyUserName | The username of the user that last modified the report | String | “lastmodifyUserName”:”[email protected]” |
enableViewAsOtherUser | Whether or not other users are allowed to view the report as the user who last modified the report. | Boolean | “enableViewAsOtherUser”:true |
userPermission | The permissions associated with the user who made the API call | String | “userPermission”:”write” |
lastGenerateOn | The time, in epoch format, that the report was last generated | Integer | “lastGenerateOn”:1449024667 |
lastGenerateSize | The size of the report, in Bytes, the last time it was generated | Integer | “lastGenerateSize”:21891 |
lastGeneratePages | The number of pages in the report, the last time it was generated | Integer | “lastGeneratePages”:4 |
customReportTypeId | The id of the custom report template, if the report is a custom report. An id of 0 indicates that the report is not a custom report. | Integer | “customReportTypeId”:0 |
reportLinkNum | The number of links associated with the report, where each link corresponds to a generated report. | Integer | “reportLinkNum”:3 |
Alerts Report Properties
The following properties are specific to the Alerts Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report. Options include: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 24 hours” |
groupFullPath | The group filter used to determine which alerts will appear in the report. Glob expressions supported. | String | “groupFullPath”:”*” |
deviceDisplayName | The device filter used to determine which alerts will appear in the report. Glob expressions supported. | String | “deviceDisplayName”:”*” |
dataSourceInstanceName | The instance filter used to determine which alerts will appear in the report. Glob expressions supported. | String | “dataSourceInstanceName”:”*” |
dataPoint | The group filter used to determine which alerts will appear in the report. Glob expression supported. | String | “dataPoint”:”*” |
level | all | error | critical
|
String | “level”:”all” |
sortedBy | count | host | dataPoint | level | startOn | ackedOn. How displayed alerts will be sorted in the report. Note that if summaryOnly is set to true, you are limited to sortedBy= count | host | dataPoint. If summaryOnly is set to false, you cannot set sortedBy = count. | String | “sortedBy”:”count” |
includePreexist |
|
Boolean | “includePreexist”:false |
activeOnly |
|
Boolean | “activeOnly”:false |
summaryOnly |
|
Boolean | “summaryOnly”:true |
ackFilter | all | acked | nonacked
|
String | “ackFilter”:”all” |
sdtFilter | all | sdt | nonsdt
|
String | “sdtFilter”:”all” |
timing | overlap | start – Any alerts active during the specified dateRange will be displayed in the report if time=overlap. If time=start, only alerts that started during the specified dateRange will be displayed in the report. | String | “timing”:”overlap” |
dataSource | All alerts displayed in the report must have been triggered for the Datasources specified in this filter. | String | “dataSource”:”*” |
rule | All alerts displayed in the report must have been routed to the Rules specified in this filter. | String | “rule”:”*” |
chain | All alerts displayed in the report must have been routed to the Escalation Chains specified in this filter. | String | “chain”:”*” |
columns | The columns that will be displayed in the report. You should specify the columns in the order in which you’d like them to be displayed. All column names need to be included in this object, but each column should have an associated isHidden field that indicates whether it is displayed or not. NOTE that if summaryOnly is set to true you can only include these columns: Alerts, Group, Device, Instance, Datapoint. If summaryOnly is set to false you can include these columns: Severity, Group, Device, Instance, Datapoint, Thresholds, Value, Began, End, Rule, Chain, Acked, Acked By, Acked On, Notes, In SDT. | JSON Object | “columns”:[{“name”:”Severity”,”isHidden”:false},{“name”:”Group”,”isHidden”:false},{“name”:”Device”,”isHidden”:false},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Thresholds”,”isHidden”:false},{“name”:”Value”,”isHidden”:false},{“name”:”Began”,”isHidden”:false},{“name”:”End”,”isHidden”:false},{“name”:”Rule”,”isHidden”:false},{“name”:”Chain”,”isHidden”:false},{“name”:”Acked”,”isHidden”:false},{“name”:”Acked By”,”isHidden”:false},{“name”:”Acked On”,”isHidden”:false},{“name”:”Notes”,”isHidden”:false},{“name”:”In SDT”,”isHidden”:false}] |
Alert SLA Report Properties
The following properties are specific to the Alert SLA Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 14 days” |
hostsVal | The devices OR groups (use full path) selected for the report, where multiple entities are separated by commas. Note that glob is supported. | String | “hostsVal”:”Production/Server,AWS” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | String | “hostsValType”:”host” |
dataSource | The datasource instance selected for the report, in the format DatasourceName-InstanceName (If it is a single instance datasource you can just leave it at DatasourceName) | String | “dataSource”:”HTTP_Page-C:” |
dataPoint | The datapoints selected for the report, where multiple datapoints are separated by commas | String | “dataPoint”:”ResponseTime,Status” |
alertLevel | Warn | Error | Critical. The minimum severity of the alert statuses you’d like to evaluate for the specified devices and device groups. | String | “alertLevel”:”Warn” |
alertRule | The name of the Alert Rule that the datapoint alert you’re evaluating will be routed to. Note that if you do not select the correct alert rule, no matching alerts will be displayed | String | “alertRule”:”Prod Server Error/Critical” |
Alert Threshold Report Properties
The following properties are specific to the Alert Threshold Report:
Property |
Description |
Type |
Example |
groupFullPath | The full path of the group whose member devices you are going to include in the report. Glob expressions supported. | String | “groupFullPath”:”Production/Servers” |
deviceDisplayName | The display name of the device(s) to be included in the report. Glob expressions supported. | String | “deviceDisplayName”:”ip-172-31-33-214.us-west-2.compute.internal” |
dataSourceInstanceName | The name of the datasource instance to be included in the report, where the syntax should be dataSourceDisplayName-InstanceName. If you’re referencing a single instance datasource, you can just specify dataSourceDisplayName. Glob expressions supported. | String | “dataSourceInstanceName”:”*” |
dataPoint | The datapoint to be included in the report. Glob expressions supported. | String | “dataPoint”:”*” |
sortedBy | host | datasource | datapoint
|
String | “sortedBy”:”datasource” |
excludeGlobal |
|
Boolean | “excludeGlobal”:true |
Alert Trends Report Properties
The following properties are specific to the Alert Trends Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 7 days” |
metrics | The devices and groups that will be included in the report, where each device/group should be represented with two fields: itemType and itemVal | JSON Object | “metrics”:[{“itemType”:”host”,”itemVal”:”ip-172-31-33-214.us-west-2.compute.internal”},{“itemType”:”group”,”itemVal”:”Website”},{“itemType”:”host”,”itemVal”:”ip-172-31-37-162.us-west-2.compute.interal”}] |
Device Inventory Report Properties
The following properties are specific to the Device Inventory Report:
Property |
Description |
Type |
Example |
hostsVal | The devices OR groups (full path) selected for the report, where multiple entities are separated by commas | String | “hostsVal”:”AWS/EC2″ |
hostsValType | host | group. The type of entities specified in the hostsVal field. | String | “hostsValType”:”group” |
sortedBy | Specify a property that is included in the ‘properties’ list that should be used to sort the devices/groups displayed in the report | String | “sortedBy”:”system.aws.publicIpAddress” |
properties | The properties that should be displayed in the report | JSON Object | “properties”:[“system.aws.publicIpAddress”,”system.aws.resourceid”,”system.aws.region”,”system.aws.stateName”] |
Device Metric Report Properties
The following properties are specific to the Device Metric Report:
Property |
Description |
Required? |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | No. Defaults to Last 2 hours. | String | “dateRange”:”Last 14 days” |
hostsVal | The name of the devices OR groups selected for the report, where multiple entities are separated by commas. Glob expressions are supported. | Yes | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | Yes | String | “hostsValType”:”host” |
sortedBy | host | instance | metric
|
No. Defaults to host. | String | “sortedBy”:”host” |
rowFormat | 0 | 1 | 2 | 3
|
No. Defaults to 0. | Integer | “rowFormat”:1 |
top10Only | true | false
|
No. Defaults to false. | Boolean | “top10Only”:false |
metrics | The datapoint or calculation on a datapoint that will be included in the report, where each datapoint/calculation is specified by three fields: dataSourceId, instances (glob is okay) and metric (no glob) | Yes | JSON Object | “metrics”:[{“dataSourceId”:699,”instances”:”script”,”metric”:”SuccessExecuteTime”}] |
columns | The columns that will be displayed in the report. You should specify the columns in the order in which you’d like them to be displayed. All column names need to be included in this object, but each column should have an associated isHidden field that indicates whether it is displayed or not. | No. Defaults to displaying all columns. | JSON Object | “columns”:[{“name”:”Device”,”isHidden”:true},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Start”,”isHidden”:true},{“name”:”End”,”isHidden”:true},{“name”:”Min”,”isHidden”:false},{“name”:”Max”,”isHidden”:false},{“name”:”Average”,”isHidden”:false},{“name”:”Change(%)”,”isHidden”:false}] |
Interface Bandwidth Report Properties
The following properties are specific to the Interface Bandwidth Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report. Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 14 days” |
hostsVal | The devices OR groups selected for the report, where multiple entities are separated by commas | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
hostsValType | host | group. The type of entities specified in the hostsVal field. | String | “hostsValType”:”host” |
rowFormat | 0 | 1
|
Integer | “rowFormat”:1 |
Netflow Device Report Properties
The following properties are specific to the Netflow Device Report:
Property |
Description |
Type |
Example |
hostsVal | The devices OR groups (full path) selected for the report, where multiple entities are separated by commas. Glob is accepted. | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal” |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 2 hours” |
Server CPU Report Properties
The following properties are specific to the Server CPU Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 2 hours” |
hostsVal | The groups selected for the report, where multiple devices are separated by commas | String | “hostsVal”:”ip-172-31-33-214.us-west-2.compute.internal,ip-172-31-37-162.us-west-2.compute.interal” |
top10Only | true | false
|
Boolean | “top10Only”:true |
displayGraphs | true | false. Whether or not CPU graphs should be displayed at the end of the report | Boolean | “displayGraphs”:true |
SLA Report Properties
The following properties are specific to the SLA Report:
Property |
Description |
Type |
Example |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 30 days” |
metrics | The datapoints and corresponding SLA thresholds that will be included in the report, where each metric includes seven fields: groupName, deviceName, dataSourceFullName, dataSourceId, instances, metric and threshold. Threshold should comprise of an operator and a number separated by a space, where valid operators are >, <, !=, =, >= and <=. | JSON Object | “metrics”:[{“groupName”:”*”,”deviceName”:”*”,”dataSourceId”:368,”dataSourceFullName”:”*”,”instances”:”*”,”metric”:”UptimeMinutes”,”threshold”:”> 0″}] |
dayInOneWeek | The days of the week that the SLA report should take into account, where multiple values are separated by commas and * refers to all days of the week | String | “dayInOneWeek”:”*” |
periodInOneDay | The hours of each selected day that the SLA report should take into account, where * refers to all hours | String | “periodInOneDay”:”*” |
displaySummary | If true, the SLA summary (total %) will be displayed | Boolean | “displaySummary”:false |
unmonitoredTime | 0|1|2 – How the time we have no data for the device should be counted, where 1 = ignore no data (subtract from total time), 2 = count as violation (subtract from uptime), 3 = count as available (add to uptime) | Integer | “unmonitoredTime”:1 |
displayWithAvailability | If true, only devices with less than 100% availability will be displayed in the report. | Boolean | “displayWithAvailability”:false |
columns | the columns displayed in the report | JSON Object | “columns”:[{“name”:”Device”,”isHidden”:false},{“name”:”Datasource”,”isHidden”:false},{“name”:”Instance”,”isHidden”:false},{“name”:”Datapoint”,”isHidden”:false},{“name”:”Threshold”,”isHidden”:false},{“name”:”Available”,”isHidden”:false},{“name”:”Unavailable”,”isHidden”:false}] |
Website Service Overview Report Properties
The following properties are specific to the Website Service Overview Report:
Property |
Description |
Type |
Example |
servicesVal | The services OR service groups (full path) selected for the report, where multiple entities are separated by commas | String | “servicesVal”:”CName_check” |
servicesValType | service | group. The type of entities specified in the servicesVal field. | String | “servicesValType”:”service” |
dateRange | The Time Range configured for the report: Last 2 hours | Last 24 hours | Last calendar day | Last 7 days | Last 14 days | Last 30 days | Last calendar month | Last 365 days | Any custom date range in this format: YYYY-MM-dd hh:mm TO YYYY-MM-dd hh:mm | String | “dateRange”:”Last 2 hours” |
displayType | 1 | 2
|
Integer | “displayType”:1 |
includeTypes | The information that should be included in the report. Options include 1: availability, 2: alerts, 3: graphs | JSON Object | “includeTypes”:[1,2,3] |