目录

简介

先决条件

要求

使用的组件

问题

排除问题1故障

排除问题2故障

排除问题3故障

相关信息

简介

本文档介绍如何使用思科智能软件管理器(CSSM)解决网络服务协调器(NSO)上的许可证问题。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

问题

在CSSM上遇到NSO的错误包括：

1. result Error: License Agent not ready.  Please try again.

2. Failure Reason: Communication send error.

3. java.lang.module.FindException: Module java.xml.bind not found (From the ncs-smart-licensing.log)

您必须首先检查接下来的命令/输出。

- 验证智能代理是否运行：

[root@nso-ha-1 home]# ps -ef | grep smart

root      63522  63419  0 06:56 ?    00:00:00 /opt/ncs/current/lib/ncs/lib/core/sls/priv/agentwrapper

java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent --port 0 --path /smartagent --shutdown-override

root      63523  63522  4 06:56 ?        00:02:45 java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent

--port 0 --path /smartagent --shutdown-override

[root@nso-ha-1 home]# systemctl status ncs.service

>...

└─63523 java -Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom -jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/webapp-runner.jar

/opt/ncs/current/lib/ncs/lib/core/sls/priv/smartagent -

-port 0 --path /smartagent --shutdown-overr...

...

Apr 13 06:56:15 nso-ha-1 ncs[63406]: - Starting the NCS Smart Licensing Java VM

root@ncs# show smart-license smart-agent start-status

smart-license smart-agent start-status started

- 确认使用哪种方法注册令牌（直接/代理/卫星）。确定后，验证NSO服务器与服务器之间是否存在连接：

wget  https://www.cisco.com

wget  <IP of proxy or satellite server>

curl -vvv   <IP of proxy or satellite server>

示例

代理：DDCEService

卫星：DeviceRequestHandler

- 下一步是验证智能许可证相关参数已配置到的位置。有两种方法可以做到这一点。一种方法是在ncs.conf文件中包含smart-license部分：

<smart-license>    <smart-agent>

<java-executable>DEFAULT</java-executable>

<java-options>DEFAULT</java-options>

<production-url>DEFAULT</production-url><

<alpha-url>DEFAULT</alpha-url>

<override-url>

<url>DEFAULT</url>

</override-url>

<proxy>

<url>DEFAULT</url>

</proxy>

</smart-agent>

</smart-license>

另一种是通过cli进行配置。

admin@ncs# show running-config smart-license smart-agent

注意：在任何系统上，您只能执行两种配置之一。ncs.conf下的配置始终取代从CLI进行的配置。

- 之后，使用下列命令检查与许可证相关的信息：

root@ncs# show license ?

可能完成的任务：

UDI

显示设备UDI。

all

显示所有智能许可信息。

状态

显示整体智能许可状态。

摘要

显示智能许可状态摘要。

技术支持

显示智能许可技术支持信息。

trace

显示智能许可跟踪状态。

使用率

显示智能许可许可证使用情况。

上述命令可让您了解当前的所有许可证，以及它是否是 InCompliane , OutofCompliance , Erroneous , Eval ,等等。

- 最后，可以使用下一配置启用智能许可证日志：

root@ncs# show running-config smart-license

smart-license smart-agent stdout-capture enabled

smart-license smart-agent stdout-capture file /var/log/ncs/ncs-smart-licensing.log

smart-license smart-agent stdout-capture stdout

排除问题1故障

由于错误 "License agent is not ready",  检查运行config和ncs.conf文件的智能许可证。如果ncs.conf文件中存在smart-license部分，请将其注释掉，并从NSO CLI配置下一个语法：

root@ncs# config

Entering configuration mode terminal

root@ncs(config)#smart-license smart-agent java-options "-Xmx64M -Xms16M -Djava.security.egd=file:/dev/./urandom"

root@ncs(config)#smart-license smart-agent override-url url

<URL>可以是代理服务器（如前所示）或附属服务器。对于卫星服务器，必须确保端口为“443”且使用HTTP。（8443用于GUI）。或者，如果HTTP有效，则必须相应地修改URL。

进行这些更改后，智能代理将重新启动：

root@ncs(config)# smart-license smart-agent restart

result Started

即使在之前的更改之后，许可证代理也可能无法启动。可能妨碍更改的另一个配置与“HA”相关。  在这种情况下，可以在ncs.conf文件中进行快速检查，以确认HA是启用还是禁用。

注：在HA设置上，智能许可只能在主节点上启用（配置）。

通过这些更改，智能许可证代理已准备好进行下一步操作。尝试注册要检查的令牌。

排除问题2故障

即使智能许可证代理工作正常，您也可能遇到“通信发送错误”。验证override-url并确保端口正常工作。如前所述，还必须验证连接。

如果NSO没有问题，则此错误可能是由于智能软件管理器内部卫星(SSMS)和CSSM之间的连接造成的。可以更改cName以匹配未与CSSM完全同步的FQDN，这是强制步骤。如果不执行此步骤，在生成从CSSM生成的令牌时会出现问题。这可能导致以下错误：

Failure Reason: {"token":"The token ‘<Actual Token from CSSM>’ is not valid."]}

有关如何使用https注册NSO的信息，请参阅如何将您的设备使用HTTPS注册到卫星智能许可服务器。

排除问题3故障

当使用的java版本出现问题时，会出现第三个问题。智能代理本质上是一个JAVA进程（NCS智能许可Java VM），必须使用正确的Java版本。

这是看到的错误：

Error occurred during initialization of boot layer

java.lang.module.FindException: Module java.xml.bind not found

child died (From the ncs-smart-licensing.log)

Java 11删除了有关丢失Java模块的提示。如果遇到此问题，请检查版本，以及最近是否首先升级了JAVA。

有关如何为NSO配置思科智能许可证的详细信息，请参阅使用NSO配置思科智能许可证。

相关信息

- 技术支持和下载 — Cisco Systems