簡介
本文將介紹如何識別單個CMX(Connected Mobile eXperience)節點的負載並將其重新分配,以便適應大量被跟蹤的裝置。在啟用探測客戶端跟蹤的公共區域或設定中的超大型部署中經常觀察到此類問題。
必要條件
需求
本文假定您已瞭解CMX的基本設定和配置,僅側重於在大型部署中最佳化效能的提示和技巧。
採用元件
本文中顯示的所有命令和示例都是在運行8.8.125代碼的3504 WLC和運行3375裝置的CMX 10.6.1上執行的。
超載CMX節點的跡象
CMX節點的過載可能會導致幾個不同的問題:
- 服務無法啟動
- 服務突然停止/崩潰
- 顯示0個活動客戶端的分析服務
- 警報和電子郵件警報表示分析或位置服務處於嚴重運行狀態
- 無法在主和輔助CMX節點之間建立HA
重新分配CMX負載
過濾本地管理的MAC地址
由於對隱私的擔憂日益加劇,從2014年的IOS 8版本開始,智慧手機製造商開始實施一項名為MAC隨機化的功能,裝置在每次傳送探測請求時,都會使用隨機生成的新MAC地址。當生成一個隨機MAC地址時,製造商可以決定使用「本地管理」的MAC地址,該地址有一個特殊位表示該地址是隨機的,或者只生成一個完全隨機的、與真實地址不可區分的地址。只有極少數的客戶端在探測時實際使用了其真實MAC地址。
CMX可以過濾這些偽隨機MAC地址。在「System」 — >「Settings」 — >「Filtering」下,始終確保選中「Enable Locally Managed MAC filtering」。
注意:此欄位已從CMX 10.6.0中的Web介面中刪除,並且預設情況下始終處於啟用狀態
跟蹤探測客戶端
Cisco TAC處理的CMX過載最常見的根本原因是跟蹤僅探測客戶端。啟用此功能可跟蹤未關聯的客戶端的位置。開放的公共區域,如購物中心和火車站,遊客數量巨大,甚至會超過高端CMX節點的限制。
在跟蹤探測客戶端的設定中,隨機生成的MAC地址也會對客戶端計數產生很大影響。
一些製造商(如蘋果)遵循標準,在探測時使用本地管理的隨機MAC地址,這意味著iPhone裝置在探測和取消關聯時永遠不會被CMX檢測到。不遵循該標準且使用非本地管理的隨機MAC地址的裝置在每次發出探測請求(每隔幾秒就會發生)時,CMX都會將其記錄為新客戶端。 結果,探測客戶端計數可以顯著地高/低於網路中裝置的實際數量。
可以通過選中「排除僅探測客戶端」選項,從CMX Web介面的「系統」 — >「設定」 — >「過濾」中禁用探測客戶端的跟蹤:
由於上述所有變體,不應將探測客戶端計數用作佔位計數器,Cisco TAC強烈建議不要跟蹤探測客戶端。
偵測演演算法調整
通過在CMX上調整過濾選項,被記錄的探測客戶端數量會受到嚴重限制。有兩種主要選項會對客戶端檢測產生重大影響(尤其是隻進行探測):
- 佔空比截止(干擾源)
- RSSI截止
- 需要偵聽客戶端的最小AP數量,以便記錄該資料
在人口密集的地區,預計會有大量的干擾源。像藍芽手錶這樣的裝置不會對網路造成巨大影響。通過將干擾器佔空比值提高到更接近例如50,CMX將只記錄超過50%空時的強干擾器。可以從CMX Web介面的「System(系統)」 — >「Settings(設定)」 — >「Filtering(過濾)」下配置此值:
附註:為了避免記錄大量的干擾資料,CMX只記錄存在一定時間量的干擾。
RSSI中斷功能用於避免記錄僅通過內部部署而不實際進入的客戶端。如果僅啟用客戶端跟蹤探測功能,並且附近有公交車站或街道,這會對部署產生巨大影響。預設情況下,此值設定為–85 dBm。更改此值之前,應測量內部部署外部客戶端的RSSI。可以從CMX Web介面的「System(系統)」 — >「Settings(設定)」 — >「Filtering(過濾)」下配置此值:
從CMX 10.6開始,只有通過API呼叫才能更改收聽CMX記錄的客戶端所需的最小AP數。首先,可以使用GET請求檢視當前配置:
[cmxadmin@mse3375 ~]$ curl -X get http://localhost/api/config/v1/filteringParams/1
{"name":null,"allowedMacs":[],"disallowedMacs":[],"blockedList":[],"noLocationSsids":[],"noAnalyticsSsids":[],"disallowprobingclienttracking":false,"macfilter":false,"ssidfilter":false,"probingrssicutoff":-85,"minapwithvalidrssi":1,"filterLocallyAdministered":true,"objectId":0,"dutyCycleCutoff":0}
在此設定中,將minapwithvalidrssi值設定為1,這是預設值。將此值更改為3可以使用POST請求完成。應用這些設定後,如果第三個AP聽到的RSSI等於或大於指定的最小值,CMX將記錄客戶端:
[cmxadmin@mse3375 ~]$ curl -X POST -H "Content-Type: application/json" -d '{"minapwithvalidrssi":3}' http://localhost/api/config/v1/filteringParams/1
更改任何值後,確保執行GET請求以確認設定已成功應用。
增加VM資源
如果當前的CMX節點在VM中運行,並且其大小不足以容納所有客戶端,則可能會增加VM資源及其處理能力。只需分配更多CPU核心、記憶體和磁碟空間。CMX低端、標準節點和高端節點的精確要求可以在此處找到。
如果當前CMX設定已經是高端節點,請考慮本文中提到的其他選項。
附註:在VM上啟用快照可能會對效能產生負面影響,建議不要在生產環境中使用。
CMX分組(以前稱為AP分組)
CMX分組是運行8.7或更高版本的CMX 10.5或更高版本和AireOS WLC上提供的功能。由於8.7版本系列以後不會收到更新,因此建議使用8.8或更高版本。此功能允許單個控制器通過選擇AP組並將一個組分配給特定CMX節點,將負載分佈到多個CMX節點。這些AP組與WLC上的AP組功能無關。
CMX1上的對映僅放置了AP1和AP2。CMX1將與WLC就對映中找到的兩個AP進行通訊。啟用CMX分組功能後,AP1和AP2記錄的所有資訊(包括關聯和僅探測客戶端、干擾源、BLE信標、RFID標籤……)將僅傳送到CMX1。
單個控制器一次最多可以建立4個NMSP連線,這意味著最多可以新增4個CMX節點。使用4個高端節點時,理論上每天最多可以記錄360,000(4x90,000)個唯一的客戶端mac地址。
您可以使用以下測試命令增加WLC可連線的CMX伺服器數量
(Cisco Controller) >test cloud-server cmx max-tls-connections
test cloud-server cmx max-tls-connections <2-6>
重要資訊:未啟用CMX分組功能的情況下,運行低於8.7或高於8.7的代碼的控制器絕不應新增到多個WLC。這可能會導致記錄不準確的資料,尤其是在HyperLocation設定中。
在將新增此控制器的每個CMX節點上,啟用此功能並重新啟動服務時需要此節點:
-
使用命令啟用該功能:
cmxctl config featureflags nmsplb.cmxgrouping true
將true替換為false將禁用此功能。
- 重新啟動CMX代理:
cmxctl restart agent
-
重新啟動NMSP負載平衡器:
cmxctl nmsplb stop
cmxctl nmsplb start
- 要檢查功能是否已成功啟用,請運行:
[cmxadmin@cmx3375 ~]$ cmxctl config featureflags
+----------------------------------------+-------+
| location.compactlocationhistory | false |
+----------------------------------------+-------+
| configuration.oi.host | true |
+----------------------------------------+-------+
| configuration.apimport | false |
+----------------------------------------+-------+
| location.ssidfilterpersistblockedmacs | false |
+----------------------------------------+-------+
| location.rogueapclienthistory | false |
+----------------------------------------+-------+
| nmsplb.cmxgrouping | true |
+----------------------------------------+-------+
| monit | true |
+----------------------------------------+-------+
| container.influxdbreporter | true |
+----------------------------------------+-------+
| nmsplb.autolearnssids | true |
+----------------------------------------+-------+
| configuration.highendbypass | false |
+----------------------------------------+-------+
| apiserver.enabled | true |
+----------------------------------------+-------+
| location.computelocthroughassociatedap | false |
+----------------------------------------+-------+
| analytics.queuetime | false |
+----------------------------------------+-------+
在「監控」(Monitor)>「雲服務」(Cloud Services)>「CMX」(CMX)下,應該可以看到哪個CMX節點啟用了分組功能。「無」表示分組功能已禁用,而「檢視分組」表示分組功能已啟用。
開啟「檢視組」頁面,可以訪問此CMX節點訂閱的AP清單。
在與此控制器相關聯的4個AP中,只有3個位於CMX對映上。WLC從CMX獲取此資訊,並僅將其檢測到的資訊傳送到10.48.71.41上的CMX節點。
其他節點部署
如果網路包含多個無線控制器,則可以部署其他CMX節點並在多個WLC和CMX之間建立1-1對映。到達WLC版本時沒有特殊要求。請確保不要同時將單個WLC新增到多個CMX節點。
DNA空間 — 將工作轉移到雲中
思科新的雲平台DNA Spaces旨在將客戶端跟蹤移至雲端。根據當前負載自動分配資源。可以通過多種方式將您的無線網路連線到雲:
- 將WLC直接連線到雲
- DNA Spaces Connector(充當代理的小型虛擬機器,控制器不暴露於雲)
- 將CMX用作雲網關(HyperLocation部署需要此選項)
相關錯誤