Forum Discussion

Vitor_Santos's avatar
5 years ago

Tegile IntelliFlash - API - Datasources?

Hello,

We're monitoring a lot of Tegile device(s) via SNMP (making use of the OOB datasources, however, those fail quite often). 
This is happening for the majority of our clients & after our NOC opened a case with Tegile directly (they stated there's a bug when using SNMP on the MGMT IP).

Having that in mind, I started leveraging the possibility of using Tegile API instead of SNMP.

Searched through the Exchange but found none developed yet. My idea would be replace the SNMP with API ones.I've found their documentation about API calls but, actually requires some help to put that into Groovy.

I'm able to do it in Python, but, Groovy is the way to go on LM.


Added their documentation related with the REST API to my github for everyone to see it -> https://github.com/vitor7santos/RestAPI_docs

Can someone perhaps help me out on how to do a simple API call into those on Groovy?

 

 

  • Anonymous's avatar
    Anonymous

    Getting it into your repository is the first step. I'd chat with support about that not working. Once it's in your repository, you can toggle the switch that will make it public. Since it has code, it will undergo code review by the Monitoring Engineering team and should be released shortly.

  • Hello Stuart,

    I was able to query the API on past Monday. Went further and developed all the DataSources we need (to mimic the SNMP monitoring).

    I would like to publish those into exchange but I'm not quite sure how. Tried to publish those into my repository but the window just keeps stuck on the loading phase for one of the DS. Perhaps you could give me some advise on how to do that. Those might be helpful for another folks or even for you guys to review it.

  • Anonymous's avatar
    Anonymous

    See if this gets you started. The simplest HTTP get in Groovy can be done like this:

    import com.santaba.agent.groovyapi.http.*
    my_url = "http://myurl.com"
    println(new URL(my_url).getText())
    return 0

    That assumes no authentication though, so it likely won't do. For that, take a look at https://github.com/sweenig/monitoring-recipes/blob/master/DataSources/Groovy/HTTP/Groovy_HTTP_GET_with_BasicAuth.groovy.  This example also shows how to convert the response from JSON into a Groovy map. Having it as a Groovy map allows you to access specific elements in the returned data.

     

  • 2 minutes ago, Stuart Weenig said:

    I'll be on vacation for a week after today but I can look at it after I get back. Is it mostly just http gets?


    From what I've read apparently it's mainly HTTP gets (replies in JSON ?)
    My issue is on creating a Groovy script for that (Java its not my thing).

    Thank you!

  • Anonymous's avatar
    Anonymous

    I'll be on vacation for a week after today but I can look at it after I get back. Is it mostly just http gets?