cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

REST API Usage - DC RUM

ricardo_julia
Participant

> Is there a way for us to define a simple report in the CAS server UI and then invoke that report via a REST call and get the resulting data as Json?

> That way integration would consist of defining a specific "integration report" (or reports) that define all the data you want to retrieve, and then we would periodically invoke those reports and transform the resulting data to our downstream components.

> That would be a lot easier than us trying to configure everything in our own UI and invoking getDMIData calls. So far I have been unable to get any data using getDMIData, all I ever get back is {} even if the json I post is malformed. I never receive error messages or error response codes if I submit invalid requests, which makes debugging this very hard. If I submit Json that I believe to be valid, with valid appId, viewId, resolution, dimension and metrics, I still get nothing.

8 REPLIES 8

Thanks for your input. We are preparing such a feature for 12.4 release. 

frank_sauer
Inactive

Thank you. Do you have an estimate when 12.4 will be available?

ricardo_julia
Participant

Guys, Thank You very much, here's a code snippet, see if you can find whats wrong?

 

I created a simple DMI report that exports the following data from the UI (showing the appId, viewId, dimension and metric ids )

 

# Data Mining Interface
# Application: Central Analysis Server
# Application Id: CVENT
# Data View: Software service, operation, and site data
# Data View Id: ClientView
# Warning: No data in the current context until 5/6/15 00:00
# Filters: Software service=easyTravel
# User filters: none
# 5/5/15 00:00 - 5/12/15 00:00
# Software service,Client TCP data packets (Pkts),
# Column Ids: appl,CPTCP,
 
easyTravel,7983.0,
 
I am trying the following JSON against the GetDMIData3 endpoint:
{
  "appId" : "CVENT",
  "viewId" : "ClientView",
  "dimensionIds" : [ "appl" ],
  "metricIds" : [ "CPTCP" ],
  "resolution" : "1",
  "timeOut" : 10800000,
  "timePeriod" : "7D",
  "numberOfPeriods" : 1,
  "dimFilters" : [ [ "appl", "easyTravel", false ] ]
}
which I believe to be the equivalent... 
However, all I ever get as a response is {}
 
Is this JSON correct? 
I would also be very interested in a process to help me debug what is going on here. Is there any logging happening in the CAS server that could point me to the problem?

My first guess would be that you miss "timeBegin" and "timeEnd" which should have timestamps like those generated by javascript new Date().now() 

As for 12.4 - the GA release is planned for November 2015, but there will be EAP starting in July and Beta starting in September.

frank_sauer
Inactive

Thanks Sebastian, my understanding is those are optional if timePeriod and numberOfPeriods are specified. I did in the mean time figure out what one of the problems was. I Chrome's postman which am using as a test rest client I had to specify the Content-Type of my request as application/json which I had not done. As soon as I did that, I was getting better error messages that led me to the correct Json. Looking forward to 12.4

 

Thanks

ricardo_julia
Participant

Thanks again for your help with getting DMI data for metrics. I now moved on to the next phase… events, or alarms, alerts, they go by many different names…

Can you give me an overview of how alerts work in DC RUM? I have a few specific questions as well:

* The alert logs in CAS as well as ADS shows time, name, severity, description and a bunch of parameters, but it has no dimensions to show where the alerts came from….?
  How do I know what application/service generated the alert? Or is the alert log the wrong way to get these, if so what is the right way?
* I understand alerts are basically defined on metrics with thresholds. How can I get a list of all defined alerts via the REST API? I need to present a configuration screen with a list of available alerts to our users that lets them select the ones they want to send downstream.
* Would I have to query both the CAS and ADS servers to get a complete list of alerts generated during a period? Or is everything that is available in ADS also available in CAS?

That’s it for now, I appreciate any help you can give me on these.

 

@frank.sauer@j9tech.com

Hi Ricardo,

Looking at your requirements, the data view "Alerts Log" will provide you the list of alerts and add various dimensions/metrics. If one of the parameters in the alert is the app name, the app name will be listed in the DMI.

The alert log data view is available in the CAS and the ADS.

To get a list of all alerts, you can build a DMI with the Alert log data view and add the dimensions " Description and Name". It will show you enabled and disabled alerts. If you want to see the number of emails sent, you can add the metric "Number of emails sent".

Hope this helps.

Regards,

Harshal.

While we can extract the values of fired alerts, there still doesn't seem to be a way to send a DMI query to extract the list of all defined alerts in the system. Just adding 'Description' and 'Name' to the list of dimensions doesn't produce the desired result. Any additional insight here appreciated. Once again, the goal is to obtain a list of all possible alerts and whether they are enabled/disabled.