Источник данных SNMP-traps
SNMP-traps — это стандартный способ уведомления центрального управления вашей сети о существенных проблемах и событиях в вашей сетевой инфраструктуре.
Ключ-АСТРОМ предоставляет вам платформу для расширения вашего понимания данных, связанных с прерываниями SNMP, созданными в вашей инфраструктуре, и для пересылки сообщений о прерываниях, созданных вашими устройствами SNMP, в виде событий журнала.
Мы предполагаем следующее:
- Ваши устройства способны использовать SNMP-traps.
- Вы знаете, как настроить эти устройства для отправки SNMP-traps, и имеете на это полномочия.
- Вы знакомы с основными концепциями Расширений 2.0 и общей структурой файла расширения YAML.
Предпосылки и поддержка
Изучите предварительные условия и область применения поддерживаемых технологий. Для ограничений, применяемых к вашему расширению, см. Концепции расширений 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— всегда установлено наLOGlog.source— всегда установлено наsnmptrapsloglevel— всегда установлено наNONEsnmp.version— всегда установлено на1,2c, или3
Топология
Топологические свойства Ключ-АСТРОМ.
dt.source_entity— идентификатор устройства (сущности), для которого ведется учет события логов.
Другая топология
Все привязки переменных, сообщаемые с сообщением о ловушке, и переменные, определяемые расширением, добавляются как атрибуты событий логов (например, device.address и snmp.trap_oid).
Включить события ловушки
Выберите набор функций События, чтобы включить пересылку событий ловушки для приема логов.
Если вы используете набор функций по умолчанию, расширение будет сообщать только одну метрику, которая подсчитывает количество ловушек, отправленных определенным источником в течение определенного интервала.
Лог монитор
Перейдите в раздел Логи и отфильтруйте события ловушек по log.source: snmptraps.
Определить область данных
- Имя расширения
- Расширенная версия
- Частота сбора показателей (интервал)
- Название метрики
- Два доступных измерения: отправитель ловушки и 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.

