on 25-Jan-2011 09:01
I posted almost two years ago to the day on a cool tool called BIG-IP Config Visualizer, or BCV, that one of our field engineers put together that utilizes a BIG-IP config parser and GraphViz to create images visualizing the relationship of configuration objects for a particular virtual server. Well, I’m here to report that another community user, Russell Moore, has taken that work to the next level. Rather than trying to figure out the nuances of configuration objects amongst all the versions of BIG-IP, he converted the script to utilize iControl! In this tech tip, I’ll walk through the installation steps necessary to get this tool off the ground.
Install a few libraries and GraphViz via apt-get
Open a CPAN shell and install SOAP::Lite and Net::Netmask
After installing those libraries and tools, grab the BCV-iControl source from the codeshare, save it as an executable (bcv.pl on my system) and set these variables (I only changed the ones in bold type):
#Declare CLI $vars
my $vs1;
my $new_dir = 'NO_DIR';
my $extension = 'NO_EXT';
my $ltm_host = "172.16.99.5";
my $ltm_port = '443';
my $user_id = "admin";
my $req_partition;
my $user_password = "admin";
my $ltm_protocol = 'https';
my $path;
my $dir;
Finally, some command-line options:
root@ubuntu:/home/jrahm# ./bcv.pl -h
Thank you for using BIG-IP Configuration Visualizer (BCV 1.16.1-revisited with soap)
-v <VS_NAME> this prints the specified virtual server and requires option -c.
Default is to print all-c Specify the partition/container to look in for option -v
-t <iControl host LTM> specify ltm_host IP we will connect to
-d specifies a directory you want the images in.
Has to be in Current working Directory:
/home/jrahm
Default is /img)-e Define image format options: svg, png (default is jpg)
-help for help but you already found it
Now that all the legwork is complete, we can play!
root@ubuntu:/home/jrahm# ./bcv.pl
Please wait while we build some maps of your system.
Retrieving SelfIPs in Partition: ** Common **
Mapping Partition: ** Common ** routes to gateways
Mapping Partition: ** Common ** selfIPs and VLANs..
Mapping Partition: ** Common ** pools and iRule references to pools............
Mapping Partition: ** Common ** virtual servers and properties...
Drawing VS: dc.hashtest which is 1 of 3 in Partition: Common
Drawing VS: testvip1 which is 2 of 3 in Partition: Common
Drawing VS: management_vip which is 3 of 3 in Partition: CommonAll drawings completed! They can be found in:
/home/jrahm/img
Taking a look at the virtual server I used for the hashing algorithm distribution tech tip:
Visual representations of configurations are incredibly helpful in identifying issues quickly. An interesting next step would be to track state of objects from iteration of the drawings, and build a page to include all the images. That would make a nice and cheap dashboard for application owners or operating centers. Any takers? Thanks to community user Russell Moore that took a great contributed tool and made it better with iControl!
Thanks
Uncaught exception from user code:
500 Can't connect to 192.168.201.5:443 (certificate verify failed) at ./f5-gv.pl line 723
at /usr/local/share/perl/5.14.2/SOAP/Lite.pm line 3610
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
Newer versions of LWP added this check. This will tell the LWP code to allow self-signed certs.
-Joe