0

我试图了解 SolarWinds Orion IPAM 表与 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 条目的条目。所以我可以使用 SDK powershell 接口添加它们:

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

1 回答 1

1

你挣扎的原因是这些表是不相关的。

Orion.Nodes 表将仅包含 IPAM 中的受管设备,这通常是配置(使用合适的凭据)由 IPAM 轮询的 DHCP 和 DNS 服务器。此表使用 NodeID 作为其唯一引用。如果您可以从http://--IPAM-Server--/ui/manage/nodes看到设备,那么它将位于节点表中。

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
于 2019-04-30T15:24:36.730 回答