Tech Tips on DevCentral
   
You are here: Tutorials > Tech Tips

Current Articles | Categories | Search | Syndication

Graphing your F5 LTM Environment with Cacti

by Jason Rahm - 39999 views Article Rating

Capturing load balancer traffic flows is not something that is elegantly (or even rudimentarily) handled by most commercial applications, or at least the ones I've worked with.  Several can't even gather statistics on the F5 appliances because they lack the ability to index mibs.  Earlier this year, I worked through the process of building a Cacti server in the lab.  With the help of some excellent templates I found on the Cacti forums, I was able to successfully graph my virtual servers, interfaces, and memory.  CPU templates didn't exist, so I added this functionality and corrected some of the problems in the templates as I worked through my installation.  In summary, this article will walk the user through the steps required to install & configure Cacti to begin monitoring the F5 LTM Global Traffic, Virtual Server Traffic, Interface Traffic, Memory, & CPU.

Cacti Prerequisites

This tech tip assumes the packages below are already installed.  My version is in parentheses.

  • Web Server (apache, version 2.2.4)
  • MySQL (version 5.0.27)
  • PHP (version 5.2.1)
  • Perl (version 5.8.7)
  • NET-SNMP (version 5.2.3)
  • RRDTOOL (1.2.15)

Note 1: All the tools above on my system were installed via the BSD ports tree, so all the dependencies were solved automatically.  If you are not experience in resolving dependencies, I highly recommend a system that solves them for you.

Note 2: All the commands below reflect my system, so you may have to alter them if you install these packages into different directories.

Cacti Installation

Extract Cacti

  1. Get Cacti (http://www.cacti.net/downloads/cacti-0.8.7a.tar.gz) and place in /var/tmp/
  2. cd /usr/local/share/
  3. tar xvfz /var/tmp/cacti-0.8.7.tar.gz
  4. mv cacti-0.8.7 cacti

Create Cacti DB in MySQL

Note: have your mysql root password ready

  1. mysqladmin --user=root -p create cacti
  2. mysql --user=root -p cacti < /usr/local/share/cacti/cacti.sql
  3. mysql --user=root -p mysql
    GRANT ALL ON cacti.* TO cactiuser@localhost;
    GRANT USAGE ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
    GRANT ALL ON cacti.* TO cactiuser@"%";
    GRANT USAGE ON cacti.* TO cactiuser@"%" IDENTIFIED BY 'cactipassword';
    flush privileges;
    exit

Update Cacti with DB username/password

  1. vi /usr/local/share/cacti/include/config.php
     $database_default = "cacti";
     $database_hostname = "localhost";
     $database_username = "cactiuser";
     $database_password = "cactipassword";

Add Cacti Poller to Crontab

  1. vi /etc/crontab
     */5 * * * * root /usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1

Configure Apache for Cacti

  1. vi /usr/local/etc/apache22/httpd.conf
     <Directory /usr/local/share/cacti/>
            AllowOverride None
            Order allow,deny
            Allow from all
     </Directory>
     Alias /cacti/ /usr/local/share/cacti/

Log in for the 1st time!

  1. http://x.x.x.x/cacti/
    1. Accept the defaults
    2. Login as admin/admin
    3. Change admin password

Extract Cacti Plugin Architecture (optional)

  1. get Cacti Plugin Archticture (http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz) and place in /usr/src/
  2. cd /usr/src
  3. tar xvfz cacti-plugin-arch.tar.gz
  4. cp -R /usr/src/cacti-plugin-arch/files-0.8.7a/ /usr/local/share/cacti/
  5. vi /usr/local/share/cacti/include/global.php
     $database_default = "cacti";
     $database_hostname = "localhost";
     $database_username = "cactiuser";
     $database_password = "cactipassword";
     $config['url_path'] = '/cacti/';

Extract & Initialize Weathermap (optional)

  1. Get Weather map (http://www.network-weathermap.com/files/php-weathermap-0.941.zip) and place in /usr/src/
  2. cd /usr/src/
  3. unzip /var/tmp/php-weathermap-0.84.zip
  4. mv weathermap /usr/local/share/cacti/plugins/
  5. cd /usr/local/share/cacti/plugins/weathermap/
  6. cp editor-config.php-dist editor-config.php
  7. vi editor-config.php
     $cacti_base = "/usr/local/share/cacti";
     $cacti_url = http://x.x.x.x/cacti/;
  8. vi /usr/local/share/cacti/include/global.php
     $plugins[] = 'weathermap';
  9. chmod 777 /usr/local/share/cacti/plugins/weathermap/configs (don't hate on me security blokes, this is a get it working tech tip)
  10. Update permissions for user admin to view & edit Weathermap
    1. In the GUI menu on the left under Utilities, click User Management
    2. Click admin (and any other users you've created that need weathermap access)
    3. Under Realm Permissions,
      1. check Plugin->Weathermap: Configure/Manage
      2. check Plugin->Weathermap: View
    4. click Save

Import F5 Host Template

Download the latest template from the F5 Cacti Template Wiki Page.

  1. In the Cacti GUI menu on the left under Import/Export, Click Import Templates
  2. Click Browse, select the host template file (cacti_host_template_f5_big-ip.xml)
  3. Click Save

Copy Host Template Scripts to Appropriate Directories

Note: Assumption that the scripts included in the zip file placed in /var/tmp.

  1. cp /var/tmp/f5-bigip-tmm-cpu.pl /usr/local/share/cacti/scripts/
  2. cp /var/tmp/ss_f5-bigip-tmm-memory.php /usr/local/share/cacti/scripts/
  3. cp /var/tmp/f5_bigip_vs.xml /usr/local/share/cacti/resource/snmp_queries/
  4. cp /var/tmp/f5_bigip_ifStat.xml /usr/local/share/cacti/resource/snmp_queries/

Update: Also brought to my attention is the fact that my CPU perl script didn't take a 10s delta of each value before reporting, which is recommended in the documentation.  There is an additional CPU script in the host template that accounts for the delta.  If you choose to use this one instead of the one mentioned in the steps above, just rename it as f5-bigip-tmm-cpu.pl and place it in the scripts directory under the cacti archive.

Build Complete!  Now let's add an LTM, shall we?

  1. In the Cacti GUI menu on the left under Management, Click Devices
  2. Click Add at the far right 
  3. Enter BigIP Name for Description
  4. Enter FQDN or IP for Hostname
  5. For Host Template, choose F5 BigIP
  6. For SNMP Version, select Version 2
  7. For SNMP Community, enter the SNMP Community string defined on the BigIP
  8. Click Save

Note: If successful, you should see something like this at the top:

SNMP Information
System: Linux myHostname.lab 2.4.21-9.4.3.1.0smp #2 SMP Wed Oct 17 19:47:50 PDT 2007 i686
Uptime: 85990646 (9 days, 22 hours, 51 minutes)
Hostname: myHostname.lab
Location: St Louis
Contact: Citizen_Elah

you should see something like this under the VS & interface Data Queries at the bottom:

1) F5 BigIP - Interface Statistics (Verbose Query) Uptime Goes Backwards Success [40 Items, 20 Rows] Reload Data Query  Delete Data Query Association
2) F5 BigIP - VS Statistics (Verbose Query) Uptime Goes Backwards Success [28 Items, 7 Rows] Reload Data Query  Delete Data Query Association

Create Graphs

  1. Still in the device screen from above, click at the top right Create Graphs for this Host
  2. In this screen, you can select as many of the potential graphs as desired
    1. For the Virtual Server, you will need to create the Connection Rate, Connections/s, & the Traffic graphs in separate steps via the select box at the bottom
  3. Click Create
  4. Accept the Defaults, Click Create again

Note: Created graphs will be listed at the top of the screen

Manage Graphs

  1. In the GUI menu on the left under Management, click Graph Trees
  2. Click Add
  3. Under Name, I define the F5 device hostname, but it can be anything
  4. Under Sorting Type, select your preference
  5. Click Create
  6. In the GUI menu on the left under Management, click Graph Management
  7. Select the Host you created
  8. Select the Graphs you created
  9. In the Choose an Action select box, select Place a tree (your new tree)
  10. Click Go
  11. Click Yes
  12. Click the Graphs Tab at the top of the screen
  13. Select the Tree you created
  14. View your graphs!

Here's a graph summary page snapshot:

 

Create a Weathermap (optional)

If you installed the Plugin Architecture & the Weathermap plugin, you can create maps to visualize the traffic flow through your F5 device

  1. In the GUI menu on the left under Management, click Weathermaps
  2. Click Add
  3. Click Add on simple.conf (the sample supplied with the plugin)
  4. This will launch the weathermap editor.  You can select your Data Sources for the links from Cacti within the editor, which is very nice.  For more support, check out http://www.network-weathermap.com

Here's a rudimentary Weathermap from toying around with the technology:

 

Future Developments

I am trying for the life of me to expand the support of this host template to include Pool Member statistics.  The problem with the SNMP approach is the index is in the middle of the oid, not at the end as in the virtual server and interface statistics.  I modified the PoolStatsv4v9 perl script to pull the appropriate data out, but I haven't figured out how to tell Cacti to figure the index on the pool name, then loop through all the pool members and dump the data into the RRD files.  If anyone wants to tackle that, you'd be my hero.



Rate This Article:

COMMENTS

posted @ Tuesday, December 11, 2007 2:13 AM by   

Thanks for the great writeup. However it appears that he f5_v9_host_template.xml is just the Cisco host template. Perhaps the wrong template was included in the zip file??

posted @ Tuesday, December 11, 2007 4:49 AM by Jason Rahm   

That appears correct, sorry about that. I'll get the correct template up there today.

posted @ Tuesday, December 11, 2007 10:26 AM by Jason Rahm   

OK, the template is updated. I also added an alternative for the CPU script that takes a 10s delta if you'd prefer to use that version. This supports the documentation

posted @ Wednesday, January 23, 2008 12:40 AM by Sunny   

When i am importing template "f5_v9_host_template.xml" in Cacti is giving me error "Error: XML: Hash version does not exist.".

I already have Cacti installed.

Thanks in advance
Sunny

posted @ Wednesday, January 23, 2008 4:41 AM by Jason Rahm   

I'm not a Cacti expert, but that sounds like a version problem. Try an isolated install of 0.8.7 and see if the template loads correctly.

posted @ Tuesday, January 29, 2008 7:44 AM by Chuck Adkins   

After install unable to create graphs for the the default localhost or ltms I created.

Apache logs show

ERROR: opening '/usr/local/cacti/rra/localhost_mem_buffers_3.rrd': No such file or directory
ERROR: opening '/usr/local/cacti/rra/localhost_users_6.rrd': No such file or directory
ERROR: opening '/usr/local/cacti/rra/localhost_load_1min_5.rrd': No such file or directory
ERROR: opening '/usr/local/cacti/rra/localhost_proc_7.rrd': No such file or directory

and sure enough there are no .rrd files in /usr/local/cacti/rra

pretty much stuck with the versions in this howto ... running on a linux (centos) box - anyone have any ideas?

posted @ Saturday, February 02, 2008 12:57 AM by Igor Pruchanskiy   

check permissions on /usr/local/cacti/rra/.
Make sure the user you are running Cacti with has write access to that folder.

Also, make sure you added a cron job to run poller every 5 minutes. Your RRD files will not get created until poller runs after the graphs get added to Cacti.

posted @ Tuesday, February 05, 2008 12:17 PM by Chuck Adkins   

crontab exists (and I can run w/o any output)

drwxrwxrwx 2 root root 4096 Jan 29 11:24 rra

posted @ Tuesday, February 19, 2008 2:32 PM by Scott Theriault   

I'm looking at graphing each virtual and the individual nodes that are assigned to the pool for the virtual. Is there an easy way to implement this through cacti?

posted @ Wednesday, February 20, 2008 3:07 PM by Gregory Gerard   

Could you add a section on how to import the MIBs correctly?

posted @ Thursday, February 21, 2008 4:57 AM by Jason Rahm   

The templates don't require the mibs, I never loaded them.

posted @ Wednesday, February 27, 2008 3:47 PM by clowe   

I already have Cacti graphing the performance for my LTMs, i would like to have some more granular graphs of my Virtual Servers, does anyone have a Cacti template to poll the Virtual servers more closely?

posted @ Thursday, February 28, 2008 4:25 AM by Jason Rahm   

What did you have in mind?

posted @ Friday, February 29, 2008 6:13 AM by Simon Wright   

Hi there

Does the F5 BigIP - VS Statistics allow you to look at virtual servers that are in partitions? At the moment i can query one of our units that has no partitions configured (9.2.x) but when i look at another unit (9.4.x) where all the virtual servers are in partitions i get nothing back when running the F5 BigIP - VS Statistics Data Query.

Thanks in advance and great article.

cheers

simon

posted @ Monday, March 03, 2008 5:25 AM by Jason Rahm   

Is this true of the root account as well, or just a user account?

posted @ Monday, March 03, 2008 5:38 AM by Simon Wright   

I was just using the public snmp group so there is no security involved. The problem does seem limited to the 9.4.1 units as the others are fine. I will post in the forum to see if anyone else has come across the same thing.

posted @ Monday, March 03, 2008 5:46 AM by Jason Rahm   

Duh, sorry, it's early on Monday!

Not sure why that wouldn't work. I didn't have much success when testing 9.4.1 in other areas, so I went with 9.4.2 HF3

posted @ Monday, March 03, 2008 5:50 AM by Simon Wright   

Thanks for the quick reply. I need to upgrade the unit as we are running a different os version on each of our clusters and this was the only one that was giving us problems. I will give that a go first and then see what happens.

posted @ Wednesday, March 12, 2008 8:55 AM by Cesar L.   

Hi

Thanks for your howto, i the first time i use cacti, is powerfull!

but, for what reason the graph VS Connection Rate, VS Connections, and VS Traffic not have graph ? i like to have like performance item in gui
...

p.d : In the actual version plugin arch have a bug, edit /include/plugins.php and put

$config['url_path'] = '/cacti/';

And other guy have the GTM Template, this work fine.
http://devcentral.f5.com/Default.aspx?tabid=53&forumid=32&postid=20837&view=topic

Thanks a lot.

posted @ Thursday, March 13, 2008 1:12 AM by Julian Grunnell   

Do you need to install the Architecture & Weathermap plugins to graph the switchports? Followed the steps above and everything I want is graphing apart from these. They just appear as broken images.

posted @ Wednesday, April 30, 2008 5:44 AM by Chris Bloss   

Anyone build this in a VM yet? I'd love to get an export of the VM to avoid building my own? PLEASE!!!

posted @ Wednesday, June 04, 2008 10:20 AM by DV   

If you are getting graphs with 'nan'. Try to change your SNMP package in the 'Settings' option of Cacti.
Use NET-SNMP instead UCD-SNMP.

posted @ Friday, September 05, 2008 6:05 AM by Julian Grunnell   

Got this working a treat with LTM's where the config is defined under the "Common" partition BUT with an LTM that has "other" partitions defined the F5 LTM templates / vs statistics do not work at all - all the graphs just show broken images. Has anyone got this to work?

posted @ Wednesday, November 26, 2008 7:24 AM by pvaughan   

Does the m in connections/second mean million? or millisecond?

posted @ Wednesday, November 26, 2008 7:44 AM by Jason Rahm   

In the graph output? I think the little m when displayed shows less than 1per...

posted @ Wednesday, December 10, 2008 5:28 PM by steve   

i get broken images for vs and interface stats, too. any fix for this?

posted @ Thursday, December 11, 2008 5:15 PM by steve   

Is there a fix for cpu utilization template?

posted @ Tuesday, December 16, 2008 2:05 PM by Jason Rahm   

did you move the xml files into the appropriate directories under for your system? They are not broken for me.

posted @ Thursday, December 18, 2008 2:29 AM by smiertx   

i found problem when loading f5_v9_host_template.xml, it just show blank page.
nb: i have file_uploads=On on my php.ini.
Thanks ...

posted @ Thursday, December 18, 2008 4:25 AM by Jason Rahm   

are you at least at 0.8.7a? If not this is likely your problem.

posted @ Thursday, December 18, 2008 5:17 AM by Jason Rahm   

Might also be a permission problem on the scripts. I just build the CactiEZ implementation, and in moving the scripts, the cacti_path is /var/www/html/. Also note that I needed to chmod the script files (not the xml files, they're fine) to 755, and chown all the files to apache:apache. HTH

posted @ Thursday, December 18, 2008 6:14 PM by smiertx   

solved now, finally i use cacti 0.8.7a and it works well.
Thanks ...

posted @ Friday, February 20, 2009 10:51 AM by rbasukala   

We have BIG-IP 9.4.4 Build 65.1 Final.

I follow all this tutorial and works well. I have problem at adding bigip device.

Here is my problem:
I can add the BigIP device and it also shows no error. But under the graph template, it shows status as not being graphed. I can do snmpwalk on all the OID on host template file (I mean files under F5_v9_host_template).

1) F5 BigIP - Global Connections Not Being Graphed Delete Graph Template Association
2) F5 BigIP - Global HTTP Requests Not Being Graphed Delete Graph Template Association
3) F5 BigIP - Global HTTP Response Errors Not Being Graphed Delete Graph Template Association
4) F5 BigIP - Global HTTP Responses Not Being Graphed Delete Graph Template Association
5) F5 BigIP - Global packets/sec Not Being Graphed Delete Graph Template Association
6) F5 BigIP - Interface Traffic (bits/sec) Not Being Graphed Delete Graph Template Association
7) F5 BigIP - SSL TPS Not Being Graphed Delete Graph Template Association
8) F5 BigIP - TMM CPU Usage Not Being Graphed Delete Graph Template Association
9) F5 BigIP - TMM memory Not Being Graphed Delete Graph Template Association
10) F5 BigIP - VS Connection Rate Not Being Graphed Delete Graph Template Association
11) F5 BigIP - VS Connections Not Being Graphed Delete Graph Template Association
12) F5 BigIP - VS Traffic (bits/sec) Not Being Graphed

and under "Associated Data Queries" it shows status as sucess [0 Items, 0 Rows] .

Can anybody please help me in figuring out the problem.

Thanks a lot in advance.

posted @ Friday, February 20, 2009 11:00 AM by Jason Rahm   

adding the device doesn't mean the data is set up to be polled. Under the Create menu, select New Graphs, select your BIG-IP host, then select the checkboxes for the graphs you want created. For the data queries, you can run them in debug mode to see where you're getting stuck. Make sure you placed the xml/script files in the directory structure and changed permissions and ownership as necessary on your system.

posted @ Friday, February 20, 2009 11:55 AM by rbasukala   

Thank you very much for your quick reply. I check the permission and I am running as a root user. Permission seems to be okay.

When adding device, under "Associated Data Queries" section, I can see following output:

1) F5 BigIP - Interface Statistics (Verbose Query) Uptime Goes Backwards Success [0 Items, 0 Rows] Reload Data Query Delete Data Query Association
2) F5 BigIP - VS Statistics (Verbose Query) Uptime Goes Backwards Success [0 Items, 0 Rows]

There shuold be some numbers instead of Success [0 Items, 0 Rows] , rt?

When I click at "Verbose Query" under debugging, it shows following error message under "Data Query Debug Information" :
+ Running data query [18].
+ Found type = '3' [snmp query].
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_ifStat.xml'
+ Error parsing XML file into an array.
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_ifStat.xml'
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_ifStat.xml'
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_ifStat.xml'

posted @ Friday, February 20, 2009 11:59 AM by rbasukala   

Same type of error for "F5 BigIP - VS Statistics":

+ Running data query [17].
+ Found type = '3' [snmp query].
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_vs.xml'
+ Error parsing XML file into an array.
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_vs.xml'
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_vs.xml'
+ Could not find data query XML file at 'path_cacti/resource/snmp_queries/f5_bigip_vs.xml'

Thanks,
RB

posted @ Friday, February 20, 2009 12:07 PM by Jason Rahm   

so the xml files are not in the current directory or cacti can't read them, one of the two

posted @ Friday, February 20, 2009 12:28 PM by rbasukala   

I change the permission of f5_bigip_ifStat.xml and f5_bigip_vs.xml to 777 (to test whether it is because of permission) and they are owned by root user and group.

These files are located at : /usr/local/share/cacti/resource/snmp_queries/ same as in the documentation.

I still have the same problem. I am not a cacti expert but it is working well for other devices.

Thanks,
-RB

posted @ Friday, February 20, 2009 12:33 PM by Jason Rahm   

Does your data query path (in the GUI) look like this for the interface stats:

/resource/snmp_queries/f5_bigip_ifStat.xml

So it should go to (guessing) /usr/local/share/cacti/resource/snmp_queries/f5_bigip_ifStat.xml, not path_cacti/resource...

posted @ Friday, February 20, 2009 1:19 PM by rbasukala   

Thank you very much for your help. It seems to be working now.

-RB

posted @ Tuesday, February 24, 2009 2:12 AM by BIGHard   

ok, same problem as above - in my VS stats show 0 available VS's - i have set it up and working in the same cacti instalation on another device - version 9.4.4 - and it's working and graphing.

on 9.4.6 i see no VS's to graph :(

posted @ Tuesday, February 24, 2009 4:36 AM by JRahm   

have you looked at the cacti poller log for error information? Can you do an snmp get from the command line successfully to that 9.4.6 system?

posted @ Tuesday, February 24, 2009 4:58 AM by BIGHard   

cacti poller log doesnt help since i'm not polling anything yet - although i can poll other information from this device - only the VS's are missing

and yes - i can pull them by hand via commandline

posted @ Tuesday, February 24, 2009 5:51 AM by JRahm   

So the data queries are not returning anything? you can run them in debug mode to see where you're getting stuck. Make sure you placed the xml/script files in the directory structure and changed permissions and ownership as necessary on your system.

posted @ Tuesday, February 24, 2009 6:07 AM by BIGHard   

nope - they return nothing, debug mode says that it didnt find any VSs.

files are ok because this template already works for an older F5 device that i have

posted @ Monday, March 02, 2009 9:51 AM by Baqar Husain   

I've installed cacti-0.8.7d and I'm at the point where I'm going to place the graph on a tree, but when I press the GO button I get a blank page! Device added perfectly fine ... any help is appreciated. Thanks

posted @ Monday, March 02, 2009 9:54 AM by Baqar Husain   

Here's the httpd/error_log entry related to my issue above:
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 92160 bytes) in /usr/local/cacti/lib/tree.php on line 416, referer: http://10.199.6.20/cacti/graphs.php
Allowed memory size of 8388608 bytes exhausted (tried to allocate 128 bytes)
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 92160 bytes) in /usr/local/cacti/lib/tree.php on line 348, referer: http://10.199.6.20/cacti/graphs.php
Allowed memory size of 8388608 bytes exhausted (tried to allocate 128 bytes)

posted @ Monday, March 02, 2009 10:00 AM by Baqar Husain   

Not a php guy ... but a quick google search found this:
http://www.tech-recipes.com/rx/777/solve-php-fatal-error-allowed-memory-size-of-8388608-bytes-exhausted-tried/

posted @ Monday, March 02, 2009 10:01 AM by Jason Rahm   

Hey there, you're hitting a php memory limitation. You'll need to edit your php.ini file and increase the line:

memory_limit = 8M

to something higher. I'd start at 16M.

posted @ Monday, March 02, 2009 10:01 AM by Jason Rahm   

ah, found it yourself...good deal!

posted @ Monday, March 02, 2009 10:04 AM by Baqar Husain   

Thanks citizen_elah ... now I'm anxiously waiting for the graphs to populate. a little concerned because it's been 15 minutes and I've got nothing so far. I saw this populate in my error_log sh: /usr/local/rrdtool: is a directory
and i've verified that I have connectivity via snmp to the ltm. aargh!

posted @ Monday, March 02, 2009 12:26 PM by Baqar Husain   

Yeah my graphs are not showing up at all ... just have the link for the 6 graphs i've setup on a single device, and the 4 images next to the link for zoom, export, properties and page top. Anyone experienced something similar? Thanks.

posted @ Monday, March 02, 2009 3:12 PM by Baqar Husain   

So I've now got everything working now (finally!). The only issue I have left is TMM CPU & MEMORY utilization - those graphs are coming up empty. Anyone had this problem before?

posted @ Tuesday, March 03, 2009 2:25 PM by Baqar Husain   

there was a lot of tweaking necessary with the changes in snmp.php, but I'm still having trouble with the memory graphs. I've started a new thread if someone could give me some help please --

http://devcentral.f5.com/Default.aspx?tabid=53&forumid=32&postid=33625&view=topic

posted @ Wednesday, March 04, 2009 12:58 PM by Baqar Husain   

anyone else have this problem with the Memory Graphs?
03/04/2009 03:50:45 PM - CMDPHP: Poller[0] Host[5] DS[142] WARNING: Result from SERVER not valid. Partial Result: U

This is all running on RedHat Enterprise Server el5
rrdtool-1.2.30
cacti-0.8.7d
php-4.3.9-3.22.9
php-snmp-4.3.9-3.22.9
php-mysql-4.3.9-3.22.9
php-pear-4.3.9-3.22.9

Thanks.

posted @ Thursday, March 05, 2009 9:56 AM by Baqar Husain   

If anyone else experiences this issue with 0.8.7d, download the "SNMP value trim issue" patch release on 3/2/2009.
http://www.cacti.net/download_patches.php

posted @ Friday, June 26, 2009 11:13 AM by mikeDOTd   

I've got an issue where certain OID's are returning 0. Specifically "F5 BigIP - Global HTTP Requests", "F5 BigIP - Global HTTP Response Errors", and "F5 BigIP - Global HTTP Responses". If I manually snmpget those OID's I can validate the "0" response:

[root@nms102 tmp]# snmpget -v 2c -c blah 10.70.1.57 .1.3.6.1.4.1.3375.2.1.1.2.4.7.0
SNMPv2-SMI::enterprises.3375.2.1.1.2.4.7.0 = Counter64: 0
[root@nms102 tmp]# snmpget -v 2c -c blah 10.70.1.57 .1.3.6.1.4.1.3375.2.1.1.2.4.5.0
SNMPv2-SMI::enterprises.3375.2.1.1.2.4.5.0 = Counter64: 0
[root@nms102 tmp]# snmpget -v 2c -c blah 10.70.1.57 .1.3.6.1.4.1.3375.2.1.1.2.4.6.0
SNMPv2-SMI::enterprises.3375.2.1.1.2.4.6.0 = Counter64: 0

Though there's plenty of traffic being handled. Any suggestions?

posted @ Tuesday, June 30, 2009 6:45 AM by Jason Rahm   

Do you have an http profile applied? I'm getting these returned just fine:

snmpget -v 2c -c public localhost .1.3.6.1.4.1.3375.2.1.1.2.4.7.0
F5-BIGIP-SYSTEM-MIB::sysHttpStatNumberReqs.0 = Counter64: 148
snmpget -v 2c -c public localhost .1.3.6.1.4.1.3375.2.1.1.2.4.5.0
F5-BIGIP-SYSTEM-MIB::sysHttpStatResp4xxCnt.0 = Counter64: 2
snmpget -v 2c -c public localhost .1.3.6.1.4.1.3375.2.1.1.2.4.6.0
F5-BIGIP-SYSTEM-MIB::sysHttpStatResp5xxCnt.0 = Counter64: 0

posted @ Tuesday, July 21, 2009 3:02 PM by Alex Paoli   

Question: Has anyone "truly" made the same thing for Pool Statistics as well. We use a lot of iRules under one VIP so, total connections there is nice, I need to see what a POOL or even a member is getting

Any good Tar'd up version iuth the Data_Query, Graph etc for this ?

posted @ Tuesday, July 21, 2009 7:19 PM by Jason Rahm   

@xerlic...yes, the latest version of the template includes pool statistics for both GTM & LTM. Not pool members, though. You can get the latest template on the wiki page at http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/CactiF5HostTemplate.html

posted @ Tuesday, September 22, 2009 1:02 PM by Bob Ziuchkovski   

Has anyone extended this to show HTTP requests / sec for a pool? We have client API traffic I'm trying to monitor for HTTP requests per second and connections/sec isn't accurate for this because most of our clients are keeping a single connection open for the multiple requests.

posted @ Wednesday, September 23, 2009 8:45 AM by Jason Rahm   

For pool level HTTP stats, you'll need to build a stats profile and use an iRule to populate them. Then, you can poll the snmp oids for that profile. It's a complicated setup, but can be done.

posted @ Friday, September 25, 2009 8:39 AM by Bob Ziuchkovski   

@citizen_elah thanks for the info -- I was unaware of the existence of stats profiles. I dug around on the F5 and see it now. I also did some more digging with snmpwalk and noticed the F5s are keeping http stats per http profile. Ex: there's a ltmHttpProfileStatNumberReqs."http", ltmHttpProfileStatNumberReqs."http-lan-optimized-caching", ltmHttpProfileStatNumberReqs."http-wan-optimized-compression", etc. as well as the same for ltmFastHttpProfileStatNumberReqs."fasthttp". For the pools I want to track, I created new http profiles for use by the vservers using the pools, so now I have a ltmHttpProfileStatNumberReqs."http-api" and similar. Now I need to figure out how to add graphs for these to cacti -- I'm not much of a cacti expert. Anyway, mostly rambling to myself, but I thought someone else might find the tracking per http profile useful as well. I'm imagining it will save some overhead over using iRules to populate.

posted @ Friday, September 25, 2009 11:41 AM by Jason Rahm   

@ziuchkov - if you take a look at some of the articles/videos I've done on Cacti, you should get an idea how to approach it. Here's the Wiki page on the F5 cacti templates:

http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/CactiF5HostTemplate.html

posted @ Monday, November 02, 2009 2:09 PM by dkraut   

cool, but doesn't look much more granular than what's already available in the F5 Performance Stats? We're looking for a way to show the "top talkers" of SSL TPS (transactions/sec). Specifically, which VIP's are using most of the SSL connections? Anyone know if this is possible? Thanks!

posted @ Monday, November 02, 2009 2:26 PM by Jason Rahm   

@dkraut .. this would almost certainly need to be post analysis. You could do this with a reporting plugin which could rank your SSL TPS gaphs. Pretty rudimentary though.

posted @ Thursday, November 12, 2009 2:38 PM by wtwagon   

Does this still apply to version 10? In version 9, it seemed to be working, but version 10 does not. Is there an updated template that I need to download?

posted @ Friday, November 13, 2009 4:55 AM by Jason Rahm   

The latest template in the wiki work great for me in v10:

http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/CactiF5HostTemplate.html

I've updated the article to check the wiki page for the template since the original link is a couple years old now.

posted @ Friday, November 13, 2009 9:20 AM by wtwagon   

Thanks, I imported the new host templates but I still get nothing except for the Interfaces to collect. Is there anything else that needs to be updated from the older document to bring it to the present?

posted @ Friday, November 13, 2009 9:31 AM by Jason Rahm   

I don't believe any of the mibs have changed, I just cleaned up the templates and added a few things introduced in v10. Did you put the scripts in the correct directories with the necessary permissions? Since writing this article, CactiEZ is definitely the way to go to get off the ground running with a clean Cacti environment.

posted @ Wednesday, March 31, 2010 2:00 PM by Logan Ramirez   

citizen_elah - did you find a hero? someone who found a way to index the pool name and loop through the pool members for data? i know it's like 2 years later but I just started writing iControl apps and just came across this article describing 'the use of wget' as a data method in place of SNMP - for basically the same reasons.

so i started thinking, "woah...if cacti supports http as the data input method, i should be able to use that some how with this iControl app, right?"

right!

so, i wrote an app that reads in a pool name from the URL, queries the LTM, runs through the pool building the array, then dumps it to the screen in the Cacti format needed...then I just graph it!

basically, if I have a web_pool with 192.168.1.1:801 and 192.168.1.2:802, where 801 has 23 conns and 802 has 15, then my app runs through that pool, grabs the counters, and then displays it to the screen like this:

19216811p801:23 19216812p802:15

then, from Cacti, I use
wget --quiet --no-cache -O - http://[server running my app]/default.aspx?pooldata=web_pool

to grab it!

it's completely changing the flexibility of what i can graph and how we look at 'what the LTM' is doing and, what's really cool, now, is I am can pull data from both sets of boxes in both of our data centers and merge the data into one graph - so I can get a 'total picture' of all web requests (for example) being handled in both data centers at the same time in one graph!

anyway, i am just looking on devcentral to see if anyone else has done this so I can contribute. This is the site that got me thinking about it:
http://penguinman-techtalk.blogspot.com/2009/03/cacti-graphing-remote-service-without.html

posted @ Wednesday, March 31, 2010 9:01 PM by Jason Rahm   

it might just be you...this is very intriguing. I don't have time to play yet, but I'm adding this to my list. Excellent work!

posted @ Friday, April 02, 2010 12:23 PM by Baqar Husain   

Is anyone successfully able to pull traffic and connection graphs for individual virtual servers? I keep getting the error "WARNING: Result from SNMP not valid. Partial Result: U" in my cacti log.

posted @ Sunday, April 25, 2010 3:00 PM   

posted @ Sunday, April 25, 2010 5:46 PM   

Comments from the following blog entry: http://www.sinnerx.com/?p=26246

posted @ Sunday, April 25, 2010 8:35 PM   

posted @ Friday, May 28, 2010 9:19 AM by Youri Reddy-Girard   

Hi,

I've created a new F5 BIG-IP template using the "F5_BigIP_v9-Host_Template-rev_7.zip" (thanks to Terje Gravvold, citizen_elah, BSOD2600 and matibut14) and other stuff I found on the Internet. I've also added many graphs and data queries (MultiHost CPU Statistics, Pool Statistics and Pool Member Statistics).

You can check it out and download it from the official cacti repository:
http://docs.cacti.net/usertemplate:host:f5:bigip

Best Regards
Youri

posted @ Friday, February 18, 2011 7:45 AM by Nate_Smith   

I now have this working and am building weathermap. Does anyone have have the .png file to build into the weathermap as shown above?

posted @ Monday, September 19, 2011 12:07 PM   

Comments from the following blog entry: http://seelane.shikshik.org/2011/09/19/graphed-cacti/
Only registered users may post comments.
  
Subscriptions: Video  |  Audio  |  Tutorials  |  Tech Tips  |  Features  | 

More...

 

 

Essentials Quick Start Guides
iRules Wiki | iControl SDK | WebAccelerator Wiki iRules | iControl
FirePass Wiki | Advanced Design & Config Wiki WebAccelerator | FirePass

 

Videos

  

Audio

Cache in with LTM and iRules
Can iRules fix my cert mismatch errors?
Concurrent iControl Programming Explained
Cookie LoJack vi iRules
Creating An iControl PowerShell Monitoring Dashboard With Google Charts
Custom SNMP Traps
Exchange Persistence Duality and iRules
FTPS Offload via iRules
Getting Started with pyControl
iControl 101 - #19 - Time Conversions
iControl 101 - #20 - Port Lockdown
iControl 101 - #21 - Rate Classes
iControl 101 - #22 - GTM Data Centers
iControl Apps - #04 - Graceful Server Shutdown
iControl Apps - #05 - Rate Based Statistics
iControl Apps - #06 - Configuration Archiving
iControl Apps - #07 - System Http Statistics
iControl Apps - #08 - System IP Statistics
iControl Apps - #09 - TMM Statistics
iControl Apps - #10 - Bigpipe List
iControl Apps - #11 - Global GTM Statistics
iControl Apps - #12 - Global SSL Statistics
iControl Apps - #13 - System PVA Statistics
iControl Apps - #14 - Global Statistics
iControl Apps - #18 - Virtual Server Reverse Lookup
Investigating the LTM TCP Profile: Acknowledgements
Investigating the LTM TCP Profile: Congestion Control Algorithms
Investigating the LTM TCP Profile: ECN &amp; LTR
Investigating the LTM TCP Profile: Max Syn Retransmissions &amp; Idle Timeout
Investigating the LTM TCP Profile: Nagle’s Algorithm
Investigating the LTM TCP Profile: The Finish Line
Investigating the LTM TCP Profile: Windows &amp; Buffers
iRules 101 - #13 - TCL String Commands Part 1
iRules 101 - #14 - TCL String Commands Part 2
iRules 101 - #15 - TCL List Handling Commands
iRules Event Order
Managing The System Boot Location with iControl
Persisting SSL Connections
Replacing the WebSphere Apache Plugin with iRules
Ruby meets iControl: Creating VIPs
Ruby meets iControl: Making Wide IPs
Ruby Meets iControl: Switching Policies
Ten Steps to iRules Optimization
Unbind your LDAP servers with iRules
v.10 - A new iRules Namespace
v.10 - FastHTTP and Cookie Persistence
v.10 - iRules and the after command
v.10 - New class features in iRules
v.10 - Remote Authorization via TACACS&#43;
v10.1 - Configuring GTM's DNS Security Extensions

  

Features

  

Tutorials

  

iControl

  

iRules

  

Monitoring & Management

  

Advanced Design & Config

  

93,050 Members in 191 Countries and Growing!

Join DevCentral Today!

About DevCentral

F5 DevCentral is your source for the best technical documentation, discussion forums, blogs, media and more related to application delivery networking.

So dive in, meet your peers, and get familiar with DevCentral. We hope it makes your job easier and helps you get more from your F5 investment. If new to DevCentral, check out the Getting Started section. And if you have any problems, or think something could be easier to use, let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback      or