Forum Discussion

Tal_BenHaim_112's avatar
Tal_BenHaim_112
Icon for Nimbostratus rankNimbostratus
Oct 26, 2006

traffic throughput rate

Hi,

 

I want to make a report of traffic throughput rate on each

 

virtual address.

 

As I understood There is a statistics of the amount of traffic on the virtual.

 

(I will need to subtract the numbers between two calls over a known period of time and divide by the time to get through put figure.)

 

 

How can I write an i-rule for it?

 

 

Thanks,

 

Tal

6 Replies

  • Currently there is no way to get the actual traffic counter values from within iRules. If you could, you could then use the "clock" command to get the timestamp differences. If you would like this feature, I'd recommend submitting a feature request to product support.

     

     

    But, if you are more flexible in your reporting options, you could always write an application that uses our iControl management APIs to query the statistic counter values and process them externally. Check out the DistributionMonitor C sample in the SDK for an example of how to do this.

     

     

    -Joe
  • Hi,

     

     

    This is what i was looking for.

     

    How can i generate Proxy Class source files

     

    (like ITCMLocalLB.Node.cs , ITCMLocalLB.Pool.cs...)

     

    In case I will need to use other web services

     

    under /iControl/iControlPortal.cgi ?

     

    should I use WSDL utility ?

     

     

    I tried to run the DistributionMonitor but I got an

     

    exception when running the "monitor traffic" link.

     

    when initializing the member list array the address is not

     

    initialized and the get_statistics function fails.

     

    (although the number of members is correct).

     

    nodeName = member_list.address + ":" + member_list.port;

     

     

    here is the exception:

     

     

    See the end of this message for details on invoking

     

    just-in-time (JIT) debugging instead of this dialog box.

     

     

    ************** Exception Text **************

     

    System.Web.Services.Protocols.SoapHeaderException: Unknown method "{urn:iControl:ITCMLocalLB/Node}:get_statistics"

     

    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

     

    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

     

    at ITCMLocalLBNode.get_statistics(ITCMCommonIPPortDefinition node_def) in d:\y_server\f5 - dowloads\distributionmonitor\itcmlocallb.node.cs:line 347

     

    at DistributionMonitor.PoolChartForm.collectData() in d:\y_server\f5 - dowloads\distributionmonitor\poolchartform.cs:line 445

     

    at DistributionMonitor.PoolChartForm.DataTimer_Tick(Object sender, EventArgs e) in d:\y_server\f5 - dowloads\distributionmonitor\poolchartform.cs:line 578

     

    at System.Windows.Forms.Timer.OnTick(EventArgs e)

     

    at System.Windows.Forms.Timer.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr idEvent, IntPtr dwTime)

     

     

     

     

     

    Thanks,

     

    Tal

     

  • If you are using ITCM* interfaces, then you are running v4.x of the SDK. I'd suggest you download the latest 9.x version of the SDK which has the DistributionMonitor app ported to work with 9.x systems.

     

     

    -JOe
  • Hi Joe,

     

     

    I would like to add to the Distribution Monitor application

     

    a table presenting the current statistics for each pool

     

    and to have the ability to query maximal thruput of each pool

     

    along a variable time.

     

     

    Is there a sample that already implements this?

     

    Are these statistics saved to the big-ip?

     

     

    I assume I should build a DB that saves for example the last month period statistics. (save only the maximal daily thruput of each VIS)

     

     

    I need these statistics in order to determine how to

     

    limit thruput on each VIS.

     

     

    Thanks,

     

    Tal
  • I don't have an application on hand that does what you want. The data that you can query is the current snapshot in time so you are correct that you will have to retrieve those values and store them locally if you wish to be able to query them at any time over a specific time interval.

     

     

    We do store the maximum connections value but not throughput as that requires the concept of time and we only store raw counters.

     

     

    With 9.x we do have the performance counters but I don't believe they are granular for each pool.

     

     

    Good luck and let us know what you end up doing as I'm sure others out there (along with myself) would be interested.

     

     

    -Joe
  • Hi Joe,

     

     

    How can I retreive statistics of the exact number of BPS

     

    going through the interface connected to the ISP.

     

    (I want to make a cross reference between the information I receive from that interface and the information collected from the POOLS.)