上一個主題: 將資料驅動範圍限制為租戶網域下一個主題: 變更資料保留期間


輪詢敏感與重要裝置而不影響效能

身為系統管理員的您知道哪個重要裝置容易受太多輪詢影響,以及哪個裝置可能會導致效能問題。 不過,若要確保重要裝置的效能,您必須監控這些敏感性裝置。 配置 SNMP 輪詢控制,即可對 SNMP 輪詢要求進行節流,以及避免癱瘓敏感性裝置。

按預設,SNMP 輪詢的控制方法有兩種:

兩種臨界值都是設計用來避免裝置的輪詢要求過多。 不過,您可以視需要配置這些 SNMP 輪詢臨界值。

例如,您舊的路由器對輪詢特別敏感。 但是,這個路由器非常重要,且必須盡可能地頻繁輪詢。 您已調整您的監控設定檔,從輪詢中移除不必要的度量系列。 您也在監控設定檔中套用篩選條件,減少輪詢介面的數目。 不過,輪詢依然造成這個路由器當機。 因此,您唯一的選項是調整敏感路由器的預設 SNMP 輪詢參數。

某些參數 (如下所示) 可以新增至 IPRangeList 中 IPRange 區段內個別 IP 或某一 IP 範圍的原則:

MaxOutstandingRequests

指定的 IP 範圍中,傳送給裝置的待處理要求數上限。

MaxRequestSize

限制外傳 SNMP 要求中的 OID 數目。 如果 SNMP 要求中的 OID 數目超過 MaxRequestSize 的值,外傳要求會分割為兩個或更多個較小的要求。

有些 IP 範圍未涵蓋在 IPRange 區段中。 針對全域設定,請使用 MaxRequestSizeDefault 參數設定 OID 限制。

遵循這些步驟:

  1. 開啟以下位址以尋找您 IP 網域 (包含敏感路由器的網域) 的 ID:
    http://hostname:port/rest/ipdomains
    
    hostname:port

    指定您用來存取 REST Web 服務的 Data Aggregator 主機名稱與連接埠號碼。

  2. 在下列 SNMP 節流原則清單中尋找您的 IP 網域 ID,並記下對應的原則  ID:
    http://hostname:port/rest/snmpthrottlepolicies
    
  3. 決定您希望單一外傳 SNMP 要求中包含的 OID 數目。 有些裝置會忽略過大的要求但不傳送錯誤。 因此,導致 SNMP 輪詢工具無法聯繫裝置。 使用 MaxRequestSize 值可讓 Data Collector 監控這些裝置。

    範例

    如果介面 SNMP 要求有 27 個 OID 且 MaxRequestSizeDefault 設定為 15,則外傳要求會分割為兩個較小的要求。 一個要求包含 14 個 OID,另一個包含 13 個 OID。

    範例:下列來自 SNMP 節流原則的範例,顯示 IP 網域 "2" 且 OID 數目沒有限制的原則 ID 為 "601":

    <SnmpThrottlePolicy version="1.0.0">
    
    <ID>601</ID> 
    <MaxOutstandingRequestsDefault>15</MaxOutstandingRequestsDefault> 
    <QueueLength>600</QueueLength> 
    <TimeoutFailSafeThrottleDefault>15</TimeoutFailSafeThrottleDefault>
    <MaxRequestSizeDefault>0</MaxRequestSizeDefault> 
     <IPDomainID>2</IPDomainID> 
    </SnmpThrottlePolicy>
    
    
  4. 開啟可傳送要求和取得回應的 REST 用戶端編輯器或 HTTP 工具,並將 Content-type 設為 application/xml。
  5. 輸入以下準則以開啟並編輯 IP 網域的 SNMP 節流原則:

    結果會傳回到 [HTTP 回應] 窗格的 [內文] 索引標籤中。

    範例:在此例中,只有裝置 10.231.41.7 的臨界值降為 "10"。 針對此裝置,OID 的數目限制為 50。 預設臨界值與其他 IP 範圍臨界值仍使用預設值 "15"。至於裝置 10.231.41.1-10.231.41.255,SNMP 要求限制為 30 個 OID。

    <SnmpThrottlePolicy version="1.0.0">
    
    <IPRangeList>
      <IPRange>
            <IPRangeText>10.231.41.7</IPRangeText>
            <MaxOutstandingRequests>10</MaxOutstandingRequests>
            <TimeoutFailSafeThrottle>10</TimeoutFailSafeThrottle>
    		<MaxRequestSize>50</MaxRequestSize>
      </IPRange>
      <IPRange>
            <IPRangeText>10.231.41.1-10.231.41.255</IPRangeText>
            <MaxOutstandingRequests>15</MaxOutstandingRequests>
            <TimeoutFailSafeThrottle>15</TimeoutFailSafeThrottle>
    		<MaxRequestSize>30</MaxRequestSize>
      </IPRange>
    </IPRangeList>
        <MaxOutstandingRequestsDefault>15</MaxOutstandingRequestsDefault>
        <QueueLength>600</QueueLength>
        <TimeoutFailSafeThrottleDefault>15</TimeoutFailSafeThrottleDefault>
    
    </SnmpThrottlePolicy>
    

    附註:您可以調整單一裝置或多個裝置的臨界值。 IP 範圍定義與 IP 範圍順序決定要套用哪個臨界值。 「IP 範圍」依優先順序列出。 亦即,第一個套用到裝置的 IP 範圍決定要套用的臨界值。

  6. 一律在 root 層級的 update/POST XML 中加入 MaxOutstandingRequestsDefault、TimeoutFailSafeThrottleDefault QueueLength 參數。 即使參數的值與預設值相同,仍需加入這些參數。

    範例:

    此 PUT 命令會產生如下的原則。

     Update XML: PUT on URL DA-HOST:8581/rest/snmpthrottlepolicies/21
    
    <SnmpThrottlePolicy version="1.0.0">
    <IPRangeList>
    
      <IPRange>
    
        <IPRangeText>130.119.103.8</IPRangeText>
        <MaxOutstandingRequests>10</MaxOutstandingRequests>
        <TimeoutFailSafeThrottle>10</TimeoutFailSafeThrottle>
           <MaxRequestSize>20</MaxRequestSize>
      </IPRange>
    </IPRangeList>
    <MaxRequestSizeDefault>50</MaxRequestSizeDefault>
    <MaxOutstandingRequestsDefault>15</MaxOutstandingRequestsDefault>
    <TimeoutFailSafeThrottleDefault>15</TimeoutFailSafeThrottleDefault>
    <QueueLength>600</QueueLength>
    </SnmpThrottlePolicy>
    
    

    此命令會產生下列原則:

    <SnmpThrottlePolicy version="1.0.0">
    <ID>21</ID>
    <QueueLength>600</QueueLength>
    <TimeoutFailSafeThrottleDefault>15</TimeoutFailSafeThrottleDefault>
    <IPDomainID>2</IPDomainID>
    <IPRangeList>
    <IPRange>
    <IPRangeText>130.119.103.8</IPRangeText>
    <MaxOutstandingRequests>10</MaxOutstandingRequests>
    <TimeoutFailSafeThrottle>10</TimeoutFailSafeThrottle>
    <MaxRequestSize>20</MaxRequestSize>
    </IPRange>
    </IPRangeList>
    <MaxRequestSize>50</MaxRequestSize>
    <MaxOutstandingRequestsDefault>15</MaxOutstandingRequestsDefault>
    </SnmpThrottlePolicy>