Источник данных SNMP-traps

Материал из Документация Ключ-АСТРОМ

SNMP-traps — это стандартный способ уведомления центрального управления вашей сети о существенных проблемах и событиях в вашей сетевой инфраструктуре.

Ключ-АСТРОМ предоставляет вам платформу для расширения вашего понимания данных, связанных с прерываниями SNMP, созданными в вашей инфраструктуре, и для пересылки сообщений о прерываниях, созданных вашими устройствами SNMP, в виде событий журнала.

Мы предполагаем следующее:

  • Ваши устройства способны использовать SNMP-traps.
  • Вы знаете, как настроить эти устройства для отправки SNMP-traps, и имеете на это полномочия.
  • Вы знакомы с основными концепциями Расширений 2.0 и общей структурой файла расширения YAML.

Image1222.png

Предпосылки и поддержка

Изучите предварительные условия и область применения поддерживаемых технологий. Для ограничений, применяемых к вашему расширению, см. Концепции расширений 2.0.

Поддерживаемые версии Ключ-АСТРОМ

  • Ключ-АСТРОМ версии 1.236+
  • АктивныйШлюз версии 1.235+
  • Мониторинг логов v1 не поддерживается

Поддерживаемые версии SNMP

  • SNMPv2c и более ранние версии
  • SNMPv3ActiveGate версии 1.251+

Требования к оборудованию

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

Это значения EEC в профиле производительности по умолчанию.

Instance CPU Mem (MB) Estimated number of traps Estimated number of traps for SNMPv3
c5.large 5% 45 MB 30k/min (logs enabled)

45k/min (logs disabled)

17k/min (logs enabled)

32k/min (logs disabled)

Это значения для EEC, установленные в профиле высокой производительности.

Instance CPU Mem (MB) Estimated number of traps Estimated number of traps for SNMPv3
c5.large 15% 45 MB 75k/min (logs enabled)

150k/min (logs disabled)

60k/min (logs enabled)

105k/min (logs disabled)

Поддерживаемая аутентификация

SNMP v2c и более ранние версии

Community strings.

SNMPv3

Для SNMP v3 источник данных SNMP-traps поддерживает уровни безопасности NoAuthNoPriv, authNoPriv, и authPriv, а также следующие протоколы аутентификации:

authNoPriv

Protocol RFC
MD5 HMAC-96-MD5 rfc3414
SHA HMAC-96-SHA rfc3414
SHA224 HMAC-128-SHA-224 rfc7860
SHA256 HMAC-192-SHA-256 rfc7860
SHA384 HMAC-256-SHA-384 rfc7860
SHA512 HMAC-384-SHA-512 rfc7860

authPriv

Protocol RFC
DES CBC-DES rfc3414
AES CFB128-AES-128 rfc3826
AES1921 n/a Blumenthal key extension
AES2561 n/a Blumenthal key extension
AES192C1 n/a Reeder key extension
AES256C1 n/a Reeder key extension

1Эти алгоритмы шифрования официально не определены, но они часто поддерживаются сетевыми устройствами. См. SNMPv3 с AES-256 .

Чтобы узнать, как определить аутентификацию в конфигурации мониторинга, см . раздел Аутентификация (ниже).

Поддерживаемые сообщения

Источник данных SNMP-traps поддерживает только SNMP-traps. Запросы SNMP-информирования не поддерживаются.

События

События ловушки отправляют подробную информацию о каждой ловушке в log ingest. Сообщение ловушки содержит следующую информацию:

Контекст

Сущность, для которой учитывается событие лога. IP-адрес устройства и OID преобразуются в удобочитаемую форму с помощью файлов MIB.

Сообщение

Фактическое сообщение о ловушке с указанием типа ловушки.

Атрибуты

Атрибуты, переданные в событие лога.

Основной

  • event.type— всегда установлено на LOG
  • log.source— всегда установлено на snmptraps
  • loglevel— всегда установлено на NONE
  • snmp.version— всегда установлено на 1, 2c, или 3

Топология

Топологические свойства Ключ-АСТРОМ.

  • dt.source_entity— идентификатор устройства (сущности), для которого ведется учет события логов.

Другая топология

Все привязки переменных, сообщаемые с сообщением о ловушке, и переменные, определяемые расширением, добавляются как атрибуты событий логов (например, device.address и snmp.trap_oid).

Включить события ловушки

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

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

Лог монитор

Перейдите в раздел Логи и отфильтруйте события ловушек по log.source: snmptraps.

(5A16F629-BF1A-47CD-B70B-FE1E0EF903F8).png

Определить область данных

  • Имя расширения
  • Расширенная версия
  • Частота сбора показателей (интервал)
  • Название метрики
  • Два доступных измерения: отправитель ловушки и OID ловушки

Пример файла определения YAML

name: custom:snmptraps-extension-example

version: 1.0.0

minAstromkeyVersion: "1.235"

author:

    name: Astromkey SNMP traps data source team

snmptraps:

    - group: generic

      interval:

          minutes: 1

      featureSet: basic

      metrics:

         - key: number-of-traps-received

           value: calculated

           type: count,delta

Определение области мониторинга начинается с узла YAML snmptraps. Все настройки в узле относятся к объявленному типу источника данных, который в данном случае является SNMP-traps.

Метрики

SNMP-traps собирают только одну метрику, которая подсчитывает количество ловушек, отправленных источником, определенным в вашей конфигурации мониторинга в течение определенного интервала. Единственная возможность настройки — указать ее ключ.

Например:

metrics:

  - key: myExtension.number-of-traps-received

    value: calculated

    type: count,delta

Строка ключа метрики должна соответствовать протоколу приема метрик.

Лучшие практики для метрических ключей

Метрики, которые вы вставляете в Ключ-АСТРОМ с помощью вашего расширения, — это лишь некоторые из тысяч метрик, встроенных и пользовательских, обрабатываемых Ключ-АСТРОМ. Чтобы сделать ключи метрик уникальными и легко идентифицируемыми в Ключ-АСТРОМ, лучше всего добавлять к имени метрики префикс имени расширения. Это гарантирует уникальность ключа метрики, и вы можете легко назначить метрику определенному расширению в вашей среде.

Набор функций

Наборы функций — это категории, в которые вы организуете данные, собранные расширением. Для получения дополнительной информации см. Наборы функций. Вы можете определить наборы функций на уровне расширения, группы или индивидуальной метрики.

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

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

Все показатели, не отнесенные ни к одному набору характеристик, считаются показателями по умолчанию и всегда включаются в отчет.

Интервал

Интервал, с которым будет производиться измерение данных. Вы можете определить интервалы на уровне группы, подгруппы или индивидуальной метрики. Вы можете определить интервалы с гранулярностью в одну минуту. Максимальный интервал составляет 2880 минут (2 дня, 48 часов).

Установка интервала невозможна для источников данных JMX.

Например:

interval:

     minutes: 5

Вышеуказанный формат поддерживается, начиная с версии схемы 1.217. Для более ранних версий схемы используйте следующий формат (поддерживается до версии схемы 1.251):

interval: 5m

MIB-файлы

База управляющей информации (MIB) — это база данных, управляющая объектами в сети, идентифицированными с помощью OID. MIB предоставляет источник дополнительной информации, связанной с OID, объявленными в вашем расширении. Для получения дополнительной информации см. Справочник по источникам данных SNMP.

Конфигурация мониторинга

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

Конфигурация мониторинга — это полезная нагрузка JSON, определяющая детали соединения, учетные данные и наборы функций, которые вы хотите отслеживать. Подробности см. в разделе Запустить мониторинг .

Пример полезной нагрузки для активации расширения SNMP:

[

  {

    "scope": "ag_group-default",

    "value": {

      "version": "1.0.0",

      "description": "traps from routers",

      "enabled": true,

      "featureSets": [

        "basic"

      ],

      "snmptraps": {

        "sources" : [

          {

            "ip": "172.10.11.0/8",

            "port": 8162,

            "authentication": {

              "community": "x120a1f"

            }

          },

          {

            "ip": "0.0.0.0/0",

            "port": 162,

            "authentication": {

              "community": "public"

            }

          }

        ]

      }

    }

  }

]

Когда у вас будет готово начальное расширение YAML, упакуйте его, подпишите и загрузите в среду Ключ-АСТРОМ. Подробности см. в разделе Управление жизненным циклом расширения.

Мастер активации расширения на базе Ключ-АСТРОМ содержит динамически обновляемую полезную нагрузку JSON с вашей конфигурацией мониторинга.

Вы также можете использовать API Ключ-АСТРОМ для загрузки схемы для вашего расширения, которая поможет вам создать полезную нагрузку JSON для вашей конфигурации мониторинга.

Используйте GET для получения конечной точки схемы расширения .

Отправьте следующий запрос:

curl -X GET "{env-id}.live.astromkey.com/api/v2/extensions/{extension-name}/{extension-version}/schema" \

   -H "accept: application/json; charset=utf-8" \

   -H "Authorization: Api-Token {api-token}"

Замените {extension-name} и {extension-version} значениями из вашего файла расширения YAML. Успешный вызов возвращает схему JSON.

Объем

Обратите внимание, что каждому хосту АтивногоШлюза, на котором запущено ваше расширение, необходим корневой сертификат для проверки подлинности вашего расширения.

Областью действия является группа АтивногоШлюза, которая будет выполнять расширение. Все АктивныеШлюзы из группы будут запускать эту конфигурацию мониторинга одновременно. Если вы планируете использовать один АктивныйШлюз, назначьте его выделенной группе. Вы можете назначить АктивныйШлюз группе во время или после установки.

При определении группы АктивногоШлюза используйте следующий формат:

"scope": "ag_group-<ActiveGate-group-name>",

Замените <ActiveGate-group-name> фактическим именем.

Версия

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

Описание

Понятное для человека описание особенностей данной конфигурации мониторинга.

Включено

Если установлено значение true, конфигурация активируется, и Ключ-АСТРОМ немедленно начинает мониторинг.

Источники

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

  • Сеть, которая отправляет пакеты с ловушками, указанными в нотации CDIR. Чтобы настроить адрес одного интерфейса, добавьте маску подсети 32 после IP-адреса, например 172.10.11.0/32.
  • UDP-порт, на который отправляются ловушки
  • Учетные данные аутентификации
    • Аутентификация SNMPv1 и SNMPv2 выполняется только с использованием имени сообщества.
    • SNMPv3 требует расширенной аутентификации и описана в следующем разделе.

Аутентификация

Данные аутентификации, передаваемые в API Ключ-АСТРОМ при активации конфигурации мониторинга, запутываются, и их невозможно получить.

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

Уровень безопасности: authPriv

{

"ip": "10.10.10.10",

"port": 161,

"authentication": {

    "type": "SNMPv3",

    "userName": "user",

    "securityLevel": "AUTH_PRIV",

    "authPassword": "********",

    "authProtocol": "SHA",

    "privPassword": "********",

    "privProtocol": "AES256C"

  }

Уровень безопасности: authNoPriv

{

"ip": "10.10.10.10",

"port": 161,

"authentication": {

    "type": "SNMPv3",

    "userName": "user",

    "securityLevel": "AUTH_NO_PRIV",

    "authPassword": "********",

    "authProtocol": "SHA"

}

Уровень безопасности: NoAuthNoPriv

{

"ip": "10.10.10.12",

"port": 161,

"authentication": {

"type": "SNMPv3",

"userName": "snmptest_SHA_AES256",

"securityLevel": "NO_AUTH_NO_PRIV"

}

Передовой

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

Формат

"advanced": {

  "varbindings": [

    {

      "root": ".1.3.6",

      "suffixLen": 1

    }

  ]

}

  • root— используется для сопоставления суффикса и его соответствующей обрезки. Вы можете указать root в формате raw (1.3.6.1.4.1.9.9.41.1.2.3.1) или resolved (CISCO-SMI::ciscoMgmt.41.1.2.3.1).
  • suffixLen— указывает количество октетов в конце OID, которые следует обрезать.

Пример

В этом примере все привязки переменных в CISCO-SMI::ciscoMgmt поддереве заканчиваются на 34024. С каждой последующей сгенерированной ловушкой число будет увеличиваться.

Перед обрезкой:

"event.type": "LOG",

"content": "SNMP trap (CISCO-SMI::ciscoMgmt.41.2.0.1) reported from 192.168.1.100\n",

"status": "NONE",

"timestamp": "1678712960382",

"loglevel": "NONE",

"log.source": "snmptraps",

"snmp.trap_oid": "CISCO-SMI::ciscoMgmt.41.2.0.1.",

"device.address": "192.168.1.100",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.2.34024": "PKI",

"SNMPv2-MIB::snmpTrapOID": ".1.3.6.1.4.1.9.9.41.2.0.1",

"DISMAN-EVENT-MIB::sysUpTimeInstance": "1660720758",

"snmp.version": "2c",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.5.34024": "Certificate chain validation has failed. The certificate has expired. Validity period ended on 2023-11-29T03:21:33Z",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.6.34024": "1004407027",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.3.34024": "4",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.4.34024": "CERTIFICATE_INVALID_EXPIRED"

Все привязки переменных, соответствующие значению, указанному в root, обрезаются.

После обрезки:

"event.type": "LOG",

"content": "SNMP trap (CISCO-SMI::ciscoMgmt.41.2.0.1) reported from 192.168.1.100\n",

"status": "NONE",

"timestamp": "1678712960382",

"loglevel": "NONE",

"log.source": "snmptraps",

"snmp.trap_oid": "CISCO-SMI::ciscoMgmt.41.2.0.1.",

"device.address": "192.168.1.100",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.2": "PKI",

"SNMPv2-MIB::snmpTrapOID": ".1.3.6.1.4.1.9.9.41.2.0.1",

"DISMAN-EVENT-MIB::sysUpTimeInstance": "1660720758",

"snmp.version": "2c",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.5": "Certificate chain validation has failed. The certificate has expired. Validity period ended on 2023-11-29T03:21:33Z",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.6": "1004407027",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.3": "4",

"CISCO-SMI::ciscoMgmt.41.1.2.3.1.4": "CERTIFICATE_INVALID_EXPIRED"

Наборы функций

Добавьте список наборов функций, которые вы хотите отслеживать. Чтобы сообщить обо всех наборах функций, добавьте all.

"featureSets": [

  "basic",

  "advanced"

  ]

Вы можете включить отправку ловушек как событий featureSets, установив значение events.