[3DNS],通过snmp探测到的CPU使用 真的正确吗?

正如我们之前理解的一样,看F5CPU是一件麻烦的事情。SNMP获取的CPU值依然只是从UC-Davis 这个标准的类unix snmp agent下获得的。这就和通过topCPU一样并不准确。在3DNS,可以通过cpu bigip这个命令来查看较为准确的cpu使用

 

To measure CPU utilization on the BIG-IP system, you can use the cpu bigip command. Traditional Unix utilities such as top, vmstat, and SNMP monitoring do not report all of the information necessary to measure CPU utilization on the BIG-IP system. As a result, you should not use the traditional Unix utilities for measuring CPU utilization on the BIG-IP system.

The cpu bigip command reports CPU utilization based on BIG-IP-specific instrumentation in the kernel. The kernel uses the high-resolution timer to measure the number of CPU cycles that are spent in each of the major code sections, and then the kernel averages the information over time.

The major code sections are as follows:

  • Idle (Idle)
  • Unix user space (Unix)
  • BIG-IP processing (BIGIP)
  • Network processing (NET)
  • Network device drivers (DV_NET)
  • Interrupts (INT)

ang="EN-US"> e="Calibri" size="3"> 

cpu bigip

BIG-IP will display information similar to the following example:

             Idle   Unix   BIGIP   NET   DV_NET   INT
Current:      100%     0%     0%     0%     0%     0%
10-Sec Avg:   100%     0%     0%     0%     0%     0%
1-Min Avg:     99%     1%     0%     0%     0%     0%
5-Min Avg:     99%     0%     0%     0%     0%     0%
15-Min Avg:    94%     0%     0%     0%     0%     0%
Max BIGIP:      0%     0%     0%     0%     0%     0%
Max NET:        1%     1%     0%     3%     0%    26%
Max DV_NET:     0%     0%     0%     0%     0%     0%

 

目前,通过SNMP是无法获得cpu bigip输出的值。

如果说非要从snmp探测CPU使用,也只能说使用.1.3.6.1.4.1.2021.11这个OID相对接近些而已。

 

 

——————
For snmp monitoring for CPU for 3dns, under /usr/local/share/snmp/mibs directory, you can use the UCD-SNMP-MIB.txt
This is a MIB-II (RFC 1213) that contains specific management information for the UC-Davis SNMP agent.

 

which is the closest to having cpu utilization. Using UCD SNMP for monitoring CPU status via SNMP.
This mib you can use is.
.1.3.6.1.4.1.2021.11

 Manual Chapter: 3-DNS Reference Guide v4.5.10: Probing and Metrics Collection
https://support.f5.com/kb/en-us/products/3-dns/manuals/product/3dns4_5_10ref/3dns_probing.html

However,  customers will need to keep in mind of  SOL4278: Measuring CPU utilization on BIG-IP and 3-DNS
https://support.f5.com/kb/en-us/solutions/public/4000/200/sol4278.html

To measure CPU utilization on the BIG-IP system, you can use the cpu bigip command. Traditional Unix utilities such as top, vmstat, and SNMP monitoring do not report all of the information necessary to measure CPU utilization on the BIG-IP system. As a result, you should not use the traditional Unix utilities for measuring CPU utilization on the BIG-IP system.

The cpu bigip command reports CPU utilization based on BIG-IP-specific instrumentation in the kernel. The kernel uses the high-resolution timer to measure the number of CPU cycles that are spent in each of the major code sections, and then the kernel averages the information over time.

As result, the usage of the uc

davis MIB results are not valid

bigip:/usr/local/share/snmp/mibs# snmpwalk -cC -v1 -cpublic localhost .1.3.6.1.4.1.2021.11
enterprises.ucdavis.systemStats.ssIndex.0 = 1
enterprises.ucdavis.systemStats.ssErrorName.0 = systemStats
enterprises.ucdavis.systemStats.ssSwapIn.0 = 0
enterprises.ucdavis.systemStats.ssSwapOut.0 = 0
enterprises.ucdavis.systemStats.ssSysInterrupts.0 = 310
enterprises.ucdavis.systemStats.ssSysContext.0 = 29
enterprises.ucdavis.systemStats.ssCpuUser.0 = 0
enterprises.ucdavis.systemStats.ssCpuSystem.0 = 0
enterprises.ucdavis.systemStats.ssCpuIdle.0 = 99
enterprises.ucdavis.systemStats.ssCpuRawUser.0 = Counter32: 132510
enterprises.ucdavis.systemStats.ssCpuRawNice.0 = Counter32: 0
enterprises.ucdavis.systemStats.ssCpuRawSystem.0 = Counter32: 48638
enterprises.ucdavis.systemStats.ssCpuRawIdle.0 = Counter32: 24977579
enterprises.ucdavis.systemStats.ssCpuRawKernel.0 = Counter32: 41344
enterprises.ucdavis.systemStats.ssCpuRawInterrupt.0 = Counter32: 7294

Is it possible to gather the information provided with cpu bigip trough snmp?
From F5 development, It’s not possible to get from SNMP the information that "cpu bigip" reports, even in a raw/unprocessed state. Since RFEs for 4.x are not being accepted, this will not change.

Therefore, accurate SNMP monitoring of the 3dns bigip is not viable.

 

[root@test:LICENSE INOPERATIVE] config # snmpwalk -C c -v 1 -c public localhost .1.3.6.1.4.1.2021.11

UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1

UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats

UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0

UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0

UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 264

UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 9

UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 2516

UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 4682

UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 38

UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 38

UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 23

UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 15403

UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 0

UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 15317

UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 9177

UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 1003716

UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 1867939

[root@test:LICENSE INOPERATIVE] config # top

 

Share