上一主题: 导入自定义度量标准系列 XML 文件下一主题: 故障排除


自动移除已报废的组件

作为管理员,您可以从网络中自动移除已报废的组件。 在您编写脚本来自动化过程之前,了解如何使用包含在 Data Aggregator 中的脚本删除已报废的组件。 例如,您可以每周设置定时任务,删除使用时间超过 1 个月的已报废组件。

包含在 Data Aggregator 中的 remove_retired_items 脚本由两个部分构成。 脚本的第一部分将会根据您设置的筛选来标识和返回有关已报废组件的数据。 脚本的第二部分将会发布已报废组件的删除列表。 要使此过程自动化,请了解脚本的生成方式。

注意:有关使用 remove_retired_items 脚本的信息,请参见 《Data Aggregator 管理员指南》。

示例:按设备 IP 地址筛选已报废组件列表

在此示例中,您希望查找主 IP 地址是 10.252.1.1 的设备中所有已报废的组件。 通过 IP 地址进行筛选是两步的过程,因为 IP 地址无法提供直接的组件筛选。 如要筛选已报废的组件,请首先记录与组件关联的设备 IP 地址。 凭借此 IP 地址信息,您可以为设备确定设备项 ID。 之后通过设备项 ID,您可以确定已报废组件的用途。 最后,您可以删除已报废的组件。

注意:此示例采用的是 curl 命令,但您可以采用任何熟悉的命令。

  1. 创建 filterDeviceIP.xml 文件。 您可以使用此文件返回主 IP 地址是 10.252.1.1 的设备项 ID。 文件必须如下所示:
    <FilterSelect xsi:noNamespaceSchemaLocation="filter.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Filter>
        <And>
         <Device.PrimaryIPAddress type="EQUAL">10.252.1.1</Device.PrimaryIPAddress>
        </And>
      </Filter>
    </FilterSelect>
    
  2. 运行以下命令:

    curl -X http://hostname:port/rest/devices/filtered -H "Content-Type: application/xml" -T "filterDeviceIP.xml" > returnedDeviceID.xml

    -X

    创建您指示的筛选。

    hostname:port

    指定 Data Aggregator 主机名和端口号。

    默认端口:8581

    -H

    指示您正在发布的文件内容类型。

    -T

    指示您正在发布的文件。

    下列结果将作为 HTTP 响应返回:

    <?xml version="1.0"?>
    <DeviceList>
      <Device version="1.0.0">
        <ID>107881</ID>
        <PrimaryIPAddress>10.252.1.1</PrimaryIPAddress>
        <supportsOnDemandMFDiscovery>true</supportsOnDemandMFDiscovery>
        <SupportedProtocolsList>
          <SupportedProtocols>ICMP</SupportedProtocols>
        </SupportedProtocolsList>
        <DiscProfileID>107503</DiscProfileID>
        <HostName>rtp003723rts.ca.com</HostName>
        <RelatesTo>
          <MonitoredGroupIDList relatesURL="relatesto/monitoredgroups" rootURL="monitoredgroups">
            <ID>509</ID>
          </MonitoredGroupIDList>
          <GroupIDList relatesURL="relatesto/groups" rootURL="groups">
            <ID>547</ID>
            <ID>530</ID>
            <ID>509</ID>
          </GroupIDList>
        </RelatesTo>
        <IsAlso>
          <IsA name="MetricFamilyDiscoveryHistory" rootURL="devices/mfdiscoveryhistory"/>
          <IsA name="AccessibleDevice" rootURL="devices/accessible"/>
          <IsA name="Syncable" rootURL="syncable"/>
          <IsA name="IPDomainMember" rootURL="ipdomainmember"/>
        </IsAlso>
        <DataCoectionMgrId version="1.0.0">
          <DcmID>dcname.ca.com:8f53bc55-f442-42fc-9bd5-a907d0261421</DcmID>
        </DataCollectionMgrId>
        <Syncable version="1.0.0">
          <SyncID>-1</SyncID>
        </Syncable>
        <Item version="1.0.0">
          <DisplayName>router.ca.com</DisplayName>
          <CreateTime>Wed Feb 05 10:20:26 EST 2014</CreateTime>
          <Name>router.ca.com</Name>
        </Item>
        <IPDomainMember version="1.0.0">
          <IPDomainID>2</IPDomainID>
        </IPDomainMember>
        <DeviceMonitoringProfile version="1.0.0">
          <ConsolidatedMonitoringProfile>2509</ConsolidatedMonitoringProfile>
        </DeviceMonitoringProfile>
      </Device>
    </DeviceList>
    

    将返回设备项 ID 107881。 此结果还将显示有关设备的详细信息。

  3. 创建 filterRetired.xml 文件。 您可以使用此文件来返回与设备关联的已报废组件(设备项 ID 是 107881)。 文件必须如下所示:
    <FilterSelect xsi:noNamespaceSchemaLocation="filter.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Filter>
        <And>
            <DeviceComponent.DeviceItemID type="EQUAL">107881</DeviceComponent.DeviceItemID>
        </And>
      </Filter>
      <Select use="exclude">
        <Item use="exclude">
          <DisplayName use="include"/>
        </Item>
      </Select>
    </FilterSelect>
    
  4. 运行以下命令:

    curl -X post http://hostname:port/rest/retired/filtered -H "Content-Type: application/xml" -T "filterRetired.xml" > returnedRetireItems.xml

    下列结果将作为 HTTP 响应返回:

    <?xml version="1.0"?>
    <RetiredList>
      <Retired version="1.0.0">
        <ID>128452</ID>
        <Item version="1.0.0">
          <DisplayName>GigabitEthernet0/239 - GigabitEthernet0/239</DisplayName>
        </Item>
      </Retired>
      <Retired version="1.0.0">
        <ID>128451</ID>
        <Item version="1.0.0">
          <DisplayName>GigabitEthernet0/238 - GigabitEthernet0/238</DisplayName>
        </Item>
      </Retired>
    </RetiredList>
    

    将返回两个符合筛选条件的已报废组件。 组件的项 ID 是 128452 和 128451。

  5. 创建 deleteRetiredList.xml 文件。 您可以使用此文件来删除已报废组件的返回列表。 文件必须如下所示:
    <DeleteList>
      <ID>128452</ID>
      <ID>128451</ID>
    </DeleteList>
    
  6. 运行以下命令:

    curl -X post http://hostname:port/rest/retired/deletelist -H "Content-Type: application/xml" -T "deleteRetiredList.xml" > deletelistreponse.xml

    下列结果将作为 HTTP 响应返回:

    <?xml version="1.0"?>
    <DeleteListResult>
      <DeleteResult>
        <ID>128452</ID>
        <Error>SUCCESS</Error>
      </DeleteResult>
      <DeleteResult>
        <ID>128451</ID>
        <Error>SUCCESS</Error>
      </DeleteResult>
    </DeleteListResult>
    

    已成功删除报废的组件。