BIG-IP Configuration Visualizer
Problem this snippet solves:
This is a script utilizing the Graphviz package that will create graphs of the relationships of configuration objects of a virtual server.
How to use this snippet:
Requirements
- Perl
- SOAP::Lite
- Net::Netmask
- Graphviz
Note: There are other required packages, but the remainder are default in Ubuntu 10.10 perl distribution. This may not be the case with your configuration.
- Install dependent libraries via apt-get - depending on your distribution you may have all of these as packages:
- libssl-dev
- libcrypt-ssleay-perl
- libio-socket-ssl-perl
- libgraph-writer-graphviz-perl
- libsoap-lite-perl
- libnet-netmask-perl
- For any which aren't available, open a CPAN shell (perl -MCPAN -e shell) and install them with commands such as:
- install SOAP::Lite
- install Net::Netmask
- Grab the archive below, extract the perl script file, and make it executable
Minimal command-line invocation is:
./f5-gl.pl -t bigip-host-name.your.domain -u userid -p password
The output by default goes into a subdirectory img, but you might want to add the option -d output-directory to keep output files separate from successive runs, particularly if you will run the utility against different BIG-IP systems for different operational environments. You can also use these:
to run for only a particular VS (the partition must also be given)-c partition -v vs
to change the output file type - default is JPG, but there are the options of SVG or PNG-e
Run it!
Put it in
/etc/crontab
to run every night, perhaps, and output the files to a directory served by Apache? The files are predictably named, so you could link directly to them from other tools.
If you are averse to command-line parameters (perhaps you don't want the password to appear in a process listing) you can instead update these variables in the script:
my $ltm_host
my $user_id
my $user_password