Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

SNMP Polling-Ausgabe

Bekannte Einwände

CPU-Hogs für SNMP

Eindämmung

Zugehörige Informationen

Einführung

In diesem Dokument wird beschrieben, wie das Simple Network Management Protocol (SNMP) zum Abfragen der Speicherstatistiken der Cisco Adaptive Security Appliance (ASA) verwendet wird, z. B. freier Speicher, verwendeter Speicher usw.

Voraussetzungen

Anforderungen

Für dieses Dokument bestehen keine speziellen Anforderungen.

Verwendete Komponenten

Die Informationen in diesem Dokument gelten nur für Geräte der Cisco Adaptive Security Appliance.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Hintergrundinformationen

Sie können den freien Speicher und die verwendeten Speicherstatistiken überwachen, um die Speicherleistung des Netzwerkgeräts zu ermitteln. Die Cisco ASA unterstützt Speicherstatistiken, die über SNMP abgefragt werden, und verwendet folgende unterstützte OIDs:

- 32-Bit-Speicherzähler

Verwenden Sie das Objekt "CiscoMemoryPoolEntry". Objekt- und ID-Zuordnungen werden in dieser Beispielausgabe angezeigt.

ciscoMemoryPoolType 1.3.6.1.4.1.9.9.48.1.1.1.1

ciscoMemoryPoolName 1.3.6.1.4.1.9.9.48.1.1.1.2

ciscoMemoryPoolAlternate 1.3.6.1.4.1.9.9.48.1.1.1.3

ciscoMemoryPoolValid 1.3.6.1.4.1.9.9.48.1.1.1.4

ciscoMemoryPoolUsed 1.3.6.1.4.1.9.9.48.1.1.1.5

ciscoMemoryPoolFree 1.3.6.1.4.1.9.9.48.1.1.1.6

ciscoMemoryPoolLargestFree 1.3.6.1.4.1.9.9.48.1.1.1.7

- 64-Bit-Speicherzähler

Verwenden Sie das Objekt "cempMemPoolEntry". Objekt- und ID-Zuordnungen werden in dieser Beispielausgabe angezeigt.

cempMemPoolIndex 1.3.6.1.4.1.9.9.221.1.1.1.1.1

cempMemPoolLowestFree 1.3.6.1.4.1.9.9.221.1.1.1.1.10

cempMemPoolUsedLowWaterMark 1.3.6.1.4.1.9.9.221.1.1.1.1.11

cempMemPoolAllocHit 1.3.6.1.4.1.9.9.221.1.1.1.1.12

cempMemPoolAllocMiss 1.3.6.1.4.1.9.9.221.1.1.1.1.13

cempMemPoolFreeHit 1.3.6.1.4.1.9.9.221.1.1.1.1.14

cempMemPoolFreeMiss 1.3.6.1.4.1.9.9.221.1.1.1.1.15

cempMemPoolType 1.3.6.1.4.1.9.9.221.1.1.1.1.2

cempMemPoolName 1.3.6.1.4.1.9.9.221.1.1.1.1.3

cempMemPoolPlatformMemory 1.3.6.1.4.1.9.9.221.1.1.1.1.4

cempMemPoolAlternate 1.3.6.1.4.1.9.9.221.1.1.1.1.5

cempMemPoolValid 1.3.6.1.4.1.9.9.221.1.1.1.1.6

cempMemPoolUsed 1.3.6.1.4.1.9.9.221.1.1.1.1.7

cempMemPoolFree 1.3.6.1.4.1.9.9.221.1.1.1.1.8

cempMemPoolLargestFree 1.3.6.1.4.1.9.9.221.1.1.1.1.9

SNMP Polling-Ausgabe

Wenn die Speicherstatistiken von der Konsole eines SNMP-Clients abgefragt werden, ähnelt die Ausgabe dieser Beispielausgabe.

Für 32-Bit-Zähler:

iso.3.6.1.4.1.9.9.48.1.1.1.2.1 = STRING: "System memory"

iso.3.6.1.4.1.9.9.48.1.1.1.2.6 = STRING: "MEMPOOL_DMA"

iso.3.6.1.4.1.9.9.48.1.1.1.2.7 = STRING: "MEMPOOL_GLOBAL_SHARED"

iso.3.6.1.4.1.9.9.48.1.1.1.3.1 = INTEGER: 0

iso.3.6.1.4.1.9.9.48.1.1.1.3.6 = INTEGER: 0

iso.3.6.1.4.1.9.9.48.1.1.1.3.7 = INTEGER: 0

iso.3.6.1.4.1.9.9.48.1.1.1.4.1 = INTEGER: 1

iso.3.6.1.4.1.9.9.48.1.1.1.4.6 = INTEGER: 1

iso.3.6.1.4.1.9.9.48.1.1.1.4.7 = INTEGER: 1

iso.3.6.1.4.1.9.9.48.1.1.1.5.1 = Gauge32: 230971224

iso.3.6.1.4.1.9.9.48.1.1.1.5.6 = Gauge32: 21585704

iso.3.6.1.4.1.9.9.48.1.1.1.5.7 = Gauge32: 50616136

iso.3.6.1.4.1.9.9.48.1.1.1.6.1 = Gauge32: 37464232

iso.3.6.1.4.1.9.9.48.1.1.1.6.6 = Gauge32: 32964824

iso.3.6.1.4.1.9.9.48.1.1.1.6.7 = Gauge32: 37464248

iso.3.6.1.4.1.9.9.48.1.1.1.7.1 = Gauge32: 37460160

iso.3.6.1.4.1.9.9.48.1.1.1.7.6 = Gauge32: 32945592

iso.3.6.1.4.1.9.9.48.1.1.1.7.7 = Gauge32: 37460160

Sie können die Ausgabe der Befehle show mem oder show mem detail verwenden, um dasselbe zu interpretieren.

‘iso.3.6.1.4.1.9.9.48.1.1.1.5.1 = Gauge32:’ correlates to the ‘Used Memory’ in 'sh mem' output.

‘iso.3.6.1.4.1.9.9.48.1.1.1.6.1 = Gauge32:’ correlates to the ‘Free Memory’ in ‘sh mem' output

Für 64-Bit-Zähler:

iso.3.6.1.4.1.9.9.221.1.1.1.1.2.1.1 = INTEGER: 2

iso.3.6.1.4.1.9.9.221.1.1.1.1.3.1.1 = STRING: "System memory"

iso.3.6.1.4.1.9.9.221.1.1.1.1.5.1.1 = INTEGER: 0

iso.3.6.1.4.1.9.9.221.1.1.1.1.6.1.1 = INTEGER: 1

iso.3.6.1.4.1.9.9.221.1.1.1.1.7.1.1 = Gauge32: 230971320

iso.3.6.1.4.1.9.9.221.1.1.1.1.8.1.1 = Gauge32: 37464144

iso.3.6.1.4.1.9.9.221.1.1.1.1.17.1.1 = Gauge32: 0

iso.3.6.1.4.1.9.9.221.1.1.1.1.18.1.1 = Counter64: 230971312

iso.3.6.1.4.1.9.9.221.1.1.1.1.19.1.1 = Gauge32: 0

iso.3.6.1.4.1.9.9.221.1.1.1.1.20.1.1 = Counter64: 37464144

Sie können die Ausgabe der Befehle show mem oder show mem detail verwenden, um dasselbe zu interpretieren.

ASA1#

ASA1#

ASA1#

ASA1# show mem

Free memory:          37498488 bytes (14%)

Used memory:         230936968 bytes (86%)

-------------     ------------------

Total memory:        268435456 bytes (100%)

ASA1#

ASA1#

ASA1#

ASA1# show mem detail

Free memory:                        37498488 bytes (14%)

Used memory:

Allocated memory in use:       50581896 bytes (19%)

Reserved memory:              180355072 bytes (67%)

-----------------------------   ------------------

Total memory:                      268435456 bytes (100%)

Least free memory:         37463768 bytes (14%)

Most used memory:         230971688 bytes (86%)

!--- Some output excluded.

Bekannte Einwände

In diesem Abschnitt werden einige bekannte Probleme beim Abfragen von Speicherstatistiken mithilfe von SNMP beschrieben.

Wenn die ASA abgefragt wird, um Speicherinformationen abzurufen, kann SNMP die Informationen aus drei Hauptsegmenten des ASA-Speichers durchsuchen (siehe unten).

1. Der Systemspeicher-Pool

2. Der MEMPOOL_DMA-Pool

3. Der Pool MEMPOOL_GLOBAL_SHARED

Wenn die Informationen des MEMPOOL_GLOBAL_SHARED-Pools über SNMP abgefragt werden, führt dies zu CPU-Hogs. Es liegt auf der Hand, dass Paketverluste/-überläufe in Zeiten von Datenverkehr mit hoher Auslastung/Überlastung auftreten können, wenn Sie SNMP zum Abfragen von Speicherstatistiken verwenden, bei denen die ASA die Informationen über große verbundene Speichereinheiten abfragen muss, was zu SNMP-bezogenen CPU-Hogs führt. Die CPU der ASA kann zu lange vom SNMP-Prozess gehalten werden, bevor die CPU auf andere Prozesse freigegeben wird. Wenn die Datenrate über die ASA hoch genug ist, steigen die Überläufe auf den Schnittstellenzählern an, und Pakete können verworfen werden.

Sie eignet sich sowohl für Einkern- als auch für Multicore-Plattformen. Es ist ratsam, die MIBs des Speicherpools nicht zum Abfragen von Statistiken zu show mem detail zu verwenden, sondern nur die MIBs, die mit der show mem-Ausgabe verknüpft sind. Sie können show mem detail über die CLI ausführen, um diese CPU-Hogs anzuzeigen.

CPU-Hogs für SNMP

Dieser Abschnitt enthält Beispiele für CPU-Hog-Meldungen der Cisco ASA.

Process:      snmp, PROC_PC_TOTAL: 124, MAXHOG: 306, LASTHOG: 299

LASTHOG At:   12:00:24 EDT May 17 2013

PC:           0x000000000124fd5c (suspend)

Process:      snmp, NUMHOG: 124, MAXHOG: 306, LASTHOG: 299

LASTHOG At:   12:00:24 EDT May 17 2013

PC:           0x000000000124fd5c (suspend)

Call stack:   0x000000000124fd5c  0x000000000124e72b  0x000000000124b5da

0x000000000124e3e7  0x0000000001228b9a  0x000000000122732a

0x0000000000423cc5

Process:      snmp, PROC_PC_TOTAL: 248, MAXHOG: 306, LASTHOG: 298

LASTHOG At:   12:01:34 EDT May 17 2013

PC:           0x00000000013780cf (suspend)

Process:      snmp, NUMHOG: 248, MAXHOG: 306, LASTHOG: 298

LASTHOG At:   12:01:34 EDT May 17 2013

PC:           0x00000000013780cf (suspend)

Call stack:   0x000000000124803b  0x00000000012289e5  0x000000000122732a

0x0000000000423cc5

Möglicherweise sehen Sie auch diese Fehlermeldungen auf der Cisco ASA.

[local5.warning] %ASA-4-711004: Task ran for 305 msec, Process = snmp, PC = 1250117, Call stack =

2013-05-17T09:33:12-04:00 CISCO-ASA-TEST(10.10.10.1) [local5.warning] %ASA-4-711004: Task ran for 305 msec, Process = snmp, PC = 1250117, Call stack =   0x0000000001250117  0x000000000124ea07  0x000000000124b5da  0x000000000124e3e7  0x0000000001228b9a  0x000000000122732a  0x0000000000423cc5

2013-05-17T09:33:12-04:00 CISCO-ASA-TEST(10.10.10.2) [local5.warning] %ASA-4-711004: Task ran for 354 msec, Process = snmp, PC = 1250117, Call stack =

2013-05-17T09:33:12-04:00 CISCO-ASA-TEST(10.10.10.2) [local5.warning] %ASA-4-711004: Task ran for 354 msec, Process = snmp, PC = 1250117, Call stack =   0x0000000001250117  0x000000000124ea07  0x000000000124b5da  0x000000000124e3e7  0x0000000001228b9a  0x000000000122732a  0x0000000000423cc5

2013-05-17T09:33:22-04:00 CISCO-ASA-TEST(10.10.10.2) [local5.warning] %ASA-4-711004: Task ran for 348 msec, Process = snmp, PC = 124fd5c, Call stack =

2013-05-17T09:33:22-04:00 CISCO-ASA-TEST(10.10.10.2) [local5.warning] %ASA-4-711004: Task ran for 348 msec, Process = snmp, PC = 124fd5c, Call stack =   0x000000000124fd5c  0x000000000124e72b  0x000000000124b5da  0x000000000124e3e7  0x0000000001228b9a  0x000000000122732a  0x0000000000423cc5

2013-05-17T09:36:17-04:00 CISCO-ASA-TEST(10.10.10.1) [local5.warning] %ASA-4-711004: Task ran for 300 msec, Process = snmp, PC = 13780cf, Call stack =

2013-05-17T09:36:17-04:00 CISCO-ASA-TEST(10.10.10.1) [local5.warning] %ASA-4-711004: Task ran for 300 msec, Process = snmp, PC = 13780cf, Call stack =   0x000000000124803b  0x00000000012289e5  0x000000000122732a  0x0000000000423cc5

Eindämmung

1. Vermeiden Sie das Polling der OIDs, die sich auf global_shared_mem_pool beziehen.

2. Führen Sie den Befehl snmpwalk für Ihre ASA-Plattform aus, und überprüfen Sie, ob eine der OIDs abgefragt wird, die sich auf den globalen_shared_mem_pool beziehen.

snmpwalk -c public -v2c -Os <IP Address> 1.3.6.1.4.1.9.9.48

enterprises.9.9.48.1.1.1.2.1 = STRING: "System memory"

enterprises.9.9.48.1.1.1.2.6 = STRING: "MEMPOOL_DMA"

enterprises.9.9.48.1.1.1.2.7 = STRING: "MEMPOOL_GLOBAL_SHARED"

enterprises.9.9.48.1.1.1.3.1 = INTEGER: 0

enterprises.9.9.48.1.1.1.3.6 = INTEGER: 0

enterprises.9.9.48.1.1.1.3.7 = INTEGER: 0

enterprises.9.9.48.1.1.1.4.1 = INTEGER: 1

enterprises.9.9.48.1.1.1.4.6 = INTEGER: 1

enterprises.9.9.48.1.1.1.4.7 = INTEGER: 1

enterprises.9.9.48.1.1.1.5.1 = Gauge32: 804874736

enterprises.9.9.48.1.1.1.5.6 = Gauge32: 125674744

enterprises.9.9.48.1.1.1.5.7 = Gauge32: 153938632

enterprises.9.9.48.1.1.1.6.1 = Gauge32: 3490092567

enterprises.9.9.48.1.1.1.6.6 = Gauge32: 146135816

enterprises.9.9.48.1.1.1.6.7 = Gauge32: 3084064048

enterprises.9.9.48.1.1.1.7.1 = Gauge32: 3083999920

enterprises.9.9.48.1.1.1.7.6 = Gauge32: 146133824

enterprises.9.9.48.1.1.1.7.7 = Gauge32: 3083999920

Vermeiden Sie die Verwendung von enterprise.9.9.48.1.1.1.7, da dies die OID für den größten_zusammenhängenden_Speicher ist. Auch die Unternehmen.9.9.48.1.1.1.X.7 sollten vermieden werden, da sie MEMPOOL_GLOBAL_SHARED betreffen.

Beim Polling von OIDs aus der Familie, 9.9.48.1.1.1.x.y, überprüfen Sie, ob "y" mit global_mempool übereinstimmt. Falls ja, vermeiden Sie die Verwendung dieser OIDs, um die SNMP-CPU-Hogs zu minimieren. Dieses "y" wird dynamisch generiert und kann bei verschiedenen Cisco ASA-Plattformen unterschiedlich sein.

Weitere Informationen finden Sie unter CSCtx43501.

Zugehörige Informationen

- Technischer Support und Dokumentation - Cisco Systems