Существуют ли формальные связи между базовой функциональностью Orion и IPAM?

Я пытаюсь понять, как таблицы IPAM SolarWinds Orion соотносятся с таблицами Orion. Я знаю, что есть записи на стороне IPAM, которые требуют некоторого внимания и / или очистки. Поэтому я написал несколько запросов, например, где IP-адрес был ключевым:

SELECT DISTINCT
       I.IPAddress
     , I.DnsBackward
     , O.Caption
     , O.IP_Address
FROM IPAM.IPNode AS I
LEFT OUTER JOIN Orion.Nodes AS O ON I.IPAddress = O.IP_Address
WHERE I.Status = 1
AND ( I.DnsBackward LIKE '' OR I.DnsBackward IS NULL)

Я получаю много несоответствий, когда пытаюсь связать, используя IP-адрес. Итак, несколько вопросов:

  1. Есть ли формальная связь (ключ) между этими двумя таблицами?
  2. Если нет формальной связи, есть ли лучший ключ для соединения?
  3. Есть ли место, где я могу увидеть связи (ключи) между таблицами Orion и IPAM?

Приведенный выше запрос направлен на поиск записей, в которых отсутствуют записи DNS A и записи PTR. Поэтому я могу добавить их, используя интерфейс PowerShell SDK:

Invoke-SwisVerb $swis IPAM.IPAddressManagement AddDnsARecordWithPtr @("QQQ.TestZone.", "10.11.78.25", "10.199.7.82", "TestZone")

1 ответ

Решение

Причина, по которой вы боретесь, состоит в том, что таблицы не связаны.

Таблица Orion.Nodes будет содержать только управляемые устройства в IPAM, обычно это серверы DHCP и DNS, которые настроены (с подходящими учетными данными) для опроса IPAM. Эта таблица использует NodeID в качестве уникальной ссылки. Если вы видите устройство с узлов http: // - IPAM-сервера - / ui / manage /, то оно будет в таблице узлов.

Таблица IPAM.IPNode предназначена для устройств, обнаруженных при сканировании IPAM, это не связанная таблица, и вы найдете соответствующие имена узлов и IP-адреса, но не совпадающие NodeID.

Эта таблица использует IpNodeId в качестве уникальной ссылки.

SELECT IpNodeId,IPAddress, 
       CASE
           WHEN ISNULL(sysname, '') <> '' THEN sysname
           WHEN ISNULL(DnsBackward, '') <> '' THEN DnsBackward
           WHEN ISNULL(Alias, '') <> '' THEN Alias
           ELSE ''
       END AS Hostname
FROM  IPAM.IPNode
WHERE Status = 1 --IP Address Used
Другие вопросы по тегам