Forum Discussion

Christian_15126's avatar
Christian_15126
Icon for Nimbostratus rankNimbostratus
Nov 13, 2013

F5 iControl Q's - Part 1: F5 iControl web based proxy?

I'm relatively new to icontrol and coding. I have basic scripting knowledge, I can write some decent iRules and batch scripts, but beyond that I've just been dabbling with perl, powershell, php, etc. Why the history lesson? Because I'm virtual blank slate of scripting languages and not sure which one to dive deep into and master. Here's what I'm trying to accomplish:

 

1) F5 status dashboards for application monitoring.

 

2) F5 enable/disable interactive web page for the admins and NOC.

 

3) F5 application automation/configuration workflow. - This is my f5 network nirvana..

 

Option number three is pie in the sky at this point, so I'm just focusing on part 1. I've dabbled in PHP, powershell, java, and perl and get various errors not getting much past either initialization errors or iControl authorization call errors. Note, we do have Enterprise Manager as well, so I'm not sure how that plays into calling iControl to a dozen EM managed LTM's or if we need to use EM as an iControl proxy itself. Where do you guys recommend I start? I appreciate any input you guys have besides RTM. :)

 

5 Replies

  • Interesting question. Here's my two pennies;

     

    You need to think about this in terms of front end and back end. PHP is a good choice for the front end presentation. In terms of back end I'd suggest Python; it seems to be one of the languages of choice in the wider networking field where SDN, NFV and 'programability' seem to be concerned so it'll benefit you in other ways I'd say. It also seems to be a part of the Sythesis fabric 'concept'. Groovy is too but I'm really not sure if it's a better candidate than Python, should be just as easy to use though (mimics Python in most ways).

     

    Of course, you now have the REST functionality (as well as straight iControl) too which might help you with 2) and 3) above. I read it's not so great for real time so for 1) it sounds like straight iControl would be better but of course I've no way of making an informed comparison (yet).

     

    One thing that seems to be missed/overlooked/hidden from most opinion and comments on this subject is a database. You'll need one I would have thought and I guess MySQL is the de-facto standard for that (LAMP and all that). A bit of general reading on relational databases would come in handy I'm sure.

     

  • You do not need to use EM as an iControl proxy to consume the APIs. Both the SOAP and REST interfaces are available directly from the BIG IP systems themselves.

     

    Enabling and Disabling objects is very straight forward.Just read thought the iControl Wikis on PHP.

     

    Alternately you can use tools that already provide an intuitive UI and granular access like appviewx.com which can save you a lot of time.

     

  • Thx guys, here's where I'm at:

     

    1) F5 status dashboards for application monitoring. - PHP codeshare scripts work now, just need to make them look more like the f5 admin interface for usability.

     

    2) F5 enable/disable interactive web page for the admins and NOC. - Same as 1)

     

    3) F5 application automation/configuration workflow. - This is my f5 network nirvana.. - ADC looks amazing and probably also costs a fortune, so not sure if that tool would be feasible. In the meantime, I'm going to continue researching free code alternatives and/or ways to tie into other third party tools. Thanks a lot for your guys responses! I may post a part 2 or 3 if I get stuck or come up with anything noteworthy, if not I just have a ton of research and coding to do! Thx,

     

  • RE: 3 - If you use Ansible, there are bigip modules available for automating creation and maintenance of pools, pool members, and health monitors. There are other modules on the way. (I am the author of some of them)