F5 BigIP und SNMP

Hier mal einige interessante MIBs für F5 BigIPs. (OS: 9.x)

 

Hardware – Modell Name/Nummer:
1.3.6.1.4.1.3375.2.1.3.3.1.0 (z.B. C36 oder D63a)
1.3.6.1.4.1.3375.2.1.3.3.2.0 (z.B. 1500/Optimus oder 6400)

Temperaturen:
1.3.6.1.4.1.3375.2.1.3.2.3.2.1.2.1 (Chassis 1)
1.3.6.1.4.1.3375.2.1.3.2.3.2.1.2.101 (Chassis 2)
1.3.6.1.4.1.3375.2.1.3.1.2.1.2.1 (Cpu1)
1.3.6.1.4.1.3375.2.1.3.1.2.1.2.2 (Cpu2)

Lüfter:
1.3.6.1.4.1.3375.2.1.3.2.1.1.0 (Anzahl Lüfter)
1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.101 (Lüfter 1)
[…]
1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.106 (Lüfter 6)

Netzteile:
1.3.6.1.4.1.3375.2.1.3.2.2.1.0 (Anzahl Netzteile)
1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.101 (Netzteil 1)
1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.102 (Netzteil 2)

Hostname:
1.3.6.1.4.1.3375.2.1.6.2.0

OS:
1.3.6.1.4.1.3375.2.1.4.2.0 (z.B. 9.2.0)

Kernelversion
.1.3.6.1.4.1.3375.2.1.6.3.0 (z.B. 2.4.21-9.3.0.178.0smp)

Build Version
.1.3.6.1.4.1.3375.2.1.4.3.0 (z.B. 178.0 oder 194.1)

Edition
.1.3.6.1.4.1.3375.2.1.4.4.0 (z.B. „Hotfix HF3“)

Uptime:
1.3.6.1.4.1.3375.2.1.6.6.0 (z.B. 0:0:49:02 [49 Min 2 Sek]/Timeticks: (418277400) 48 days, 9:52:54.00)

Systemload:
1.3.6.1.4.1.2021.10.1.3.1 (Load 1 min)
1.3.6.1.4.1.2021.10.1.3.2 (Load 5 min)
1.3.6.1.4.1.2021.10.1.3.3 (Load 15 min (z.B. 0.97))
1.3.6.1.4.1.2021.10.1.5.1 (Load 1 min)
1.3.6.1.4.1.2021.10.1.5.2 (Load 5 min)
1.3.6.1.4.1.2021.10.1.5.3 (Load 15 min (z.B. 97))

Anzahl CPUs
.1.3.6.1.4.1.3375.2.1.7.2.1.0

Ram Total (in bytes)
.1.3.6.1.4.1.3375.2.1.7.1.1.0

Ram Used (in bytes)
.1.3.6.1.4.1.3375.2.1.7.1.2.0

Config-Sync Status:
1.3.6.1.4.1.3375.2.1.1.1.1.6.0
-1 = uninitialized or disabled config state
0 = Synchronized
1 = Local config modified, recommend configsync to peer
2 = Peer config modified, recommend configsync from peer
3 = Config modified on both systems, manual intervention required

Active/Standby Status:
1.3.6.1.4.1.3375.2.1.1.1.1.19.0 (3= Active; 0= Standby)

Forced Active/Standby Mode:
1.3.6.1.4.1.3375.2.1.1.1.1.11.0 (Forced Active; enable(1), disable(0))
1.3.6.1.4.1.3375.2.1.1.1.1.12.0 (Forced Standby; enable(1), disable(0))

Als Redundantes Päärchen Konfiguriert [true/false]
.1.3.6.1.4.1.3375.2.1.1.1.1.13.0

Anzahl Partitionen
.1.3.6.1.4.1.3375.2.1.7.3.1.0

Partitionen (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.7.3.2.1.1

/ Partition (root) Groesse (in blocks)
.1.3.6.1.4.1.3375.2.1.7.3.2.1.3.1.47

/ Partition (root) Free (in blocks)
.1.3.6.1.4.1.3375.2.1.7.3.2.1.4.1.47

„Trunks“:
‚F5-BIGIP-SYSTEM-MIB::sysTrunkStatus.“trunk1″‚ (Name des Trunks: „trunk1“)
1.3.6.1.4.1.3375.2.1.2.12.1.2.1.2.6.116.114.117.110.107.49 (up(0),down(1),disable(2),uninitialized(3))
Hint: Für jeden einzelnen Buchstaben des Trunknamens steht der entsprechende ASCII-Code (perlfunktion ord()) in der OID

Anzahl Netzwerkinterface (incl Management)
.1.3.6.1.4.1.3375.2.1.2.4.1.1.0

Interface Name (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.1

Interface enables [true/false] (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.8

Interface max speed (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.2

Interface current speed (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.4

Interface MAC-Adress (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.6

Interface Status (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.4.1.2.1.17 (z.B. up/down/disabled/unpopulated)

SelfIPs (z.B. via walk zu ermitteln was da ist)
.1.3.6.1.4.1.3375.2.1.2.8.1.2.1.1.1.4.SELFIP
.1.3.6.1.4.1.3375.2.1.2.8.1.2.1.1.1.4.10.229.3.129 = ‚1‘

SelfIPs mapping auf floating [true/false]
.1.3.6.1.4.1.3375.2.1.2.8.1.2.1.6.1.4.SELFIP
Sample: .1.3.6.1.4.1.3375.2.1.2.8.1.2.1.6.1.4.10.229.3.129 = ‚true(1)‘
Sample: .1.3.6.1.4.1.3375.2.1.2.8.1.2.1.6.1.4.10.229.3.130 = ‚false(0)‘

SelfIPs mapping auf VLAN
.1.3.6.1.4.1.3375.2.1.2.8.1.2.1.7.1.4.SELFIP
Sample: .1.3.6.1.4.1.3375.2.1.2.8.1.2.1.7.1.4.10.229.3.129 = ‚external‘

VLANs – Namen (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.1
Hint: Für jeden einzelnen Buchstaben des Trunknamens steht der entsprechende ASCII-Code (perlfunktion ord()) in der OID

VLANs – IDs (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.2

VLANs mapping auf MACs (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.5

VLANs mapping auf Masq-MACs (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.4

VLAN Failsafe [true/false] (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.7

VLAN Failsafeaction (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.1.2.1.10

VLAN Tagged-State [true/false] (via walk zu ermitteln)
.1.3.6.1.4.1.3375.2.1.2.13.2.2.1.3

Global Current Client Connections
1.3.6.1.4.1.3375.2.1.1.2.1.8.0

Global Open TCP Connections:
1.3.6.1.4.1.3375.2.1.1.2.12.2.0

Global Close_Wait TCP Connections:
1.3.6.1.4.1.3375.2.1.1.2.12.3.0

Current Client Connections:
.1.3.6.1.4.1.3375.2.1.1.2.1.8.0

Current Server Connections:
.1.3.6.1.4.1.3375.2.1.1.2.1.15.0

Global Bytes IN client side:
.1.3.6.1.4.1.3375.2.1.1.2.1.3.0

Global Bytes OUT client side:
.1.3.6.1.4.1.3375.2.1.1.2.1.5.0

Global Bytes IN server side:
.1.3.6.1.4.1.3375.2.1.1.2.1.10.0

Global Bytes OUT server side:
.1.3.6.1.4.1.3375.2.1.1.2.1.12.0

Global PvaClientBytesIn
.1.3.6.1.4.1.3375.2.1.1.2.1.17.0

Global PvaClientBytesOut
.1.3.6.1.4.1.3375.2.1.1.2.1.19.0

Global PvaClientCurConns
.1.3.6.1.4.1.3375.2.1.1.2.1.22.0

Global PvaServerBytesIn
.1.3.6.1.4.1.3375.2.1.1.2.1.24.0

Global PvaServerBytesOut
.1.3.6.1.4.1.3375.2.1.1.2.1.26.0

Global PvaServerCurConns
.1.3.6.1.4.1.3375.2.1.1.2.1.29.0

MAX Connections einer VirtualAddress:
1.3.6.1.4.1.3375.2.2.10.11.3.1.7.1.4.VIP_IP

Current IN Traffic einer VirtualAddress:
1.3.6.1.4.1.3375.2.2.10.11.3.1.4.1.4.VIP_IP

Current OUT Traffic einer VirtualAddress:
1.3.6.1.4.1.3375.2.2.10.11.3.1.6.1.4.VIP_IP

VirtualServStatClientBytesIn
.1.3.6.1.4.1.3375.2.2.10.2.3.1.7.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatClientBytesOut
.1.3.6.1.4.1.3375.2.2.10.2.3.1.9.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatClientCurConns
.1.3.6.1.4.1.3375.2.2.10.2.3.1.12.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatPvaBytesIn
.1.3.6.1.4.1.3375.2.2.10.2.3.1.21.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatPvaBytesOut
.1.3.6.1.4.1.3375.2.2.10.2.3.1.23.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatPvaCurConns
.1.3.6.1.4.1.3375.2.2.10.2.3.1.26.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

VirtualServStatCurrPvaAssistConn
.1.3.6.1.4.1.3375.2.2.10.2.3.1.29.COUNT_OF_CHARACTERS_OF_VIPNAME.ASCII_VIPNAME

Hint: den ASCII-Code bekommt man mittels der Perlfunktion ord().

NodeAddrStatServerBytesIn
.1.3.6.1.4.1.3375.2.2.4.2.3.1.4.1.4.NODE_IP

NodeAddrStatServerBytesOut
.1.3.6.1.4.1.3375.2.2.4.2.3.1.6.1.4.NODE_IP

NodeAddrStatServerCurConns
.1.3.6.1.4.1.3375.2.2.4.2.3.1.9.1.4.NODE_IP

NodeAddrStatPvaBytesIn
.1.3.6.1.4.1.3375.2.2.4.2.3.1.11.1.4.NODE_IP

NodeAddrStatPvaBytesOut
.1.3.6.1.4.1.3375.2.2.4.2.3.1.13.1.4.NODE_IP

NodeAddrStatPvaCurConns
.1.3.6.1.4.1.3375.2.2.4.2.3.1.16.1.4.NODE_IP

PoolMemberStatServerBytesIn
.1.3.6.1.4.1.3375.2.2.5.4.3.1.6.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

PoolMemberStatServerBytesOut
.1.3.6.1.4.1.3375.2.2.5.4.3.1.8.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

PoolMemberStatServerCurConns
.1.3.6.1.4.1.3375.2.2.5.4.3.1.11.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

PoolMemberStatPvaBytesIn
.1.3.6.1.4.1.3375.2.2.5.4.3.1.13.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

PoolMemberStatPvaBytesOut
.1.3.6.1.4.1.3375.2.2.5.4.3.1.15.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

PoolMemberStatServerCurConns
.1.3.6.1.4.1.3375.2.2.5.4.3.1.11.COUNT_OF_CHARACTERS_OF_POOLNAME.ASCII_POOLNAME.NODE_IP.PORT

Hint: den ASCII-Code bekommt man mittels der Perlfunktion ord().

Monitor-Status von pool members:
1.3.6.1.4.1.3375.2.2.5.3.2.1.10.ASCII_POOLNAME.NODE_IP.NODE_PORT (unchecked(0), checking(1), up(2), down(6), forceddown(7), disabled(9))
Am besten via „snmpwalk -c public -v2c -On BigIP_IP 1.3.6.1.4.1.3375.2.2.5.3.2.1.10 herrausfindbar was für MIBs es genau sind. Hint: Für jeden einzelnen Buchstaben des Poolnamens steht der entsprechende ASCII-Code (HEX) in der OID (Beispiel für den Poolnamen „ABC“: ‚1.3.6.1.4.1.3375.2.2.5.3.2.1.10.65.66.67.‘).

Sessions aktiviert für Node (Hint: damit kann man Nodes auch deaktivieren):
1.3.6.1.4.1.3375.2.2.4.1.2.1.9.1.4.NODE_IP (false(0), true(1))

VIP enabled/disabled (Hint: damit kann man VIPs auch deaktivieren):
1.3.6.1.4.1.3375.2.2.10.1.2.1.9.ASCII_VIPNAME (false(0), true(1))
Am besten via „snmpwalk -c public -v2c -On BigIP_IP 1.3.6.1.4.1.3375.2.2.10.1.2.1.9 herrausfindbar was für MIBs es genau sind. Hint: Für jeden einzelnen Buchstaben des VIP-Namens steht der entsprechende ASCII-Code (HEX) in der OID (Beispiel für die VIP „ABC“: ‚1.3.6.1.4.1.3375.2.2.10.1.2.1.9.3.65.66.67‘).

 

SSL-TPS Statistik (wieviele sind in use)
sysClientsslStatTotNativeConns (.1.3.6.1.4.1.3375.2.1.1.2.9.6)
sysClientsslStatTotCompatConns (.1.3.6.1.4.1.3375.2.1.1.2.9.9)
= Addieren beider Werte.

N Zeit später (z.B. 60 sekunden später) das selbe nochmal.

Diese Beiden Werte dann voneinander Abziehen damit man das delta bekommt.
= Pollwerte2-Pollwerte1

Dieses Delta durch das Intervall (60 sek.) teilen.
= used SSL-TPS/Sekunde

 

TMM CPU Usage

sysStatTmTotalCycles (.1.3.6.1.4.1.3375.2.1.1.2.1.41)
sysStatTmIdleCycles (.1.3.6.1.4.1.3375.2.1.1.2.1.42)
sysStatTmSleepCycles (.1.3.6.1.4.1.3375.2.1.1.2.1.43)

Sammeln der Daten.
Ermitteln Delta.

Berechnung:
TotalCycles – (IdleCycles + SleepCycles) = Used Cycles
(Used Cycles / TotalCycles) * 100 = CPU Usage
=> ((DeltaTmTotalCycles – (DeltaTmIdleCycles + DeltaTmSleepCycles)) / DeltaTmTotalCycles) *100