Dotcom-Monitor allows you to send data with real-time monitoring statistics or custom information to third-party software, web applications, or real-time dashboards. This real-time report data can include such information as:
- Statistics on your Dotcom-Monitor account utilization (used and available resources per solution).
- A state and status of one or a set of monitoring devices.
- Response details received for one or a specified set of devices. The request for the response information can be highly customized to a necessary level of details using a number of request parameters.
- Monitoring devices and tasks configuration data.
To publish on-demands real-time reports Dotcom-Monitor uses the XML Reporting Service framework.
The XML Reporting Service (XRS) is a free n on-demand service that provides data via HTTP requests. The XML feed delivers monitored device information for web applications and websites in a custom format. Use-case examples include: an ISP providing independent uptime, performance and up-to-minute status of their services to their customers via a web site; or a Data Center integrating monitoring data with their internal applications.
By sending a properly formatted HTTP(S) GET request to xmlreporter.dotcom-monitor.com with valid parameters, you will receive an XML document with the requested data (see the specifications on the request parameters in the corresponding section of the article). You can work with the data from the XML document as you need. Possibilities include importing the data into another system, SQL database, dashboard, or publishing it into Microsoft Excel.
Opposite to Dotcom-Monitor shareable dashboards and other types of built-in reports, using the XML Feed you can pull only parameters you want to work with or see on your dashboard in other types of third-party applications that support XML data sources. For example, you can create a visualization of the web performance of particular devices from your Dotcom-Monitor account with the maximum available level of details. The flexible XRS framework allows you to pull only metrics that are most important for your project. A big number of XML Feed request parameters are available to customize your request – you can choose if you want to receive a brief summary on the monitoring devices from your account or you wish to have overall data on each monitoring device. Let’s look closer at how detailed your data can be. You can configure your request to receive:
- Summary data, such as uptime/downtime, number of successes, and number of failures, performance data, and standard deviation.
- High-detailed report with raw data for a requested period (up to the last 6 months).
- Response data aggregated into hour-long periods.
- Response data aggregated into 24h-long periods for a specified period.
- Summary by week for the specified period.
- Statistical data calculated over a 3-month period.
- Summary by month for a specified period.
- Summary by year for a specified period.
Also, using the request parameters you can specify the start and end date and time for reporting. To execute an analysis of the hourly and daily load (Average Response Time, Response Time STDDev, Downtime Percentage, etc.), you can pull a report with averages calculated over a specified period (for example, a week period).
If you have ever pull Online Reports for your monitoring device in Dotcom-Monitor, you may probably find it convenient to use its Uptime/Downtime chart. Using the XRS framework you can also receive an XML report with device statistics broken down by uptime and downtime periods.
You can also apply Dotcom-Monitor Filters (Configure > Filters) to the data in your reports. Using the Schedules (Configure > Schedules) created in your Dotcom-Monitor account you can publish only results that were received during a period specified in a particular scheduler.
In addition, you can pull only successful or only failure responses on your choice, filter the report statistics by monitoring locations in your XML Feed report, etc. See the descriptions of all the available parameters in the corresponding section of this article.
Configuring HTTP Requests to XML Feed
The XML Feed request is an URL with a number of GET parameters, separated by a “&” symbol.
An XML request consists of the following items:
[base_url_address] + [unique_account_uid] + [Site_id] + [parameter1]&[parameter2]…
https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx ?pid=4229AF4F0FB545AEA75EAF2013E51BB7 &Site=12345 &Type=Overall https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx ?pid=78799A2394884BA880A4DCAC62AAE90D &Site=57628 &Type=Detail&location=NY, USA
To create an XML request you need your account Unique Identifier (UID) to use as the request parameter [unique_account_uid] . This ID can be found when logged in to your account in the navigation menu under Configure > Integrations > Unique Identifier (UID) for the XML Feed integration type.
Limitations on the Number of XML Feed Requests
The maximum number of requests to the XML Report Service is 1 every 10 seconds.
If you submit more than one request within 10 seconds, XRS returns an XML document with the next allowed request time as follows:
- <error> You have reached maximum allowable requests limit per IP [192.168.107.97] </error>
- <nextAllowedTime>Tuesday, February 18, 2014 7:50:26 PM</nextAllowedTime>
- <nextAllowedTimeGMT>Tuesday, February 18, 2014 4:50:26 PM</nextAllowedTimeGMT>
Available Request Components
XML Response Fields
In this section, you can find descriptions on some fields from the Dotcom-Monitor XML Feed:
<Response> <ID>3424533543</ID> <Name>Demo request</Name> <URL>http://demo.webportal.com/APIv1/json?userid=test;userweight=22;ACT=DASW</URL> <Monitoring-Date-Time>3/26/2014 12:38:38 PM</Monitoring-Date-Time> <Duration>114</Duration> <DnsTime>0</DnsTime> <SSLTime>0</SSLTime> <ConnectionTime>15</ConnectionTime> <RequestTime>0</RequestTime> <FirstPacketTime>97</FirstPacketTime> <DownloadTime>2</DownloadTime> <Status>S</Status> <Monitoring-Location>FL, USA</Monitoring-Location> </Response>
- Duration – overall time that has been taken to complete the task (basically – the sum of times below)
- DNSTime – is the time required to resolve a hostname (e.g. www.google.com) into a numeric IP address (e.g. 184.108.40.206).
- SSLTime – is the time required to complete the SSL handshake process.
- ConnectionTime – is the time required to create a TCP connection to the webserver (or proxy). Keep-Alive connections are often used to avoid the overhead of repeatedly connecting to the webserver.
- RequestTime – is the time required to send the HTTP request message to the server and will depend on the amount of data that is sent to the server. For example, long Send times will result from uploading files using an HTTP POST.
- FirstPacketTime – (Time To First Byte) time elapsed to start receiving data from the remote web server. In other words, the time between request and response first byte received.
- DownloadTime – is the time taken to read the response message from the server. This value will depend on the size of the content returned, network bandwidth, and whether HTTP compression was used. In other words, the time between response first and last bytes.