Telemetry是一項遠程的從物理設備或虛擬設備上高速採集數據的技術。設備經過推模式(Push Mode)週期性的主動向採集器上送設備的接口流量統計、CPU或內存數據等信息,相對傳統拉模式(Pull Mode)的一問一答式交互,提供了更實時更高速的數據採集功能。java
是指設備做爲客戶端,採集器做爲服務端,由設備主動發起到採集器的鏈接,進行數據採集上送。node
狹義的Telemetry是一個設備特性,廣義的Telemetry是一個閉環的自動化運維繫統,由網絡設備、採集器、分析器和控制器等部件組成,分爲網管側和設備側,如圖1所示。編程
Telemetry網管側和設備側協同運做,完成總體的Telemetry靜態訂閱須要五個操做步驟順序執行:windows
靜態配置:控制器經過命令行配置支持Telemetry的設備,訂閱數據源,完成數據採集。數組
推送採樣數據:網絡設備依據控制器的配置要求,將採集完成的數據,上報給採集器進行接收和存儲。緩存
讀取數據:分析器讀取採集器存儲的採樣數據。安全
調整網絡參數:控制器將網絡須要調整的配置下發給網絡設備;配置下發生效後,新的採樣數據又會上報到採集器,此時Telemetry網管側能夠分析調優後的網絡效果是否符合預期,直到調優完成後,整個業務流程造成閉環。markdown
Telemetry動態訂閱是指設備做爲服務端,採集器做爲客戶端發起到設備的鏈接,由設備進行數據採集上送。網絡
狹義的Telemetry是一個設備特性,廣義的Telemetry是一個閉環的自動化運維繫統,由網絡設備、採集器、分析器和控制器等部件組成,分爲網管側和設備側,如圖1所示。數據結構
Telemetry網管側和設備側協同運做,完成總體的Telemetry動態訂閱須要五個操做步驟順序執行:
動態配置:支持Telemetry的設備在完成GRPC服務的相關配置後,由採集器下發動態配置到設備,完成數據採集。
推送採樣數據:網絡設備依據採集器的配置要求,將採集完成的數據,上報給採集器進行接收和存儲。
讀取數據:分析器讀取採集器存儲的採樣數據。
分析數據:分析器分析讀取到的採樣數據,並將分析結果發給控制器,便於控制器對網絡進行配置管理,及時調優網絡。
對於Telemetry設備側:Telemetry=原始數據+數據模型+編碼格式+傳輸協議;對於Telemetry網管側:Telemetry=收集系統+存儲系統+應用分析系統。
Telemetry採樣的原始數據可來自網絡設備的轉發面、控制面和管理面,目前支持採集設備的接口流量統計、CPU或內存數據等信息。
Telemetry基於YANG模型組織採集數據。
YANG是一種數據建模語言,用於設計能夠爲各類傳輸協議操做的配置數據模型、狀態數據模型、遠程調用模型和通知機制等。
GPB編碼格式,是一種與語言無關、平臺無關、擴展性好的用於通訊協議、數據存儲的序列化結構數據格式。
Telemetry利用GPB編碼格式(GPB編碼格式的文件名後綴爲.proto),提供一種靈活、高效、自動序列化結構數據的機制,屬於二進制編碼,性能好,效率高。
GPB經過「.proto」文件描述編碼使用的字典,即數據結構描述。用戶能夠利用Protoc等工具軟件(例如protoc-3.0.2-windows-x86_64.exe文件)根據「.proto」文件自動生成代碼(例如java代碼),而後用戶基於自動生成的代碼進行二次開發,對GPB進行編碼和解碼,從而實現與設備的對接。GPB編碼解析先後的對好比表1所示。
JSON是一種輕量級的數據交換格式。它是基於ECMAScript(歐洲計算機協會制訂的JS規範)的一個子集,採用徹底獨立於編程語言的文本格式來存儲和表示數據,層次結構簡潔清晰,既易於人閱讀和編寫,同時也易於機器解析和生成。JSON編碼解析先後的對好比表2所示。
·在設備和採集器之間傳輸數據時,採用GPB編碼格式傳輸的數據比其餘編碼格式(JSON或XML)的數據具備更高的信息負載能力,保證了Telemetry業務的數據吞吐能力,同時下降了CPU佔用率和帶寬。·
GRPC協議是谷歌發佈的一個基於HTTP2協議承載的高性能、通用的RPC開源軟件框架。通訊雙方都基於該框架進行二次開發,從而使得通訊雙方聚焦在業務,無需關注由GRPC軟件框架實現的底層通訊。
Telemetry經過GRPC協議將通過編碼格式封裝的數據上報給採集器進行接收和存儲。
·
GRPC協議能夠用於Telemetry靜態訂閱或動態訂閱。
·
GRPC協議棧分層如圖1所示。
各層詳細說明如表3所示。
表3 各層詳細說明
syntax = "proto3"; //proto版本定義爲v3版本。 package huawei_dialout; //本包名稱爲huawei_dialout。 service gRPCDataservice { //服務名稱爲gRPCDataservice。 rpc dataPublish(stream serviceArgs) returns(stream serviceArgs) {}; //方法爲dataPublish,雙向流,提供數據推送方法。入參是serviceArgs數據流。 } message serviceArgs { //消息格式描述。 int64 ReqId = 1; //請求ID,GPB編碼時編號爲1。 bytes data = 2; //承載的數據,GPB編碼時編號爲2,由huawei-telemetry.proto解釋。 string errors = 3; //產生錯誤時的描述信息,GPB編碼時編號爲3。 }
syntax = "proto3"; //proto版本定義爲v3版本。 package huawei_dialin; //本包名稱爲huawei_dialin。 service gRPCConfigOper { //服務名稱爲gRPCConfigOper。 rpc Subscribe(SubsArgs) returns(stream SubsReply) {}; //方法爲Subscribe,服務端流模式,提供動態訂閱方法。入參SubsArgs包含訂閱的參數。 rpc Cancel(CancelArgs) returns(CancelReply) {}; //方法爲Cancel,一問一答模式,提供取消動態訂閱方法。入參CancelArgs包含取消訂閱的參數。 } message Path { //Path消息結構。 string path = 1; //訂閱的sensor-path。 } message SubsArgs { //訂閱請求參數。 uint64 request_id = 1; //請求ID,由調用者傳入。 uint32 encoding = 2; //編碼類型。0:GPB編碼;1:JSON編碼。 repeated Path path = 5; //訂閱的path結構。 uint64 sample_interval = 6; //採樣週期。 uint64 heartbeat_interval = 7; //冗餘抑制的抑制週期,當suppress_redundant爲1時才生效。 bool suppress_redundant = 8; //冗餘抑制,當數據內容不變時,抑制採樣數據上報。0:不啓用;1:啓用。 } message SubsReply { //訂閱響應參數。 uint32 subscription_id = 1; //成功返回訂閱ID,失敗返回0。 uint64 request_id = 2; //帶回對應訂閱請求的request_id。 string response_code = 3; //返回碼,成功爲200。 bytes message = 4; //錯誤描述。成功時後續的rpc中此字段將流式返回上送的數據。 } message CancelArgs { //取消訂閱請求參數。 uint64 request_id = 1; //請求ID,由調用者傳入。 uint32 subscription_id = 2; //須要取消的訂閱ID。 } message CancelReply { //取消訂閱響應參數。 uint64 request_id = 1; //請求ID,由調用者傳入。 string response_code = 2; //返回碼,成功爲200。 string message = 3; //錯誤描述。 }
syntax = "proto3"; //proto版本定義爲v3版本。 package telemetry; //本包名稱爲telemetry。 message Telemetry { //Telemetry消息結構定義。 string node_id_str = 1; //設備名稱。 string subscription_id_str = 2; //訂閱名稱,靜態配置訂閱時的訂閱名稱,GPB編碼時編碼爲2。 string sensor_path = 3; //訂閱路徑,GPB編碼時編碼爲3。 string proto_path = 13; //採樣路徑path對應在proto文件中的message路徑。 uint64 collection_id = 4; //標識採樣輪次,GPB編碼時編碼爲4。 uint64 collection_start_time = 5;//標識採樣輪次開始時間,GPB編碼時編碼爲5。 uint64 msg_timestamp = 6; //生成本消息的時間戳,GPB編碼時編碼爲6。 TelemetryGPBTable data_gpb = 7; //承載的數據由TelemetryGPBTable定義,GPB編碼時編碼爲7。 uint64 collection_end_time = 8; //標識採樣輪次結束時間,GPB編碼時編碼爲8。 uint32 current_period = 9; //採樣精度,單位是毫秒,GPB編碼時編碼爲9。 string except_desc = 10; //異常描述信息,採樣異常時用於上報異常信息,GPB編碼時編碼爲10。 string product_name = 11; //產品名稱。 enum Encoding { Encoding_GPB = 0; //表示GPB數據編碼格式。 Encoding_JSON = 1; //表示JSON數據編碼格式。 }; Encoding encoding =12; //數據編碼格式。爲GPB時,data_gpb字段有效,不然data_str字段有效。 string data_str = 14; //數據編碼非GPB時有效,不然爲空。 } message TelemetryGPBTable { //TelemetryGPBTable消息結構定義。 repeated TelemetryRowGPB row = 1; //數組定義,標識數據是TelemetryRowGPB結構的重複,GPB編碼時編碼爲1。 } message TelemetryRowGPB { uint64 timestamp = 1; //採樣當前實例的時間戳,GPB編碼時編碼爲1。 bytes content = 11; //承載的採樣實例數據,GPB編碼時編碼爲11,須要結合sensor_path字段,才能夠判斷此處會以哪一個proto文件編碼。 }
Telemetry經過推模式,讓網絡設備週期性自動推送數據給網管側,避免重複查詢,提高監控性能,推送過程如圖2所示。
圖2 Telemetry推模式採樣過程
Telemetry技術目前支持特定的採樣傳感器路徑採集指定的數據信息。
Telemetry支持的採樣路徑如表1所示。
·當前設備只支持最多帶5個採集條件。查詢子節點時,父節點的條件必須帶全,子節點的條件能夠根據實際狀況選取一個或多個或不選。
表1 Telemetry支持的採樣路徑 |
採樣路徑類型 | 採樣路徑 | 採樣數據信息 | 採集模式 | 採集條件及示例 | 最小採樣精度(ms) | YANG文件 | GPB編碼文件名稱 | 是否支持JSON編碼格式 |
---|---|---|---|---|---|---|---|---|---|
告警 | huawei-sem:hwCPUUtilizationRisingAlarm | CPU使用率太高告警。 | - | - | - | huawei-sem.yang | huawei-sem.proto | 否 | |
huawei-sem:hwCPUUtilizationResume | CPU恢復告警。 | - | - | - | 否 | ||||
huawei-sem:hwStorageUtilizationRisingAlarm | 內存使用率太高告警。 | - | - | - | 否 | ||||
huawei-sem:hwStorageUtilizationResume | 內存恢復告警。 | - | - | - | 否 | ||||
採樣 | huawei-fibstatus:fibstatus/ipRouteEntryCounts/ipRouteEntryCount | IPv4路由使用狀況。 | 全量採集 | - | 10000 | huawei-fibstatus.yang | huawei-fibstatus.proto | 否 | |
huawei-fibstatus:fibstatus/ipRouteResources/ipRouteResource | IPv4路由規格。 | 全量採集 | - | 10000 | 否 | ||||
huawei-fibstatus:fibstatus/ipv6RouteEntryCounts/ipv6RouteEntryCount | IPv6路由使用狀況。 | 全量採集 | - | 10000 | 否 | ||||
huawei-fibstatus:fibstatus/ipv6RouteResources/ipv6RouteResource | IPv6路由規格。 | 全量採集 | - | 10000 | 否 | ||||
huawei-devm:devm/cpuInfos/cpuInfo | CPU信息。 | 全量採集 | - | 10000 | huawei-devm.yang | huawei-devm.proto | 否 | ||
huawei-devm:devm/memoryInfos/memoryInfo | 內存信息。 | 全量採集 | - | 10000 | 否 | ||||
huawei-devm:devm/ports/port/opticalInfo | 接口上的光模塊信息。 | 全量採集或條件採集 | 採集條件:position | ||||||
示例:huawei-devm:devm/ports/port[position="10GE1/0/1"]/opticalInfo | 30000 | 否 | |||||||
huawei-mac:mac/bdMacTotalNumbers/bdMacTotalNumber | |||||||||
說明: CE6810EI、CE6810LI、CE6850EI不支持該採樣路徑。 | BD MAC地址總數量信息。 | 全量採集或條件採集 | 採集條件:bdId | ||||||
示例:huawei-mac:mac/bdMacTotalNumbers/bdMacTotalNumber[bdId="2018"] | 10000 | huawei-mac.yang | huawei-mac.proto | 否 | |||||
huawei-mac:mac/macAddrSummarys/macAddrSummary | MAC地址統計信息。 | 全量採集或條件採集 | 採集條件:slotId | ||||||
示例:huawei-mac:mac/macAddrSummarys/macAddrSummary[slotId="1"] | 10000 | 否 | |||||||
huawei-ifm:ifm/interfaces/interface/ifStatistics | 接口統計信息。 | 全量採集或條件採集 | 採集條件:ifName | ||||||
示例:huawei-ifm:ifm/interfaces/interface[ifName="10GE1/0/1"]/ifStatistics | 1000 | huawei-ifm.yang | huawei-ifm.proto | 否 | |||||
huawei-qos:qos/qosPortBufUsageStats/qosPortBufUsageStat | 接口緩存使用信息。 | 全量採集或條件採集 | 採集條件:slotId;ifName | ||||||
示例:huawei-qos:qos/qosPortBufUsageStats/qosPortBufUsageStat[slotId="1",ifName="10GE1/0/1"] | CE5880EI、CE6880EI:2其餘形態:100 | huawei-qos.yang | huawei-qos.proto | 是 | |||||
huawei-qos:qos/qosQueueBufUsageStats/qosQueueBufUsageStat | 隊列緩存使用信息。 | 全量採集或條件採集 | 採集條件:slotId;ifName;queueId | ||||||
示例:huawei-qos:qos/qosQueueBufUsageStats/qosQueueBufUsageStat[slotId="1",ifName="10GE1/0/1",queueId="0"] | CE5880EI、CE8860EI、CE8850EI、CE6880EI:2其餘形態:100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosCoreQueBufStats/qosCoreQueBufStat | |||||||||
說明: CE5880EI、CE6870EI、CE6875EI、CE6880EI不支持該採樣路徑。 | 芯片緩存使用信息。 | 全量採集 | - | 100 | huawei-qos.yang | 是 | |||
huawei-qos:qos/qosQueueDropStats/qosQueueDropStat | 隊列緩存丟包計數。 | 全量採集或條件採集 | 採集條件:slotId;ifName | ||||||
示例:huawei-qos:qos/qosQueueDropStats/qosQueueDropStat[slotId="1",ifName="10GE1/0/1"] | CE5880EI、CE6880EI:2其餘形態:100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosIngPortDropStats/qosIngPortDropStat | |||||||||
說明: 僅CE6857EI、CE6860EI、CE6865EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | 接口入方向丟棄計數。 | 全量採集或條件採集 | 採集條件:ifName | ||||||
示例:huawei-qos:qos/qosIngPortDropStats/qosIngPortDropStat[ifName="10GE1/0/1"] | 100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosIngPortQueBufStats/qosIngPortQueBufStat | |||||||||
說明: 僅CE6857EI、CE6860EI、CE6865EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | 接口入方向隊列的緩存使用狀況。 | 全量採集或條件採集 | 採集條件:slotId;ifName;queueId | ||||||
示例:huawei-qos:qos/qosIngPortQueBufStats/qosIngPortQueBufStat[slotId="1",ifName="10GE1/0/1",queueId="0"] | 100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosPortPfcStats/qosPortPfcStat | |||||||||
說明: CE5880EI、CE6880EI不支持該採樣路徑。 | 接口PFC反壓幀統計信息。 | 全量採集或條件採集 | 採集條件:ifName | ||||||
示例:huawei-qos:qos/qosPortPfcStats/qosPortPfcStat[ifName="10GE1/0/1"] | 100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosGlobalCfgs/qosCaptureDropstats/qosCaptureDropstat | |||||||||
說明: 僅CE6857EI、CE6865EI、CE8850-64CQ-EI、CE8861EI、CE8868EI支持該採樣路徑。 | 丟棄報文捕獲信息。 | 全量採集 | - | 10000 | huawei-qos.yang | 是 | |||
huawei-qos:qos/qosQueueHdrmStats/qosQueueHdrmStat | |||||||||
說明: CE5880EI、CE6870EI、CE6875EI、CE6880EI不支持該採樣路徑。 | 隊列headroom緩存使用信息。 | 全量採集或條件採集 | 採集條件:ifName;queueId | ||||||
示例:huawei-qos:qos/qosQueueHdrmStats/qosQueueHdrmStat[ifName="10GE1/0/1",queueId="0"] | 100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosPortEcnStats/qosPortEcnStat | |||||||||
說明: 僅CE6857EI、CE6865EI、CE6860EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | 基於端口的ECN統計。 | 全量採集或條件採集 | 採集條件:slotId;ifName | ||||||
示例:huawei-qos:qos/qosPortEcnStats/qosPortEcnStat[slotId="1",ifName="10GE1/0/1"] | 100 | huawei-qos.yang | 是 | ||||||
huawei-qos:qos/qosAclResourceUsageStats/qosAclResourceUsageStat | ACL資源使用信息。 | 全量採集 | - | 10000 | huawei-qos.yang | 否 | |||
huawei-qos:qos/qosBankResourceUsageStats/qosBankResourceUsageStat | Bank資源使用信息。 | 全量採集 | - | 10000 | huawei-qos.yang | 否 | |||
openconfig-interfaces:interfaces/interface/subinterfaces/subinterface/state/counters | |||||||||
說明: CE6880EI和CE5880EI不支持該採樣路徑。 | 二層子接口統計信息。 | 全量採集 | - | 1000 | openconfig-interfaces.yang | openconfig-interfaces.proto | 否 | ||
openconfig-interfaces:interfaces/interface/state/counters | 物理接口統計信息。 | 全量採集或條件採集 | 採集條件:name | ||||||
示例:openconfig-interfaces:interfaces/interface[name="10GEGE1/0/1"]/state/counters | 1000 | openconfig-interfaces.yang | 否 |
採樣路徑對應的詳細採樣指標如表2所示。 |
採樣路徑 | 採樣路徑下的節點 | 採集數據指標 | 是否支持自定義閾值 |
---|---|---|---|---|
huawei-fibstatus:fibstatus/ipRouteEntryCounts/ipRouteEntryCount | slot | 單板號。 | 否 | |
***Name | ***實例。 | 否 | ||
entryCount | IPv4路由使用數量。 | 是 | ||
huawei-fibstatus:fibstatus/ipRouteResources/ipRouteResource | slot | 單板號。 | 否 | |
total | IPv4路由規格。 | 是 | ||
used | IPv4路由使用總數量。 | 是 | ||
huawei-fibstatus:fibstatus/ipv6RouteEntryCounts/ipv6RouteEntryCount | slot | 單板號。 | 否 | |
***Name | ***實例。 | 否 | ||
entryCount | IPv6路由使用數量。 | 是 | ||
huawei-fibstatus:fibstatus/ipv6RouteResources/ipv6RouteResource | slot | 單板號。 | 否 | |
total | IPv6路由規格。 | 是 | ||
totalMask64 | 掩碼長度64位及如下IPv6路由規格。 | 是 | ||
totalMask65To127 | 長掩碼IPv6路由規格。 | 是 | ||
totalMask128 | 掩碼長度128位IPv6路由規格。 | 是 | ||
used | IPv6路由使用總數量。 | 是 | ||
huawei-devm:devm/cpuInfos/cpuInfo | position | 單板的位置信息。 | 否 | |
entIndex | 單板的索引號信息。 | 是 | ||
systemCpuUsage | CPU佔用率信息,單位是%。 | 是 | ||
ovloadThreshold | 過載閾值信息,單位是%。 | 是 | ||
unovloadThreshold | 去過載閾值信息,單位是%。 | 是 | ||
interval | CPU過載檢測週期信息,單位是分鐘。 | 是 | ||
huawei-devm:devm/memoryInfos/memoryInfo | position | 單板的位置信息。 | 否 | |
entIndex | 單板的索引號信息。 | 是 | ||
osMemoryTotal | 系統內存總量信息,單位是KB。 | 是 | ||
osMemoryUse | 系統已用內存數量,單位是KB。 | 是 | ||
osMemoryFree | 系統內存剩餘量,單位是KB。 | 是 | ||
osMemoryUsage | 系統內存佔用率信息,單位是%。 | 是 | ||
doMemoryTotal | 通用路由平臺內存總量信息,單位是KB。 | 是 | ||
doMemoryUse | 通用路由平臺內存已用數量信息,單位是KB。 | 是 | ||
doMemoryFree | 通用路由平臺內存剩餘量,單位是KB。 | 是 | ||
doMemoryUsage | 通用路由平臺內存佔用率,單位是%。 | 是 | ||
simpleMemoryTotal | Simple內存總量,單位是KB。 | 是 | ||
simpleMemoryUse | Simple內存已用數量信息,單位是KB。 | 是 | ||
simpleMemoryFree | Simple內存剩餘量,單位是KB。 | 是 | ||
simpleMemoryUsage | Simple內存佔用率,單位是%。 | 是 | ||
ovloadThreshold | 過載閾值,單位是%。 | 是 | ||
unovloadThreshold | 去過載閾值,單位是%。 | 是 | ||
huawei-devm:devm/ports/port/opticalInfo | biasCurrent | 光模塊當前電流。 | 否 | |
manuDate | 光模塊生產日期。 | 否 | ||
position | 光模塊所在端口名稱。 | 否 | ||
rxPower | 當前光模塊接收功率。 | 否 | ||
temperature | 當前光模塊溫度。 | 否 | ||
txPower | 當前光模塊發送功率。 | 否 | ||
voltage | 當前光模塊電壓。 | 否 | ||
huawei-mac:mac/bdMacTotalNumbers/bdMacTotalNumber | ||||
說明: CE6810EI、CE6810LI、CE6850EI不支持該採樣路徑。 | bdId | BD標識。 | 是 | |
number | MAC地址總數量。 | 是 | ||
huawei-mac:mac/macAddrSummarys/macAddrSummary | slotId | 單板號。 | 否 | |
totalNum | MAC地址總數量。 | 是 | ||
blackholeNum | 黑洞MAC地址數量。 | 是 | ||
staticNum | 靜態MAC地址數量。 | 是 | ||
dynLocalNum | 本槽位學習到的MAC地址表項總數。 | 是 | ||
dynRemote | 其餘槽位學習到的MAC地址表項同步到本槽位的總數。 | 是 | ||
dynTrunk | 全部Trunk接口學到的動態MAC地址表項總數。 | 是 | ||
oamNum | OAM類型MAC地址表項的總數。 | 是 | ||
stickyNum | Sticky類型MAC地址表項的總數。 | 是 | ||
securityNum | 安全動態MAC地址表項的總數。 | 是 | ||
authenNum | 認證類型MAC地址表項的總數。 | 是 | ||
guestNum | 加入Guest VLAN的接口學習到的MAC地址表項的總數。 | 是 | ||
muxNum | 加入MUX VLAN的接口學習到的MAC地址表項的總數。 | 是 | ||
tunnelNum | 隧道類型MAC地址表項的總數。 | 是 | ||
snoopingNum | Snooping類型MAC地址表項的總數。 | 是 | ||
evnNum | EVN類型MAC地址表項的總數。 | 是 | ||
ovsdbNum | OVSDB類型MAC地址表項的總數。 | 是 | ||
capacity | MAC地址表容量。 | 是 | ||
huawei-ifm:ifm/interfaces/interface/ifStatistics | sendByte | 發送的正確字節數,單位是Byte。 | 否 | |
sendPacket | 發送的正確報文數,包括單播、組播、廣播。 | 否 | ||
sendMutiPacket | 發送的正確組播報文。 | 否 | ||
sendBroadPacket | 發送的正確廣播報文。 | 否 | ||
sendUniPacket | 發送的正確單播報文。 | 否 | ||
receiveByte | 接收的正確字節數,單位是Byte。 | 否 | ||
receivePacket | 接收的正確報文數,包括單播、組播、廣播。 | 否 | ||
rcvMutiPacket | 接收的正確組播報文。 | 否 | ||
rcvBroadPacket | 接收的正確廣播報文。 | 否 | ||
rcvUniPacket | 接收的正確單播報文。 | 否 | ||
rcvDropPacket | 接收的丟棄報文數。 | 否 | ||
rcvErrorPacket | 接收的錯誤報文數。 | 否 | ||
sendDropPacket | 發送的丟棄報文數。 | 否 | ||
sendErrorPacket | 發送的錯誤報文數。 | 否 | ||
huawei-qos:qos/qosPortBufUsageStats/qosPortBufUsageStat | currentUsed | 已使用的緩存,單位是字節。 | 否 | |
ifName | 接口名稱。 | 否 | ||
peakUsed | 已使用緩存的峯值,單位是字節。 | 否 | ||
slotId | 設備ID。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosQueueBufUsageStats/qosQueueBufUsageStat | currentUsed | 已使用的緩存,單位是字節。 | 否 | |
ifName | 接口名稱。 | 否 | ||
peakUsed | 已使用緩存的峯值,單位是字節。 | 否 | ||
queueId | 隊列編號。 | 否 | ||
slotId | 設備ID。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosCoreQueBufStats/qosCoreQueBufStat | ||||
說明: CE5880EI、CE6870EI、CE6875EI、CE6880EI不支持該採樣路徑。 | coreId | 轉發覈編號。 | 否 | |
currentPercent | 已使用的共享緩存佔總共享緩存的百分比。 | 否 | ||
currentUsedByte | 已使用的共享緩存,單位是字節。 | 否 | ||
currentUsedCell | 已使用的共享緩存,單位是cell。 | 否 | ||
slotId | 設備ID。 | 否 | ||
totalBufByte | 總共享緩存,單位是字節。 | 否 | ||
totalBufCell | 總共享緩存,單位是cell。 | 否 | ||
unitId | 芯片編號。 | 否 | ||
huawei-qos:qos/qosQueueDropStats/qosQueueDropStat | ifName | 接口名稱。 | 否 | |
queue0DropBytes | 0號隊列丟棄的字節數。 | 否 | ||
queue0DropPackets | 0號隊列丟棄的報文數。 | 否 | ||
queue1DropBytes | 1號隊列丟棄的字節數。 | 否 | ||
queue1DropPackets | 1號隊列丟棄的報文數。 | 否 | ||
queue2DropBytes | 2號隊列丟棄的字節數。 | 否 | ||
queue2DropPackets | 2號隊列丟棄的報文數。 | 否 | ||
queue3DropBytes | 3號隊列丟棄的字節數。 | 否 | ||
queue3DropPackets | 3號隊列丟棄的報文數。 | 否 | ||
queue4DropBytes | 4號隊列丟棄的字節數。 | 否 | ||
queue4DropPackets | 4號隊列丟棄的報文數。 | 否 | ||
queue5DropBytes | 5號隊列丟棄的字節數。 | 否 | ||
queue5DropPackets | 5號隊列丟棄的報文數。 | 否 | ||
queue6DropBytes | 6號隊列丟棄的字節數。 | 否 | ||
queue6DropPackets | 6號隊列丟棄的報文數。 | 否 | ||
queue7DropBytes | 7號隊列丟棄的字節數。 | 否 | ||
queue7DropPackets | 7號隊列丟棄的報文數。 | 否 | ||
slotId | 設備ID。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosIngPortDropStats/qosIngPortDropStat | ||||
說明: 僅CE6857EI、CE6860EI、CE6865EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | dropBytes | 丟棄的字節數。 | 否 | |
dropPackets | 丟棄的報文數。 | 否 | ||
ifName | 接口名稱。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosIngPortQueBufStats/qosIngPortQueBufStat | ||||
說明: 僅CE6857EI、CE6860EI、CE6865EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | currentGuarantee | 當前已使用的Guaranteed緩存。 | 否 | |
ifName | 接口名稱。 | 否 | ||
queueId | 隊列編號。 | 否 | ||
slotId | 設備ID。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosPortPfcStats/qosPortPfcStat | ||||
說明: CE5880EI、CE6880EI不支持該採樣路徑。 | ifName | 接口名稱。 | 否 | |
queue0DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 0號隊列PFC死鎖監控次數。 | 否 | ||
queue0DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 0號隊列PFC死鎖恢復次數。 | 否 | ||
queue0ReceiveFrames | 0號隊列接收的PFC反壓幀數。 | 否 | ||
queue0TransmitFrames | 0號隊列發送的PFC反壓幀數。 | 否 | ||
queue1DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 1號隊列PFC死鎖監控次數。 | 否 | ||
queue1DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 1號隊列PFC死鎖恢復次數。 | 否 | ||
queue1ReceiveFrames | 1號隊列接收的PFC反壓幀數。 | 否 | ||
queue1TransmitFrames | 1號隊列發送的PFC反壓幀數。 | 否 | ||
queue2DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 2號隊列PFC死鎖監控次數。 | 否 | ||
queue2DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 2號隊列PFC死鎖恢復次數。 | 否 | ||
queue2ReceiveFrames | 2號隊列接收的PFC反壓幀數。 | 否 | ||
queue2TransmitFrames | 2號隊列發送的PFC反壓幀數。 | 否 | ||
queue3DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 3號隊列PFC死鎖監控次數。 | 否 | ||
queue3DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 3號隊列PFC死鎖恢復次數。 | 否 | ||
queue3ReceiveFrames | 3號隊列接收的PFC反壓幀數。 | 否 | ||
queue3TransmitFrames | 3號隊列發送的PFC反壓幀數。 | 否 | ||
queue4DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 4號隊列PFC死鎖監控次數。 | 否 | ||
queue4DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 4號隊列PFC死鎖恢復次數。 | 否 | ||
queue4ReceiveFrames | 4號隊列接收的PFC反壓幀數。 | 否 | ||
queue4TransmitFrames | 4號隊列發送的PFC反壓幀數。 | 否 | ||
queue5DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 5號隊列PFC死鎖監控次數。 | 否 | ||
queue5DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 5號隊列PFC死鎖恢復次數。 | 否 | ||
queue5ReceiveFrames | 5號隊列接收的PFC反壓幀數。 | 否 | ||
queue5TransmitFrames | 5號隊列發送的PFC反壓幀數。 | 否 | ||
queue6DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 6號隊列PFC死鎖監控次數。 | 否 | ||
queue6DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 6號隊列PFC死鎖恢復次數。 | 否 | ||
queue6ReceiveFrames | 6號隊列接收的PFC反壓幀數。 | 否 | ||
queue6TransmitFrames | 6號隊列發送的PFC反壓幀數。 | 否 | ||
queue7DeadlockDetectNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 7號隊列PFC死鎖監控次數。 | 否 | ||
queue7DeadlockRecoveryNum | ||||
說明: 僅CE8868EI、CE8861EI、CE8860EI、CE8850EI、CE6865EI、CE6860EI、CE6857EI支持該節點。 | 7號隊列PFC死鎖恢復次數。 | 否 | ||
queue7ReceiveFrames | 7號隊列接收的PFC反壓幀數。 | 否 | ||
queue7TransmitFrames | 7號隊列發送的PFC反壓幀數。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosGlobalCfgs/qosCaptureDropstats/qosCaptureDropstat | ||||
說明: 僅CE6857EI、CE6865EI、CE8850-64CQ-EI、CE8861EI、CE8868EI支持該採樣路徑。 | number | 報文的索引號。當報文的索引號爲0xffffffff時,表示該條採樣信息無效。 | 否 | |
dropType | 報文丟棄類型。1:擁塞丟棄報文。2:轉發丟棄報文。 | 否 | ||
srcMac | 報文的源MAC地址。 | 否 | ||
dstMac | 報文的目的MAC地址。 | 否 | ||
dstPort | 報文的目的端口號。 | 否 | ||
ethType | 報文的以太類型。 | 否 | ||
protocol | 報文的協議類型。 | 否 | ||
srcIpv4 | 報文的源IPv4地址。 | 否 | ||
dstIpv4 | 報文的目的IPv4地址。 | 否 | ||
srcPort | 報文的源端口號。 | 否 | ||
vlanId | 報文的VLAN ID。 | 否 | ||
ifName | 報文的源端口名稱。 | 否 | ||
queueID | 報文隊列ID。 | 否 | ||
reason | 報文丟棄緣由。 | 否 | ||
timestamp | 報文丟棄的時間。 | 否 | ||
huawei-qos:qos/qosQueueHdrmStats/qosQueueHdrmStat | ||||
說明: CE5880EI、CE6870EI、CE6875EI、CE6880EI不支持該採樣路徑。 | currentUsed | 已使用的緩存,單位是cell。 | 否 | |
ifName | 接口名稱。 | 否 | ||
peakUsed | 已使用緩存的峯值,單位是cell。 | 否 | ||
queueId | 隊列編號。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosPortEcnStats/qosPortEcnStat | ||||
說明: 僅CE6857EI、CE6865EI、CE6860EI、CE8850EI、CE8860EI、CE8861EI、CE8868EI支持該採樣路徑。 | ifName | 接口名稱。 | 否 | |
packets | ECN報文數。 | 否 | ||
slotId | 設備ID。 | 否 | ||
timestamp | 時間戳,單位是毫秒。 | 否 | ||
huawei-qos:qos/qosAclResourceUsageStats/qosAclResourceUsageStat | aclTotal | ACL資源的總數。 | 否 | |
aclUsed | 已使用的ACL資源。 | 否 | ||
chipId | 芯片ID。 | 否 | ||
resourceName | ACL資源類型。 | 否 | ||
slotId | 槽位號。 | 否 | ||
huawei-qos:qos/qosBankResourceUsageStats/qosBankResourceUsageStat | bankIdList | Bank資源ID。 | 否 | |
chipId | 芯片號。 | 否 | ||
entryFree | Bank中表項的剩餘數。 | 否 | ||
entryUsedList | Bank中已經使用的表項。 | 否 | ||
slotId | 槽位號。 | 否 | ||
openconfig-interfaces:interfaces/interface/subinterfaces/subinterface/state/counters | ||||
說明: CE6880EI和CE5880EI不支持該採樣路徑。 | in_octets | 接收的字節數,單位字節。 | 否 | |
in_unicast_pkts | 接收的報文數。 | 否 | ||
in_broadcast_pkts | 該字段不支持,固定爲0。 | 否 | ||
in_multicast_pkts | 該字段不支持,固定爲0。 | 否 | ||
in_discards | 該字段不支持,固定爲0。 | 否 | ||
in_errors | 該字段不支持,固定爲0。 | 否 | ||
in_unknown_protos | 該字段不支持,固定爲0。 | 否 | ||
in_fcs_errors | 該字段不支持,固定爲0。 | 否 | ||
out_octets | 發送的字節數,單位字節。 | 否 | ||
out_unicast_pkts | 發送的報文數。 | 否 | ||
out_broadcast_pkts | 該字段不支持,固定爲0。 | 否 | ||
out_multicast_pkts | 該字段不支持,固定爲0。 | 否 | ||
out_discards | 該字段不支持,固定爲0。 | 否 | ||
out_errors | 該字段不支持,固定爲0。 | 否 | ||
carrier_transitions | 該字段不支持,固定爲0。 | 否 | ||
last_clear | 上一次清除時間,單位納秒。 | 否 | ||
openconfig-interfaces:interfaces/interface/state/counters | carrier_transitions | 該字段不支持,固定爲0。 | 否 | |
in_broadcast_pkts | 接收的廣播報文數。 | 否 | ||
in_discards | 接收的丟棄報文數。 | 否 | ||
in_errors | 接收的錯誤報文數。 | 否 | ||
in_fcs_errors | 接收的FCS錯報數。 | 否 | ||
in_multicast_pkts | 接收的組播報文數。 | 否 | ||
in_octets | 接收的字節數,單位字節。 | 否 | ||
in_unicast_pkts | 接收的單播報文數。 | 否 | ||
in_unknown_protos | 接收的未知報文數。 | 否 | ||
last_clear | 該字段不支持,固定爲0。 | 否 | ||
out_broadcast_pkts | 發送的廣播報文數。 | 否 | ||
out_discards | 發送的丟棄報文數。 | 否 | ||
out_errors | 發送的錯誤報文數。 | 否 | ||
out_multicast_pkts | 發送的組播報文數。 | 否 | ||
out_octets | 發送的字節數。 | 否 | ||
out_unicast_pkts | 發送的單播報文數。 | 否 |
CE系列交換機做爲Telemetry設備側時,支持微突發監控功能。其實現以下:
基於微突發監控的Telemetry採樣訂閱建立成功後,設備按照採樣週期讀取端口隊列的緩存使用率。
當Telemetry數據上送週期到達後,設備會將此上送週期內記錄的微突發流量信息按照Telemetry數據格式上送給採集器進行分析。
對於除CE5880EI、CE8860EI、CE8850EI、CE6880EI之外的設備,頻繁讀取端口隊列緩存信息對設備的CPU使用率會產生影響。此時設備會根據CPU的使用率來調整微突發監控的採樣週期:
基於微突發監控的Telemetry採樣訂閱建立成功後,能夠配置微突發監控相關的採樣參數。
微突發監控的採樣參數包括緩存低門限和採樣週期。
緩存低門限:
當知足以下任一條件時,設備認爲出現微突發流量,記錄相應的微突發流量信息,包括微突發流量發生的時間以及發生時對應隊列的緩存使用率。
採樣週期:
執行命令qos [ queue queue-index ] buffer-monitoring percent low low-percent high high-percent,配置隊列的緩存低門限和緩存高門限。
缺省狀況下,緩存低門限爲隊列緩存空間的10%,緩存高門限爲隊列緩存空間的90%。
對於CE8860EI、CE8850EI:
執行命令system-view,進入系統視圖。
執行命令interface interface-type interface-number,進入接口視圖。
執行命令qos buffer-monitoring parse enable,使能端口的擁塞分析功能。
缺省狀況下,未使能端口的擁塞分析功能。
執行命令quit,退回到系統視圖。
除CE5880EI、CE6880EI外:
執行命令telemetry,進入Telemetry視圖。
執行命令subscription subscription-name,建立訂閱用於關聯上送目標組和採樣路徑並進入subscription視圖。
缺省狀況下,沒有建立訂閱關聯上送目標組和採樣路徑。
執行命令sensor-group sensor-name sample-interval sample-interval,配置關聯傳感器組的採樣週期。
缺省狀況下,沒有對關聯採樣傳感器組進行採樣週期的配置。