目录

简介

先决条件

要求

使用的组件

CMX节点过载的迹象

重分布CMX负载

过滤本地管理的MAC地址

探测客户端的跟踪

检测算法调整

增加VM资源

CMX分组（以前称为AP分组）

其他节点部署

DNA空间 — 将工作分流到云

相关错误

简介

本文将介绍如何识别并重新分配单个CMX（互联移动eXperience）节点的负载，以便适应大量被跟踪的设备。在启用探测客户端跟踪的公共区域或设置中，此类问题通常在超大型部署中观察到。

先决条件

要求

本文假设您了解CMX的基本设置和配置，并仅关注优化大型部署性能的提示和诀窍。

使用的组件

本文中显示的所有命令和示例都在运行8.8.125代码的3504 WLC和运行于3375设备的CMX 10.6.1上执行。

CMX节点过载的迹象

CMX节点过载可能导致以下几个不同的问题：

- 服务无法启动

- 服务突然停止/崩溃

- 显示0个活动客户端的分析服务

- 警报和电子邮件警报表明分析或位置服务处于严重运行状态

- 无法在主CMX节点和辅助CMX节点之间建立HA

重分布CMX负载

过滤本地管理的MAC地址

由于隐私问题日益严重，从2014年的IOS 8版本开始，智能手机制造商开始实施一种称为MAC随机化的功能，设备每次发送探测请求时都会使用随机生成的新MAC地址。当生成随机MAC地址时，制造商可以决定使用“本地管理”MAC地址，该MAC地址具有指示该地址是随机的特殊位，或者简单地生成一个与实际地址不可区分的完全随机地址。极少数客户端在探测时实际使用其实际MAC地址。

CMX有一种方法可过滤这些伪造的随机MAC地址。在System->Settings->Filtering下，始终确保选中Enable Locally Administred MAC filtering。

注意:此字段已从CMX 10.6.0的Web界面中删除，并且始终默认启用

探测客户端的跟踪

思科TAC处理的CMX过载最常见的根本原因是仅跟踪探测客户端。启用此功能可以跟踪未关联的客户端的位置。开放的公共区域，如购物中心和拥有大量访客的火车站，即使是高端CMX节点，也常常会超出限制。

在跟踪探测客户端的设置中，随机生成的MAC地址对客户端计数也有很大影响。

像苹果这样的一些制造商在探测时遵循标准并使用本地管理的随机MAC地址，这意味着CMX在探测和未关联时将永远不会检测到iPhone设备。当CMX每次发出探测请求（可能每隔几秒发生一次）时，会将未遵循标准且使用非本地管理的随机MAC地址的设备记录为新客户端。 因此，探测客户端计数可以显着高于/低于网络中实际设备数。

可以通过选中“排除仅探测客户端”(Exclude Probing Only clients)选项，从CMX Web界面的“系统”(System)->“设置”(Settings)->“过滤”(Filtering)下禁用探测客户端的跟踪：

由于上述所有变化，探测客户端计数不应用作踏足计数器，Cisco TAC强烈建议不要跟踪探测客户端。

检测算法调整

通过调整CMX上的过滤选项，可以严格限制记录的探测客户端数量。有2个主要选项对客户端检测（尤其是仅探测）有重要影响：

1. 占空比截止（干扰源）

2. RSSI截止

3. 需要侦听客户端的最小AP数量，因此会记录

在密集且人口密集的区域中，预计会有大量干扰源。蓝牙手表等设备不会对网络产生巨大影响。通过将干扰源占空比的值增加到更接近50,CMX将只记录占空时时间50%以上的强干扰源。此值可以从CMX Web界面的System（系统） — >Settings（设置） — >Filtering（过滤）下进行配置：

注意：为避免记录大量干扰源数据，CMX只记录存在一定时间的干扰源。

RSSI截止功能用于避免记录仅通过现场而不实际进入的客户端。如果仅启用探测客户端跟踪，并且在附近设有公交车站或街道，这会对部署产生巨大影响。默认情况下，此值设置为–85 dBm。在更改此值之前，应测量外部设备外的客户端的RSSI。此值可以从CMX Web界面的System（系统） — >Settings（设置） — >Filtering（过滤）下进行配置：

从CMX 10.6开始，更改CMX记录客户端所需的最小AP数量只能通过API调用完成。首先，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，这是默认值。可以使用POST请求将此值更改为3。应用这些设置后，当第三个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节点在虚拟机中运行，并且其大小不足以容纳所有客户端，则可能增加虚拟机资源，从而增加其处理能力。只需分配更多CPU核心、内存和磁盘空间。CMX低端、标准和高端节点的确切要求可在此找到。

如果当前CMX设置已是高端节点，请考虑本文中提到的其他选项。

注意：在VM上激活快照可能会对性能产生负面影响，不建议用于生产环境。

CMX分组（以前称为AP分组）

CMX分组是CMX 10.5或更高版本和运行8.7或更高版本的AireOS WLC上提供的功能。由于8.7版本系列将来不会接收更新，因此建议使用8.8或更高版本。此功能允许单个控制器通过选择AP组并将组分配给特定CMX节点，将负载分配到多个CMX节点。这些AP组与WLC上的AP组功能无关。

CMX1上的映射仅放置AP1和AP2。CMX1将与WLC通信映射中找到的这2个AP。启用CMX分组功能后，AP1和AP2记录的所有信息（包括仅关联和探测客户端、干扰源、BLE信标、RFID标签……）将仅发送到CMX1。

一个控制器最多可以有4个NMSP连接，这意味着最多可以向其添加4个CMX节点。如果有4个高端节点，理论上每天最多可记录360,000(4x90,000)个唯一客户端mac地址。

通过以下test命令，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节点上，启用该功能并重新启动服务所需的CMX节点：

1. 使用命令启用功能：

cmxctl config featureflags nmsplb.cmxgrouping true

用false替换true可禁用功能。

2. 重新启动CMX代理：

cmxctl restart agent

3. 重新启动NMSP负载均衡器：

cmxctl nmsplb stop

cmxctl nmsplb start

4. 要检查功能是否已成功启用，请运行：

[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空间旨在将客户端跟踪移至云。根据当前负载自动分配资源。可以通过以下几种方式将无线网络连接到云：

1. 直接将WLC连接到云

2. DNA空间连接器（用作代理的小型虚拟机，控制器不暴露在云中）

3. 将CMX用作云网关（HyperLocation部署需要此选项）

相关错误

- CSCvq25953 — 启用位置SSID过滤会禁用本地管理的MAC的排除，反之亦然