Forum Discussion
Tal_BenHaim_112
Nimbostratus
Jan 23, 2007Common.StatisticType
What is the difference between STATISTIC_BYTES_IN / STATISTIC_BYTES_OUT
and - STATISTIC_SERVER_SIDE_BYTES_IN / STATISTIC_SERVER_SIDE_BYTES_OUT
I need to monitor the total throughput on the interface and the total throughput on all of the POOLS.
what statistic type should I use?
5 Replies
- The stats STATISTIC_BYTES_IN/OUT are the byte counts on the external public facing side of the device. The STATISTIC_SERVER_SIDE_BYTES_IN/OUT are the byte counts that go through the internal private side of the device. These values may be different if you have a profile inserting headers or an iRule that is modifying content in some way. Let's say for instance that you want to insert the X-Forwarded-For header to your HTTP web servers. This isn't in the payload from the browser to the BIG-IP but it is counted in the bytes to the webserver (serverside).
As for which you choose, it's really up to you and your requirements. For most cases, using the external stats only is close enough.
Hope that helps...
-Joe - Tal_BenHaim_112
Nimbostratus
Does STATISTIC_SERVER_SIDE_BYTES_IN/OUT reffer also to requests directed to ASM?
As I understand it will be wrong to sum STATISTIC_SERVER_SIDE_BYTES_IN/OUT and STATISTIC_BYTES_IN/OUT
as the total throughput. - As I mentioned above, the STATISTIC_SERVER_SIDE_BYTES_IN/OUT are the bytes that have gone in and out of the internal network. The ASM module on BIG-IP is still internal to the box so the server side stats aren't necessarily the same as those in/out of AS if you have that module enabled.
Here's a diagram to help out things in perspective(bytes_in) (server_side_bytes_out) -> -> Browser(ext) BIG-IP Server(int) <- <- (bytes_out) (server_side_bytes_in)
the numbers for server_side and external bytes in/out can be different if you have BIG-IP modify any of the content.
So, the answer is no that you should not sum up the bytes_in/out with the server_side_bytes_in/out or you will effectively double the total number of bytes. I would recommend summing the STATISTIC_BYTES_IN and STATISTIC_BYTES_OUT on the external interface to give an effective total bytes in/out.
-Joe - Tal_BenHaim_112
Nimbostratus
Hi,
I wrote an application that uses the Interfaces.NetworkingInterfaces.get_statistics
sometimes a receive the following exception:
System.InvalidOperationException was unhandled
Message="Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'.\r\nThe request failed with the error message:\r\n--\r\n \r\n--."
Source="System.Web.Services"
StackTrace:
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 Interfaces.NetworkingInterfaces.get_statistics(String[] interfaces) in D:\Y_SERVER\F5 - Dowloads\DistributionMonitorWithPools2\NetworkingInterfaces.cs:line 310
at DistributionMonitor.PoolsMaxStat.CollectInterfaceData(MemberStatistic InterfaceStatistic) in D:\Y_SERVER\F5 - Dowloads\DistributionMonitorWithPools2\PoolsMaxStat.cs:line 971
at DistributionMonitor.PoolsMaxStat.DataTimer_Tick(Object sender, EventArgs e) in D:\Y_SERVER\F5 - Dowloads\DistributionMonitorWithPools2\PoolsMaxStat.cs:line 692
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at DistributionMonitor.Form1.Main() in D:\Y_SERVER\F5 - Dowloads\DistributionMonitorWithPools2\MainForm.cs:line 301
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
- Do you have any idea?
Thanks,
Tal - qunhu_32678
Nimbostratus
Hi,Joe
Is your diagram should be as follows?
(bytes_in) (server_side_bytes_in)
-> ->
Browser(ext) BIG-IP Server(int)
<- <-
(bytes_out) (server_side_bytes_out)
thx!
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects