Общая топология сети
Расширение SNMP Autodiscovery сканирует подсети и помогает пользователям обнаружить весь свой список сетевых устройств с поддержкой SNMP. Кроме того, это расширение также включает в себя топологическую модель, которая призвана быть достаточно универсальной, чтобы большинство источников данных, относящихся к сетевым устройствам, могли быть представлены с помощью простого набора общих сущностей: сетевое устройство, сетевой порт и сетевой интерфейс.
Сценарий
В этом руководстве подробно описаны концепции, связывающие данную топологию воедино, и объясняется, как вы — как разработчик расширений или интегратор данных — можете использовать ту же модель.
Поскольку это техническое руководство, мы рассмотрим полный пример, основанный на урезанной версии расширения F5 BIG-IP.
К данному руководству прилагаются три манифеста расширений:
1_initial.yamlэто неизменное расширение. Оно отслеживает балансировщик нагрузки F5, отправляя данные в Ключ-АСТРОМ, но не имея представления о модели устройства.2_basic.yamlдемонстрирует базовые возможности использования. Теперь Ключ-АСТРОМ распознает балансировщик нагрузки F5 как сетевое устройство с интерфейсами и портами. Другие приложения также будут его отображать.3_advanced.yamlдемонстрирует расширенные возможности использования. Теперь сетевое устройство и интерфейс имеют доступ к большему объему данных. Сетевому устройству также были добавлены дополнительные атрибуты и диаграммы для отображения.
Подробнее об этих файлах см. в разделе Файлы манифеста ниже.
| Для более детального изучения изменений между тремя вариантами манифеста можно использовать онлайн-инструмент, например, diffchecker. |
Ключевые понятия
Важно понимать, что топологическая модель в значительной степени определяется расширением SNMP Autodiscovery. Другим расширениям и интеграциям достаточно лишь обеспечить отправку корректных данных в Ключ-АСТРОМ и, при необходимости, определить дополнительные диаграммы для отображения в веб-интерфейсе.
Давайте рассмотрим топологические сущности и взаимосвязи.
Сетевое устройство
(network:device)
- Сетевое устройство — это физическое устройство в сети. Это основная сущность, на которой размещена операционная система и работают технологии, необходимые для обеспечения сетевой связи и других возможностей.
- Сетевое устройство идентифицируется по своему управляющему IP-адресу и обозначается системным именем.
Сетевой порт
(network:port)
- Сетевой порт — это физический аппаратный сетевой порт на сетевом устройстве.
- Сетевой порт идентифицируется и обозначается своим MAC-адресом.
Сетевой интерфейс
(network:interface)
- Сетевой интерфейс — это физический или виртуальный сетевой интерфейс (NIC). Как правило, это первая точка отсчета в сетевых коммуникациях между устройствами.
- Сетевой интерфейс идентифицируется комбинацией MAC-адреса и имени интерфейса и обозначается своим именем.
Связи
Эти типы сущностей связаны между собой следующими отношениями:
network:port-runsOn->network:devicenetwork:interface-runsOn->network:devicenetwork:interface-isChildOf->network:port
Основное применение
Как уже упоминалось ранее, другим расширениям и интеграциям достаточно отправлять данные в правильном формате, чтобы использовать эту топологию. Обязательные измерения должны присутствовать во всех метриках, тогда как необязательные измерения можно добавить к одной метрике, чтобы уменьшить ненужное разделение данных.
Параметры и метрики для сетевых устройств
Для сетевых устройств доступны следующие метрики и параметры.
- Обязательные параметры:
- Ключ:
device.address
Применение: идентифицирует каждое устройство и определяет, когда следует создавать новые экземпляры сущностей. - Ключ:
monitoring.mode
Применение: должно иметь фиксированное значение "Extension". Это влияет на пользовательский интерфейс и сообщает Ключ-АСТРОМ, что данный объект отслеживается. - Ключ:
sys.name
Применение: присваивает устройству метку, указывая его имя. - Ключ:
device.type
Применение: строка, представляющая тип устройства. Может быть названием технологии, маркой/моделью или просто меткой, например, "L3 Switch". Заполнит атрибут сущностиdevType.
- Ключ:
- Дополнительные (рекомендуемые) параметры:
- Ключ:
device.port
Применение: регистрирует порт прослушивания на устройстве. Дополнительные сущности не создаются, но атрибутdt.listen\portsбудет заполнен на основе уже созданного порта. - Ключ:
sys.description
Применение: регистрирует описание устройства в атрибутеdevDescription. Может содержать информацию о производителе или любой описательный текст.
- Ключ:
- Метрики :
- Ключ:
com.astromkey.extension.network_device.sysuptime
Описание: Время в системных тиках (1/100 секунды), прошедшее с момента последней перезагрузки системы. - Ключ:
com.astromkey.extension.network_device.cpu_usage
Описание: Применение ЦП системой, выраженное в процентах. - Ключ:
com.astromkey.extension.network_device.cpu_ratio
Описание: Применение ЦП системой, выраженное в виде отношения. - Ключ:
com.astromkey.extension.network_device.memory_used
Описание: Объем памяти в килобайтах, используемый устройством. - Ключ:
com.astromkey.extension.network_device.memory_free
Описание: Объем памяти в килобайтах, в данный момент свободный на устройстве. - Ключ:
com.astromkey.extension.network_device.memory_total
Описание: Общий (используемый и свободный) объем памяти в килобайтах, доступный на устройстве. - Ключ:
com.astromkey.extension.network_device.memory_usage
Описание: Текущий объем памяти, используемый устройством, выраженный в процентах от общего объема памяти.
- Ключ:
Параметры и метрики для сетевых интерфейсов
Ниже перечислены метрики и параметры, доступные для сетевых интерфейсов.
- Обязательные параметры:
- Ключ:
mac.address
Применение: в сочетании с именем идентифицирует каждый интерфейс и указывает, когда следует создавать новые экземпляры сущностей. Отдельно также идентифицирует сетевые порты и указывает, когда следует создавать новые экземпляры. - Ключ:
if.name
Применение: в сочетании с MAC-адресом идентифицирует каждый интерфейс. Также присваивает каждому интерфейсу имя.
- Ключ:
- Метрики :
- Ключ:
com.astromkey.extension.network_device.if.status
Описание: Метрика состояния, представляющая сетевой интерфейс, значение которой всегда равно 1, а её параметры указывают на детали состояния.
Дополнительные параметры (извлекаемые в виде атрибутов сущности): - Ключ:
oper.status
Применение: Рабочее состояние интерфейса (включен/выключен и т. д.). - Ключ:
admin.status
Применение: Административное состояние интерфейса (включено/выключено и т. д.). - Ключ:
if.speed
Применение: Скорость/пропускная способность интерфейса. - Ключ:
com.astromkey.extension.network_device.if.bytes_in.count
Описание: Объем трафика в байтах, входящий на сетевой интерфейс. - Ключ:
com.astromkey.extension.network_device.if.bytes_out.count
Описание: Объем трафика в байтах, исходящий с сетевого интерфейса.
- Ключ:
Что можно ожидать на этом этапе?
Это должно гарантировать корректное создание сущностей сетевого устройства, сетевого порта и сетевого интерфейса на основе ваших данных. На этом этапе вы можете использовать либо приложение Technologies, либо приложение Инфраструктура и операции для визуализации этих устройств.
- В приложении Technologies перейдите в
../ui/apps/astromkey.classic.technologies/ui/entity/list/network:interface - В приложении Инфраструктура и операции выберите вкладку Сетевые устройства.
Расширенное применение
В этом разделе, основываясь на предыдущих изменениях, рассматривается вопрос расширения сетевой модели за счет добавления дополнительных метрик, связей с существующими сущностями и настройки пользовательского интерфейса.
Во многих случаях у вас, вероятно, уже есть расширение или интеграция, которая отправляет специализированные данные о конкретном типе сетевого устройства. В таких ситуациях модель может быть использована для установления связей «аналогично» между существующими сущностями и общими, фактически добавляя к ним новые метрики, настраивая их атрибуты и внедряя некоторые из существующих диаграмм в их пользовательский интерфейс.
После внедрения предложенных изменений выполните следующие дополнительные шаги: