上一個主題: 匯入自訂度量系列 XML 檔下一個主題: 疑難排解


自動移除已淘汰元件

身為管理員,您可以自動移除您的網路中的已淘汰元件。 在撰寫指令檔來自動刪除已淘汰元件之前,請先瞭解如何使用 Data Aggregator 隨附的指令檔來進行此處理。 例如,您可以設定每週 cron 工作來刪除一個月之久的已淘汰元件。

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>
    

    順利移除已淘汰元件。