Subscriptions: Video  |  Audio  |  Tutorials  |  Tech Tips  |  Features  |  More...

Current Articles | Categories | Search | Syndication

by citizen_elah - 22315 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

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 2:13 AM by


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

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


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 @ Tuesday, December 11, 2007 10:26 AM by citizen_elah


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 12:40 AM by santoshgamre


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 @ Wednesday, January 23, 2008 4:41 AM by citizen_elah


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 @ Tuesday, January 29, 2008 7:44 AM by cadkins


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 @ Saturday, February 02, 2008 12:57 AM by solefald


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

drwxrwxrwx 2 root root 4096 Jan 29 11:24 rra

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


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 @ Tuesday, February 19, 2008 2:32 PM by stheriault@corp.web.com


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

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


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

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


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 @ Wednesday, February 27, 2008 3:47 PM by clowe


What did you have in mind?

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


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 @ Friday, February 29, 2008 6:13 AM by sjw7


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

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


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:38 AM by sjw7


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:46 AM by citizen_elah


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 @ Monday, March 03, 2008 5:50 AM by sjw7


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 @ Wednesday, March 12, 2008 8:55 AM by rayanami


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 @ Thursday, March 13, 2008 1:12 AM by julian924s


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, April 30, 2008 5:44 AM by bloschr


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 @ Wednesday, June 04, 2008 10:20 AM by dverzolla


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 @ Friday, September 05, 2008 6:05 AM by julian924s


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

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


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

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


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

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


Is there a fix for cpu utilization template?

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


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

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


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 2:29 AM by smiertx


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

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


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 5:17 AM by citizen_elah


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

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


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 10:51 AM by rbasukala


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:00 AM by citizen_elah


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:55 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 11:59 AM by rbasukala


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:07 PM by citizen_elah


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:28 PM by rbasukala


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 12:33 PM by citizen_elah


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

-RB

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


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 2:12 AM by jjakubik


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:36 AM by h-Jason


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 4:58 AM by jjakubik


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 5:51 AM by h-Jason


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 @ Tuesday, February 24, 2009 6:07 AM by jjakubik


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:51 AM by baqar


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 9:54 AM by baqar


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:00 AM by baqar


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 citizen_elah


ah, found it yourself...good deal!

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


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 10:04 AM by baqar


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 12:26 PM by baqar


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 @ Monday, March 02, 2009 3:12 PM by baqar


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 @ Tuesday, March 03, 2009 2:25 PM by baqar


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 @ Wednesday, March 04, 2009 12:58 PM by baqar


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 @ Thursday, March 05, 2009 9:56 AM by baqar


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 @ Friday, June 26, 2009 11:13 AM by mikedotd


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, June 30, 2009 6:45 AM by citizen_elah


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 3:02 PM by xerlic


@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, July 21, 2009 7:19 PM by citizen_elah


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 @ Tuesday, September 22, 2009 1:02 PM by ziuchkov


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 @ Wednesday, September 23, 2009 8:45 AM by citizen_elah


@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 8:39 AM by ziuchkov


@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 @ Friday, September 25, 2009 11:41 AM by citizen_elah


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:09 PM by dkraut


@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 @ Monday, November 02, 2009 2:26 PM by citizen_elah


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 @ Thursday, November 12, 2009 2:38 PM by wtwagon


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 4:55 AM by citizen_elah


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:20 AM by wtwagon


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 @ Friday, November 13, 2009 9:31 AM by citizen_elah


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 2:00 PM by loganseth


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 @ Wednesday, March 31, 2010 9:01 PM by citizen_elah


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 @ Friday, April 02, 2010 12:23 PM by baqar


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


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

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


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


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, May 28, 2010 9:19 AM by yreddy


Audio
Validating Data Group (Class) References
v10.1 - Configuring GTM's DNS Security Extensions
v.10 - Remote Authorization via TACACS+
v.10 - New class features in iRules
v.10 - iRules and the after command
v.10 - FastHTTP and Cookie Persistence
v.10 - A new iRules Namespace
Unbind your LDAP servers with iRules
Ten Steps to iRules Optimization
Tech Tip: Saving Your iControl Changes
Switch Gone Wild: Using Wildcards with the Tcl "switch" command
Stacking iRules: A Modular Approach
SNMP: Capturing SSL Statistics per Virtual Server
Selective DNS Persistence on GTM
Ruby Meets iControl: Switching Policies
Ruby meets iControl: Making Wide IPs
Ruby meets iControl: Creating VIPs
Rewriting Redirects
Replacing the WebSphere Apache Plugin with iRules
RADIUS Load Balancing with iRules
Polymorphism - Making TCL operators work for you
Persisting SSL Connections
Persisting Across Virtual Servers
Passive Application Monitoring with LTM
Monitoring TCP Applications #01
Managing The System Boot Location with iControl
LTM: Per-VLAN Default Gateways
LTM: Dueling Timeouts
LTM: Configuring IP Forwarding
LTM: Action on Service Down
iRules: Disabling Event Processing
iRules Update: New options for the "log" command
iRules Optimization 101 - #05 - Evaluating iRule Performance
iRules Optimization 101 - #04 - Delimiters: Braces, Brackets, Quotes and more
iRules Optimization 101 - #03 - for vs. foreach
iRules Optimization 101 - #02 - Expressions and Variables
iRules Optimization 101 - #01 - if, elseif and switch
iRules Event Order
iRules 101 - #15 - TCL List Handling Commands
iRules 101 - #14 - TCL String Commands Part 2
iRules 101 - #13 - TCL String Commands Part 1
iRules 101 - #12 - Validating Your Logic
iRules 101 - #11 - Events
iRules 101 - #10 - Regular Expressions
iRules 101 - #09 - Debugging
iRules 101 - #08 - Classes
iRules 101 - #07 - Catch
iRules 101 - #06 - When
iRules 101 - #05 - Selecting Pools, Pool Members, and Nodes
iRules 101 - #04 - Switch
iRules 101 - #03 - Variables
iRules 101 - #02 - If and Expressions
iRules 101 - #01 - Introduction to iRules
iRule Security 101 - #09 - Command Execution
iRule Security 101 - #08 - Limiting POST Data
iRule Security 101 - #07 - FTP Proxy
iRule Security 101 - #06 - HTTP Referer
iRule Security 101 - #05 - Avoiding Path Traversal
iRule Interference: Custom Closes and Responses
Investigating the LTM TCP Profile: Windows & Buffers
Investigating the LTM TCP Profile: The Finish Line
Investigating the LTM TCP Profile: Nagle’s Algorithm
Investigating the LTM TCP Profile: ECN & LTR
Investigating the LTM TCP Profile: Congestion Control Algorithms
Investigating the LTM TCP Profile: Acknowledgements
iControl Concept to Implementation (iC2I): The Introduction.
iControl Apps - #18 - Virtual Server Reverse Lookup
iControl Apps - #14 - Global Statistics
iControl Apps - #13 - System PVA Statistics
iControl Apps - #12 - Global SSL Statistics
iControl Apps - #11 - Global GTM Statistics
iControl Apps - #10 - Bigpipe List
iControl Apps - #09 - TMM Statistics
iControl Apps - #08 - System IP Statistics
iControl Apps - #07 - System Http Statistics
iControl Apps - #06 - Configuration Archiving
iControl Apps - #05 - Rate Based Statistics
iControl Apps - #04 - Graceful Server Shutdown
iControl Apps - #03 - Local Traffic Map
iControl Apps - #02 - Local Traffic Summary
iControl Apps - #01 - Disabling Node Servers
iControl 101 - #22 - GTM Data Centers
iControl 101 - #21 - Rate Classes
iControl 101 - #20 - Port Lockdown
iControl 101 - #19 - Time Conversions
iControl 101 - #18 - Stream Profile
iControl 101 - #17 - PortMirror
iControl 101 - #16 - SelfIPs
iControl 101 - #15 - System Services
iControl 101 - #14 - License Administration
iControl 101 - #13 - Data Groups
iControl 101 - #12 - Database Variables
iControl 101 - #11 - Performance Graphs
iControl 101 - #10 - System Inet
iControl 101 - #09 - iRules
iControl 101 - #08 - Partitions
iControl 101 - #07 - User Management
iControl 101 - #06 - File Transfer APIs
iControl 101 - #05 - Exceptions
iControl 101 - #04 - Language Options
iControl 101 - #03 - iControl Taxonomy
iControl 101 - #02 - How iControl Works
iControl 101 - #01 - iControl Marketing Dissected
iC2I: Automation - Creating Virtuals Simplified.
GTM, Know Thyself
Getting Started with pyControl
FTPS Offload via iRules
Exchange Persistence Duality and iRules
Dynamic WSDL updating with iRules
Custom SNMP Traps
Creating An iControl PowerShell Monitoring Dashboard With Google Charts
Cookie LoJack vi iRules
Content-Disposition - Forced file downloads via HTTP
Concurrent iControl Programming Explained
Case Insensitive Comparisons
Can iRules fix my cert mismatch errors?
Cache in with LTM and iRules
Building a Custom WebAccelerator Policy
Automated Web Analytics iRule Style
Investigating the LTM TCP Profile: Max Syn Retransmissions & Idle Timeout