简介
本文档介绍如何使用思科智能软件管理器(CSSM)解决网络服务协调器(NSO)上的许可证问题。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
问题
在CSSM上遇到NSO的错误包括:
result Error: License Agent not ready. Please try again.
Failure Reason: Communication send error.
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配置思科智能许可证。
相关信息