このドキュメントでは、空きメモリや使用メモリなどの Cisco 適応型セキュリティ アプライアンス(ASA)メモリ統計情報を照会するために、簡易ネットワーク管理プロトコル(SNMP)を使用する方法について説明します。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、Cisco Adaptive Security Appliance(ASA)デバイスで有効です。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
空きメモリおよび使用メモリ統計情報をモニタして、ネットワーク デバイスのメモリ パフォーマンスを識別することができます。Cisco ASA では、SNMP によってポーリングされたメモリ統計情報をサポートし、これらのサポートされる OID を使用します。
32 ビットのメモリ カウンタ
「CiscoMemoryPoolEntry」オブジェクトを使用します。オブジェクトと ID のマッピングがこの出力例に表示されています。
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 ビットのメモリ カウンタ
「cempMemPoolEntry」オブジェクトを使用します。オブジェクトと ID のマッピングがこの出力例に表示されています。
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 クライアントのコンソールで照会されると、出力は次の出力例のように表示されます。
32 ビット カウンタの場合:
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
show mem コマンドまたは show mem detail コマンドの出力を使用して同一の解釈が可能です。
‘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
64 ビット カウンタの場合:
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
show mem コマンドまたは show mem detail コマンドの出力を使用して同一の解釈が可能です。
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.
このセクションでは、SNMP を使用したメモリ統計情報のポーリングに関する既知の注意事項について説明します。
メモリ情報をポーリングするために ASA がクエリーされる場合、SNMP は次に示す ASA メモリの 3 種類の主要なセグメントから情報を取得できます。
システム メモリ プール
MEMPOOL_DMA のプール
MEMPOOL_GLOBAL_SHARED のプール
MEMPOOL_GLOBAL_SHARED のプール情報が SNMP 経由でクエリーされると、CPU Hog が発生します。メモリ統計情報のポーリングに SNMP を使用する場合、ASA がこの情報を莫大な量のメモリを使用してクエリーする必要があり、その結果 SNMP 関連の CPU Hog を引き起こすことにつながると、トラフィックが集中またはオーバーロードする時にパケットのドロップまたはオーバーランが発生する可能性があることは明らかです。ASA の CPU が他のプロセスにリリースされる前に SNMP プロセスによって長時間保持されている可能性があります。データ レートが ASA 経由で十分高い場合、オーバーランがインターフェイス カウンタで増加し、パケットがドロップされる可能性があります。
これは、シングルコア プラットフォームとマルチコア プラットフォームの両方に該当します。show mem detail に関連するこれらの統計情報をポーリングするメモリ プール MIB ではなく、show mem 出力に関連するこれらの MIB のみを使用することを推奨します。これらの CPU Hog を表示するには、CLI から show mem detail を実行できます。
このセクションでは、Cisco ASA からのサンプル CPU Hog メッセージが表示されます。
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
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
global_shared_mem_pool に関連する OID をポーリングすることは避けてください。
ASA プラットフォームに対して snmpwalk を実行し、global_shared_mem_pool に関連する OID のいずれかがポーリングされているかどうかを確認します。
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
largest_contiguous_memory の OID なので enterprise.9.9.48.1.1.1.7 の使用は避けてください。また、enterprises.9.9.48.1.1.1.X.7 は MEMPOOL_GLOBAL_SHARED に関係しているため使用は避けてください。
ファミリ 9.9.48.1 .1.1.x.y からの OID をポーリングする場合は、「y」が global_mempool に一致しているかどうかを確認します。一致している場合は、これらの OID を SNMP CPU Hog を軽減するために使用しないでください。この「y」はダイナミックに生成され、それぞれの Cisco ASA プラットフォームで異なる場合があります。
詳細については CSCtx43501 を参照してください。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
02-Aug-2013 |
初版 |