Протокол IP : Протокол SNMP

При использовании IP протокола SNMP возникает высокий уровень загрузки CPU

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (16 мая 2016) | Отзыв


Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
     Условные обозначения
Высокая загрузка CPU, вызванная процессом SNMP ENGINE
     Большой маршрут и/или таблицы ARP, полученные в результате опроса, проведенного станцией NMS
     Опрос определенных MIB
Форумы NetPro – избранные диалоги
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

В этом документе поясняется устранение неполадок при высокой загрузке центрального процессора (CPU) маршрутизатора работающим в маршрутизаторе процессом SNMP MODULE, что особенно свойственно недорогим маршрутизаторам.

Предварительные условия

Требования

Читатели данного документа должны обладать знаниями по следующим темам:

  • SNMP

  • Cisco IOS

Используемые компоненты

Сведения, содержащиеся в данном документе, относятся к маршрутизаторам, работающим под управлением программного обеспечения Cisco IOS.

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.

Высокая загрузка CPU, вызванная процессом SNMP ENGINE

Иногда в консоли маршрутизатора могут появляться сообщения, подобные этому:

%SNMP-3-CPUHOG: Processing [chars] of [chars]

Они означают, что агент SNMP на устройстве потратил слишком много времени на обработку запроса.

Вы можете определить причину высокой загрузки CPU в маршрутизаторе, используя выходные данные команды show process cpu.

Приведенный ниже пример содержит вывод команды show process cpu.

cacuk#show process cpu 
CPU utilization for five seconds: 0%/0%; 
one minute: 0%;
five minutes: 0% 

PID

Runtime (ms)

Вызванный

мкс

5 Сек.

1 Мин

5 мин

TTY #

Процесс

1

68

258816

0

0.00%

0.00%

0.00%

0

Счетчик загрузки

2

0

1

0

0.00%

0.00%

0.00%

0

Приветствие OSPF

3

788132

131480

5994

0.00%

0.00%

0.00%

0

Проверка области динамически распределяемой памяти

4

0

1

0

0.00%

0.00%

0.00%

0

Менеджер блоков

5

56

131

427

0.00%

0.00%

0.00%

0

Диспетчер пула

69

202700

421730

480

0.00%

0.01%

0.00%

0

SNMP IP

71

1193648

211250

5650

0.00%

0.19%

0.15%

0

Модуль SNMP

Проверки команды debug snmp, какие Идентификаторы объекта (OID) или Информационная база управления (MIB) делают запрос в то время.

Примечание: Запуск отладки в рабочей сети может привести к переполнению маршрутизатора.

Существует два возможных случая для высокой загруженности центрального процесса в отношении протокола SNMP (Simple Network Management Protocol):

  1. Большой маршрут и/или таблицы ARP, опрашиваемые Станцией NMS

  2. Опрос определенных MIB

Большой маршрут и/или таблицы ARP, полученные в результате опроса, проведенного станцией NMS

Станция управления сетью делает запрос маршрутизаторов для их всей таблицы маршрутизации для обучения о других сетях. Это использует эту информацию, чтобы найти другие маршрутизаторы и сделать запрос их об их сведениях о сетях вокруг них. Этой формой станция управления может изучить топологию всей сети.

Маршрутизатор хранит таблицу маршрутов в хэшированном формате, более удобном для быстрого поиска маршрута. Однако ответы SNMP для маршрута требуются, чтобы быть возвращенными в лексикографическом заказе на RFC1213. Таким образом, для каждого SNMP-запроса, полученного маршрутизатором, таблица хэша должны быть лексикографически отсортирована до того, как PDU SNMP-отклика может быть создан. Чем больше таблица маршрутизации, тем более интенсивную сортировку проводит CPU.

SNMP является процессом с низким приоритетом, насколько планировщик ЦПУ затронут, таким образом, другое требование процесса ресурсы ЦПУ берет приоритет. Поэтому, несмотря на то, что пики активности CPU случаются в данном сценарии, они не влияют на производительность.

Рекомендация 1: Используйте Команды snmp-server view

Чтобы избежать проблем с производительностью, выполните принудительное преждевременное прекращение отправки запросов маршрутизатора к таблице маршрута с сервера системы управления сетью. Настройте маршрутизатор для отвечания сообщением о выполнении, как только он получает запуск запроса о таблице маршрутизации, следующим образом:

snmp-server view cutdown iso included

!--- ISO is used as a starting point as it is the snmp 'root'.

 
snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded 
snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded 
snmp-server view cutdown 1.3.6.1.2.1.3 excluded
snmp-server view cutdown 1.3.6.1.6.3.15 excluded

!--- The additional object snmpUsmMIB is excluded.

snmp-server view cutdown 1.3.6.1.6.3.16 excluded

!--- The additional object snmpVacmMIB is excluded.

snmp-server view cutdown 1.3.6.1.6.3.18 excluded

!--- The additional object snmpCommunityMIB is excluded.
 
snmp-server community public view cutdown RO
snmp-server community private view cutdown RW

caution Внимание: В вышеупомянутом примере исключен snmpUsmMIB, snmpVacmMIB исключен, и snmpCommunityMIB исключен. В совокупности данные объекты могут быть использованы для сбора информации о настроенных пользователях и строках сообщества в целях получения административного доступа к устройству. Рекомендуется, чтобы эти объекты были exlcluded от представления о любом устройстве, к которому могут обратиться посторонние пользователи.

Данная конфигурация блокирует запросы на получение таблицы маршрутов (ipRouteTable) и таблицы протокола разрешения адреса (ARP) (ipNetToMediaTable), но разрешает проход других запросов. Если у вас будут более старые версии Cisco программное обеспечение IOS�, то она не распознает объект MIB ipRouteTable, так используйте следующую конфигурацию вместо этого:

snmp-server view cutdown iso included

!--- ISO is used as a starting point as it is the snmp 'root'.

snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded 
snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded 
snmp-server view cutdown at excluded
snmp-server view cutdown 1.3.6.1.6.3.15 excluded

!--- The additional object snmpUsmMIB is excluded.

snmp-server view cutdown 1.3.6.1.6.3.16 excluded

!--- The additional object snmpVacmMIB is excluded.

snmp-server view cutdown 1.3.6.1.6.3.18 excluded

!--- The additional object snmpCommunityMIB is excluded.
 
snmp-server community public view cutdown RO 
snmp-server community private view cutdown RW

caution Внимание: В вышеупомянутом примере исключен snmpUsmMIB, snmpVacmMIB исключен, и snmpCommunityMIB исключен. В совокупности данные объекты могут быть использованы для сбора информации о настроенных пользователях и строках сообщества в целях получения административного доступа к устройству. Рекомендуется, чтобы эти объекты были exlcluded от представления о любом устройстве, к которому могут обратиться посторонние пользователи.

В обоих из этих примеров можно заменить собственными строками имени и пароля.

В результате данных настроек маршрутизатор больше не возвращает по запросу таблицу ARP и маршрутную таблицу IP-адресов. Это предотвращает создание процессами обнаружения сети SNMP всплесков CPU на сомнительном маршрутизаторе, но также лишает маршрутизатор определенной степени управляемости.

Маршрутизаторы, ранее не приводящие к всплескам нагрузки на центральный процессор, могут начать к этому приводить, если существует изменение в их таблице маршрутизации. Количество циклов, необходимых для ответа на запросы таблицы маршрутизации IP, является функцией от количества маршрутов в таблице маршрутизации. Если количество увеличений маршрутов, загрузка ЦПУ увеличивается также.

Рекомендация 2: Включение CEF

Если коммутация CEF используется, изменение было внесено в Коде Cisco IOS, чтобы позволить SNMP сделать запрос Таблицы Cisco Expressorwarding (CEF) для записей маршрутизации. Это значительно улучшает ситуацию. С включенным CEF агент SNMP отвечает на get-next/get-bulk операцию для маршрутизации или таблиц ARP с информацией от Базы данных переадресации (FIB). FIB хранится в лексикографическом порядке, сортировка не требуется. Без включенного CEF агент SNMP отвечает информацией от Routing Information Base (RIB), который должен быть сортирован в лексикографический заказ, причиняющий высокозагруженный CPU.

Перейдите по приведенной ниже ссылке на идентификатор ошибки и просмотрите подробные сведения об ошибке.

CSCdk54265 (только зарегистрированные клиенты) - ЗАХВАТ ЦПУ генерируется когда таблица маршрутизации для опроса через SNMP от Станции управления сетью.

Опрос определенных MIB

Приложения для управления сетью часто получают информацию из устройств с помощью SNMP. Одним примером был бы Resource Manager Essentials (RME), приложения в наборе продуктов CiscoWorks 2000. RME может получить информацию во флэш - память, определенную в CISCO-FLASH-MIB. Если устройство имеет флэш диск ATA, оно может заставить загрузку ЦПУ переходить.

Перейдите по приведенной ниже ссылке на идентификатор ошибки и просмотрите подробные сведения об ошибке.

CSCdt97325 (только зарегистрированные клиенты)

Чтобы проверить и применить обходное решение, выполните следующие шаги:

  1. Проверьте наличие Flash-платы ATA в одном из гнезд устройства:

    Router#show disk1: 
    ******** ATA Flash Card Geometry/Format Info ******** 
    
    ATA CARD GEOMETRY 
        Number of Heads:        12 
        Number of Cylinders     906 
        Sectors per Cylinder    63 
        Sector Size             512 
        Total Sectors           684936 
    
    ATA CARD FORMAT 
        Number of FAT Sectors  84 
        Sectors Per Cluster    32 
        Number of Clusters     21372 
        Number of Data Sectors 684117 
        Base Root Sector       169 
        Base FAT Sector        1 
        Base Data Sector       201 
    
    Router# 
    
    

    Если вы не становитесь выведенными для команды show diskX, всем заправляете техническая команда и делаете поиск диска, если вы не уверены или.

  2. Как только вы знаете, что у вас есть Флэш диск ATA, можно применить следующий обходной путь для предотвращения запросов SNMP на FLASH-MIB:

    Router(config)#snmp-server view <any_word> iso included
    
    !--- ISO is used as a starting point as it is the snmp 'root'.
     
    Router(config)#snmp-server view <any_word> ciscoFlashMIB excluded 
    
    !--- The additional object snmpUsmMIB is excluded.
    
    Router(config)#snmp-server view <any_word> 1.3.6.1.6.3.15 excluded
    
    !--- The additional object snmpVacmMIB is excluded.
    
    Router(config)#snmp-server view <any_word> 1.3.6.1.6.3.16 excluded
    
    !--- The additional object snmpCommunityMIB is excluded.
    
    Router(config)#snmp-server view <any_word> 1.3.6.1.6.3.18 excluded
    Router(config)#snmp-server community <read_community_string> view <any_word> ro 
    Router(config)#snmp-server community <write_community_string> view <any_word> rw 
    Router(config)#exit
    Router#

    Примечание: Выберите то же слово на каждой линии для <any_word> в вышеупомянутой конфигурации.

    caution Внимание: В вышеупомянутом примере исключен snmpUsmMIB, snmpVacmMIB исключен, и snmpCommunityMIB исключен. В совокупности данные объекты могут быть использованы для сбора информации о настроенных пользователях и строках сообщества в целях получения административного доступа к устройству. Рекомендуется, чтобы эти объекты были exlcluded от представления о любом устройстве, к которому могут обратиться посторонние пользователи.

  3. Проверьте, что это правильно внедрено:

    Router#show run 
    ... 
    snmp-server view <any_word> iso included
    
    !--- ISO is used as a starting point as it is the snmp 'root'.
    
    snmp-server view <any_word> ciscoFlashMIB excluded
    snmp-server view <any_word> internet.6.3.15 excluded
    
    !--- The additional object snmpUsmMIB is excluded.
    
    snmp-server view <any_word> internet.6.3.16 excluded
    
    !--- The additional object snmpVacmMIB is excluded.
    
    snmp-server view <any_word> internet.6.3.18 excluded 
    
    !--- The additional object snmpCommunityMIB is excluded.
    
    snmp-server community <write_community_string> view <any_word> RW 
    snmp-server community <read_community_string> view <any_word> RO
    

    Примечание: <any_word>, <write_community_string>, и <read_community_string> являются теми, которые находятся в конфигурации.

    caution Внимание: В вышеупомянутом примере исключен snmpUsmMIB, snmpVacmMIB исключен, и snmpCommunityMIB исключен. В совокупности данные объекты могут быть использованы для сбора информации о настроенных пользователях и строках сообщества в целях получения административного доступа к устройству. Рекомендуется, чтобы эти объекты были exlcluded от представления о любом устройстве, к которому могут обратиться посторонние пользователи.

  4. Выполните команду show proc cpu, чтобы проверить, выключается ли ЦП-Util для SNMP, и ищите процесс IP_SNMP.

Примечание: Дефект CSCdt97325 также был исправлен в некоторых более поздних релизах Cisco IOS, так что проверьте информацию по дефекту, чтобы узнать подробности.

Другие сбои, связанные с опросом MIB:

Придерживайтесь ссылок ниже идентификатора ошибки Cisco и посмотрите подробную информацию об ошибке.

Форумы NetPro – избранные диалоги

Networking Professionals Connection – форум, на котором специалисты по сетевым технологиям обмениваются вопросами, советами и сведениями о сетевых решениях, продуктах и технологиях. Избранные ссылки представляют собой последние темы, посвященные определенной технологии.
Дискуссионные форумы NetPro - избранные темы, посвященные сетевому управлению
Network Infrastructure: Управление сетью
 
Виртуальные частные сети: Управление сетями и политиками
 


Дополнительные сведения


Document ID: 7270