iHealth now has an API!

Did you ever wish that you had the collective knowlege of the might legions of the F5 Support organization at your beck and call?  Maybe you lay in bed dreaming of releasing an army of F5 engineers to scour over your BIG-IPs, looking for potential issues, misconfigurations, and aligning your configurations with known best practices.  Taking it even further (we're dreaming, right?) you envisioned a magical robot that would constantly keep watch over your BIG-IPs, checking them for issues, and alerting you when it found something, all without you needing to think about it.

On the other hand, maybe you never even thought it was possible and had given up on the dream long ago.

F5 has offered the free, web-based iHealth tool (ihealth.f5.com) for years, but perhaps the thought of manually uploading your QKViews, and manually clicking through screens once a week made you throw up your hands, because seriously F5, who has time for that, even with the ability to drag and drop multiple QKViews into the upload page?!

Well, we heard rumors of these (not so) secret yearnings for automation, and we're happy to say that we've released an iHealth API to give you the tools you'll need to build your magical automated, proactive BIG-IP monitoring robot.

The iHealth REST API provides all kinds of services.  Maybe you want to submit a QKView to iHealth to run diagnostics on it.  Easy.  Oh, actually you want to associate that QKView with an open F5 support case?  Easy.  You'd like to be able to see that QKView in the iHealth web UI as well?  Done.

Want to grab the diagnostics output, and run it through your own archiving and reporting system?  Easily done.  JSON?  XML?  PDF?  Of course!

Now that that QKView is in iHealth, do you wish you could get tmsh command output from the moment in time that QKView was taken?  Easy.  Need a log file from that snapshot to check something?  Easy.

Your magical robot has the ability (once you teach her the API methods) to manage your QKView collections, retrieve all kinds of things from the QKView itself, get diagnostics output, and much more.

We've provided a very very rough sketch of one way to build this magical robot as well, with a couple of examples of how to work with the iHealth API in everyones favorite shell script (oh bash, what would I do without you?), but if you want to get extremely magical, since it's a REST API, you can use almost any language you wish.  It's HTTPS, so anything that can speak HTTPS goes!

We encourage you to explore the API methods, and start building your dream robot so that you can spend time on interesting problems, instead of hovering over a web UI, clicking buttons.  Get the goods at the iHealth API page.

Published Mar 14, 2014
Version 1.0

Was this article helpful?

8 Comments

  • Sweet, now I can release my ruby gem for it.

     

    Great work guys.
  • Ok, I updated my ruby gem and it's now at version 2.2.0 (don't ask about the older versions).

     

    It supports the following items:

     

     

    * Upload qkview

     

    * Getting list of qkviews

     

    * Getting meta data from a specific qkview

     

    * Getting diagnostic data from a specific qkview

     

    * Getting command list from a qkview

     

    * Getting command output from a qkview

     

    * Deleting a qkview

     

    * Deleting all qkviews

     

     

    I will add other functionality as I update it but figured I'd get this version out since it has been sitting and waiting for awhile now.

     

     

    Github Repository: https://github.com/omniplex/ihealth-ruby

     

    Rubygem Page: https://rubygems.org/gems/ihealth
  • Unrelated, but do you guys know if there are any plans in the future to provide iControl via a Restful API?
  • jong_39455's avatar
    jong_39455
    Historic F5 Account
    Mohamed,

     

     

    This might be of interest:

     

     

    https://clouddocs.f5.com/api/icontrol-rest/HomePage.html
  • Simon_Kowallik1's avatar
    Simon_Kowallik1
    Historic F5 Account
    You want to use iHealth from the command line? Check out iHAC: https://github.com/simonkowallik/iHAC