F5 BIG-IP - SNMP OID
아래 링크는 F5 공식 가이드 문서입니다. 본 문서 내용에 대한 상세 설명은 아래 문서에서 확인 가능합니다.
Monitoring BIG-IP System Traffic with SNMP
CPU¶
# BIG-IP는 SNMP Response로 Delta Value를 제공합니다.
# Object Name 앞에 ‘F5-BIGIP-SYSTEM-MIB::’가 생략되어 있습니다.
# SNMP 조회 시 생략된 상태인 sysGlobalHostCpuUser5s로 조회해도 되고, F5-BIGIP-SYSTEM-MIB::sysGlobalHostCpuUser5s로 조회해도 됩니다. OID 값을 바로 사용해도 됩니다.
# Object name 마지막의 5s는 Polling Interval을 의미합니다. 5s, 1m, 5m로 구분됩니다. 이 표에서는 5s만 작성합니다.
SNMP OID¶
Parameter | Object name | OID |
---|---|---|
Global Host CPU Usage | sysGlobalHostCpuUser5s | .1.3.6.1.4.1.3375.2.1.1.2.20.14 |
sysGlobalHostCpuNice5s | .1.3.6.1.4.1.3375.2.1.1.2.20.15 | |
sysGlobalHostCpuSystem5s | .1.3.6.1.4.1.3375.2.1.1.2.20.16 | |
sysGlobalHostCpuIdle5s | .1.3.6.1.4.1.3375.2.1.1.2.20.17 | |
sysGlobalHostCpuIrq5s | .1.3.6.1.4.1.3375.2.1.1.2.20.18 | |
sysGlobalHostCpuSoftirq5s | .1.3.6.1.4.1.3375.2.1.1.2.20.19 | |
sysGlobalHostCpuIowait5s | .1.3.6.1.4.1.3375.2.1.1.2.20.20 | |
sysGlobalHostCpuUsageRatio5s | .1.3.6.1.4.1.3375.2.1.1.2.20.21 | |
sysGlobalHostCpuUsageRatio | .1.3.6.1.4.1.3375.2.1.1.2.20.13 |
- Global Host CPU UsageRatio는 시스템 CPU 사용률이며, User, Niced, system의 델타 합을 user, niced, system, idle, irq, softirq, iowait 델타 합으로 나눈 값입니다. 여기서 델타는, 최근 10초 간의 Stat에 대한 차이입니다.
- Global Host CPU UsageRatio5s는 산출 방법은 동일하지만 최근 5-second interval에 대한 델타 값을 사용합니다.
BIG-IP는 CPU Core 별로 SNMP OID를 지원합니다. 아래 OID를 조회하면 Core 별로 결과값이 나타납니다.
Parameter | Object name | OID |
---|---|---|
CPU Count | sysMultiHostCpuCount | .1.3.6.1.4.1.3375.2.1.7.4.2.1.5 |
CPU Usage | sysMultiHostCpuUser5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.12 |
sysMultiHostCpuNice5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.13 | |
sysMultiHostCpuSystem5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.14 | |
sysMultiHostCpuIdle5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.15 | |
sysMultiHostCpuIrq5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.16 | |
sysMultiHostCpuSoftirq5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.17 | |
sysMultiHostCpuIowait5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.18 | |
sysMultiHostCpuUsageRatio5s | .1.3.6.1.4.1.3375.2.1.7.4.2.1.19 | |
sysMultiHostCpuUsageRatio | .1.3.6.1.4.1.3375.2.1.7.4.2.1.11 |
Memory¶
BIG-IP는 Memory를 TMM, Other, Swap으로 각각 나누어 사용합니다.
TMM은 실제 트래픽 처리에 사용되는 메모리, Other는 BIG-IP TMOS 구동에 필요한 Memory, Swap은 말 그대로 Swap 영역 메모리입니다.
TMSH에서 tmsh show sys memory 명령어로 메모리를 조회하면 아래와 같이 구분된 결과를 볼 수 있습니다.
세부내역은 생략하고 옮겨왔습니다.
Sys::System Memory Information
-----------------------------------------------------------------
Memory Used(%) Current Average Max(since 12/03/20 14:04:34)
-----------------------------------------------------------------
TMM Memory Used 7 7 7
Other Memory Used 73 73 73
Swap Used 2 2 2
------------------------
sys::Host Memory (bytes)
------------------------
TMM: 0
Total 5.1G
Used 355.3M
Free 4.7G
Other: 0
Total 8.6G
Used 6.3G
Free 2.3G
Total: 0
Total 13.7G
Used 6.6G
Free 7.1G
Swap: 0
Total 1023.9M
Used 16.7M
Free 1007.2M
SNMP OID¶
Parameter | Object name | OID |
---|---|---|
Host Memory Total | sysHostMemoryTotal | .1.3.6.1.4.1.3375.2.1.7.1.1 |
Host Memory Used | sysHostMemoryUsed | .1.3.6.1.4.1.3375.2.1.7.1.2 |
TMM Memory Total | sysGlobalTmmStatMemoryTotal | .1.3.6.1.4.1.3375.2.1.1.2.21.28 |
TMM Memory Used | sysGlobalTmmStatMemoryUsed | .1.3.6.1.4.1.3375.2.1.1.2.21.29 |
Other(non-TMM) memory Total | sysGlobalHostOtherMemoryTotal | .1.3.6.1.4.1.3375.2.1.1.2.20.44 |
Other(non-TMM) memory Used | sysGlobalHostOtherMemoryUsed | .1.3.6.1.4.1.3375.2.1.1.2.20.45 |
Swap Memory Total | sysGlobalHostSwapTotal | .1.3.6.1.4.1.3375.2.1.1.2.20.46 |
Swap Memory Used | sysGlobalHostSwapUsed | .1.3.6.1.4.1.3375.2.1.1.2.20.47 |
Byte와 KiloByte 단위로 표시합니다. KiloByte는 Object Name 뒤에 ‘Kb’를 붙여주면 됩니다.
Parameter | Object name | OID |
---|---|---|
Host Memory Total | sysHostMemoryTotal | .1.3.6.1.4.1.3375.2.1.7.1.1 |
Host Memory Used | sysMultiHostUsed | .1.3.6.1.4.1.3375.2.1.7.4.2.1.3 |
TMM Memory Total | sysTmmStatMemoryTotal | .1.3.6.1.4.1.3375.2.1.7.4.2.1.31 |
TMM Memory Used | sysTmmStatMemoryUsed | .1.3.6.1.4.1.3375.2.1.7.4.2.1.32 |
Other(non-TMM) memory Total | sysMultiHostOtherMemoryTotal | .1.3.6.1.4.1.3375.2.1.7.4.2.1.7 |
Other(non-TMM) memory Used | sysMultiHostOtherMemoryUsed | .1.3.6.1.4.1.3375.2.1.7.4.2.1.8 |
Swap Memory Total | sysMultiHostSwapTotal | .1.3.6.1.4.1.3375.2.1.7.4.2.1.9 |
Swap Memory Used | sysMultiHostSwapUsed | .1.3.6.1.4.1.3375.2.1.7.4.2.1.10 |
Byte와 KiloByte 단위로 표시합니다. KiloByte는 Object Name 뒤에 ‘Kb’를 붙여주면 됩니다.
Disk¶
# Disk의 경우 SNMP OID가 제공되지 않습니다.
# BIG-IP시스템은 Disk Used Space/Available Space를 Diskmonitor Utility를 사용해 체크합니다.
- Diskmonitor Utility는 주기적으로 동작해 디스크 사용률을 체크하는 스크립트로,
BIG-IP file systems이 가득 차게 되면, LTM Log를 생성 및 Alertd를 통해 메일을 전달하거나
SNMP Trap을 생성하는 동작을 수행합니다.
Disk Monitor Utility 동작 구조¶
Inspecting Volumes¶
Diskmonitor 유틸리티는 아래 볼륨을 기본값으로 체크합니다.
_root_ = /
config = /config
dev_shm = /dev/shm
shared = /shared
shared_rrd.1.2 = /shared/rrd.1.2
usr = /usr
var = /var
var_log = /var/log
var_loipc = /var/loipc
var_prompt = /var/prompt
var_run = /var/run
var_tmstat = /var/tmstat
shared_vmdisks = /shared/vmdisks
BIG-IP DB Variables¶
diskmonitor utility는 BIG-IP DB 변수를 사용하며, 활성화/비활성화, Monitoring 방식, Interval, Threshold 등이 BIG-IP DB 값으로 지정됩니다.
diskmonitor utility의 db variables은 파티션 별로 Customization이 가능합니다.
DB Description | TMSH Command |
---|---|
Last Available Value(%) | list sys db platform.diskmonitor.freelast.\ |
Alert Threshold(%) | list sys db platform.diskmonitor.limitalert.\ |
Warning Threshold(%) | list sys db platform.diskmonitor.limitwarn.\ |
Monitor Interval(%) | list sys db platform.diskmonitor.interval |
Crontab¶
crontab -l 명령어로 diskmonitor의 주기적인 동작을 확인할 수 있습니다. 매 10분마다 동작이 기본값 입니다.(11.5.x and later)
MAILTO=""
1-59/10 * * * * /usr/bin/diskmonitor
0 */4 * * * /usr/bin/diskwearoutstat
… …
Action - Log¶
Diskmonitor Utility는 Threshold를 넘으면 로그 파일 /var/log/ltm에 아래와 유사한 로그를 생성합니다.
diskmonitor: 011d005: Disk partition shared has less than 30% free
diskmonitor: 011d004: Disk partition shared has only 0% free
Action – SNMP Trap¶
생성되는 SNMP Trap은 아래와 같습니다. (Trap은 평소에 값이 조회되지 않습니다.) ‘F5-BIGIP-COMMON-MIB::’가 생략되어 있습니다.
Alert Name | Object name | OID |
---|---|---|
BIGIP_DMON_ERR_DMON_ALERT | bigipDiskPartitionWarn | .1.3.6.1.4.1.3375.2.4.0.25 |
BIGIP_DMON_ERR_DMON_WARN | bigipDiskPartitionWarn | .1.3.6.1.4.1.3375.2.4.0.25 |
BIGIP_DMON_ERR_DMON_GROWTH | bigipDiskPartitionGrowth | .1.3.6.1.4.1.3375.2.4.0.26 |
다음 명령어로 Default Trap 설정을 조회해볼 수 있습니다.
#cat /etc/alertd/alert.conf | grep -i diskmonitor -A 10
명령어의 결과는 아래와 같습니다.
* from diskmonitor (CR38227)
* ALERT and WARN send the same trap
*/
alert BIGIP_DMON_ERR_DMON_ALERT {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.25"
}
alert BIGIP_DMON_ERR_DMON_WARN {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.25"
}
alert BIGIP_DMON_ERR_DMON_GROWTH {
snmptrap OID=".1.3.6.1.4.1.3375.2.4.0.26"
Diskmonitor에 대한 자세한 내용은 아래 문서에서 확인하실 수 있습니다.
K8865: Overview of the diskmonitor utility
Throughput¶
# SNMP로 조회 가능한 Thoughput Response는 합산 값입니다.
# Current 등 Dashboard 및 Tmsh에서 수치를 표현할 때는 이들의 Delta 값과 계산식을 사용합니다.
# 본 문서에는 SNMP OID 값과 계산식을 표기합니다.
- 문서 가독성을 위해 SSL Transaction (Accel.) 항목은 제외합니다.
용어 설명¶
자세한 설명은 아래 문서를 참조하시면 좋습니다. K50309321: Viewing BIG-IP system throughput statistics
항목값 | 설명 |
---|---|
Thoughput | Management 인터페이스를 제외하고, TMM, PVA 스위치보드를 비롯한 BIG-IP Device의 모든 인터페이스에서 수집한 Throughput 합산 값입니다. (Dashboard에서는 Management Interface Traffic까지 포함된다고 합니다.) In: Client-side in/out 트래픽 합계 Out: Server-side in/out 트래픽 합계 Service: Request(Client-side in + Server-side Out), Response(Service-side in + Client-side Out) 값 중 큰 값입니다. |
| TMM Client-side Throughput[Detail] | Client-side의 TMM, PVA에 의해 처리된 합계 throughput입니다. Client in: 유입(Ingress) 트래픽 합계 Client out: 유출(Egress) 트래픽 합계 |
| TMM Server-side Throughput[Detail] | Server-side의 TMM, PVA에 의해 처리된 합계 throughput입니다. Server in: 유입(Ingress) 트래픽 합계 Server out: 유출(Egress) 트래픽 합계 |
SNMP OID¶
# Object Name 앞에 ‘F5-BIGIP-SYSTEM-MIB::’가 생략되어 있습니다.
# Object name 마지막의 5s는 Polling Interval, Average를 의미합니다. 5s, 1m, 5m로 구분됩니다.
이 표에서는 5s만 작성합니다.
# Object Name의 sysStat 뒤에 Pva를 추가하면 PVA 트래픽을 별도 확인할 수 있습니다.
\<예시> sysStatClientBytesIn.0 => sysStatPvaClientBytesIn.0
Statistics | Group | Object Name | OID |
---|---|---|---|
Throughput | Client In | sysStatClientBytesIn.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.3.0 |
sysStatClientPktsIn.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.2.0 | ||
sysStatClientBytesIn5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.60.0 | ||
sysStatClientPktsIn5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.59.0 | ||
Client Out | sysStatClientBytesOut.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.5.0 | |
sysStatClientPktsOut.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.4.0 | ||
sysStatClientBytesOut5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.62.0 | ||
sysStatClientPktsOut5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.61.0 | ||
Server In | sysStatServerBytesIn.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.10.0 | |
sysStatServerPktsIn.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.9.0 | ||
sysStatServerBytesIn5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.67.0 | ||
sysStatServerPktsIn5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.66.0 | ||
Server Out | sysStatServerBytesOut.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.12.0 | |
sysStatServerPktsOut.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.11.0 | ||
sysStatServerBytesOut5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.69.0 | ||
sysStatServerPktsOut5s.0 | .1.3.6.1.4.1.3375.2.1.1.2.1.68.0 |
Calculation¶
- 각 계산식의 Polling Interval은 10s가 기본값입니다.
- 예를 들어 \
값을 추출하려면 OID sysStatServerBytesIn에 대해 10초 간격으로 두 번의 조회가 필요합니다.
Statistic | Group | 계산식 |
---|---|---|
Throughput | In | ( [DeltaStatClientBytesIn] + [DeltasysStatClientBytesOut] ) *8 / [interval] |
Out | ( [DeltaStatServerBytesIn] + [DeltaStatServerBytesOut] )* 8 / [interval] | |
TMM Client-side Throughput | Client Bits In | ( [DeltaStatClientBytesIn] *8 ) / [interval] |
Client Bits Out | ( [DeltaStatClientBytesOut]* 8 ) / [interval] | |
TMM Server-side Throughput | Server Bits In | ( [DeltaStatServerBytesIn] *8 ) / [interval] |
Server Bits Out | ( [DeltaStatServerBytesOut]* 8 ) / [interval] | |
New Connections Summary | Client Accepts | [DeltaTcpStatAccept] / [interval] |
Server Connects | [DeltaStatServerTotConns] /[interval] | |
Total New Connections | Client Connects | [DeltaStatClientTotConns] / [interval] |
Server Connects | [DeltaStatServerTotConns] / [interval] | |
New Accepts / Connects | Client Accepts | [DeltaTcpStatAccepts] / [interval] |
Server Connects | [DeltaTcpStatConnects] / [interval] |