简介
本文档介绍在集群间对等场景中,收到思科即时消息和在线状态(IM&P)服务器内的对等连接测试错误“无法访问(检查对等地址有效,AXL在对等设备上运行并且AXL用户名/密码凭证有效)”的情况。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
下图显示在Cisco Unified CM IM and Presence Administration > Presence > Inter-Clustering中找到的错误:
- 管理XML Web服务(AXL)用户名和AXL密码均有效。
- Cisco AXL Web服务在对等设备上运行。
- 此群集间错误是由域名系统(DNS)配置问题引起的;但是,IM&P跟踪可能误导初始分类,因为它们似乎表明网络可能引入延迟。从两个对等体同时收集数据包将表明网络没有任何延迟。
注意:通常,这是一个单向问题,这意味着IM&P集群A能够与IM&P集群B成功通信,但IM&P集群B在尝试与IM&P集群A通信时抛出Not reachable错误。
故障排除
步骤1.检验AXL用户名、AXL密码和对等地址是否全部正确。在这种情况下,连接不是问题,对等体必须能够双向通信(它们不仅必须可ping通,而且可以通过相应的AXL端口到达:8443)。
步骤2.从IM&P集群A和B中至少收集以下一组日志:
- Cisco AXL Web Service
- 思科集群间同步代理
警告:在执行测试之前,某些服务跟踪需要设置为调试级别。在执行测试之后,将跟踪级别设置为默认状态,以避免对服务器性能产生任何其他影响。
注意:从涉及的两个群集收集日志非常重要。
为每个服务启用调试级别的路径为:
- Cisco Unified IM and Presence Serviceability > Trace > Configuration > Select IM&P Server 并单击Go > Select Database and Admin Services,然后单击Go > Select Cisco AXL Web Service并单击Go
- Cisco Unified IM and Presence Serviceability > Trace > Configuration > Select IM&P Server 并单击Go > Select IM and Presence Services,然后单击Go > Select Cisco Intercluster Sync Agent并单击Go
步骤3.日志分析显示以下消息流:
从群集B(显示Not reachable错误的群集)中的群集间同步代理日志中,您需要确定AXL请求和发送此类请求的确切时间。如下所示:
2019-07-14 06:00:07,842 DEBUG [Peer: node name in Cluster A] axl.AXLClientLogger - runSoapReq: The axl request is :
SELECT count(*) from processnode WHERE systemnode='f' and tknodeusage= 0
群集B中的同一群集间同步代理日志显示响应在二分钟后接收,这会导致事务超时:
019-07-14 06:02:36,176 DEBUG [AXL Runner for parent thread ID:4741 (Peer: node name in Cluster A] axl.AXLClientLogger - AXLClientBase - sendSOAPRequest received :
2
"node name in Cluster A" received AXL request at "2019-07-14 01:02:36"
这可能导致您怀疑网络中存在某种类型的数据包延迟。但是,响应正文本身表示群集A中的对等体在二分钟后收到AXL请求(如果群集位于不同的时区,则需要执行时区转换)。
如果您在集群A中查看AXL Web服务日志,您会发现请求在毫秒内得到处理:
2019-07-14 01:02:36,110 INFO [http-bio-443-exec-742] servletRouters.AXLFilter - AXL REQUEST :
SELECT count(*) from processnode WHERE systemnode='f' and tknodeusage= 0
"node name in Cluster A" sent response at "2019-07-14 01:02:36"
2019-07-14 01:02:36,131 DEBUG [http-bio-443-exec-742] servletRouters.AXLFilter - Final response String :
2
从两个对等体同时捕获的数据包显示相同:实际延迟不在网络内部,但问题是集群B会在将数据包发送到集群A之前延迟数据包。集群A会处理请求,并在几毫秒内如预期那样回复该请求。
对于群集B为何延迟AXL请求或此问题的确切原因的调查可能非常耗时。但是,有几个验证已确定为此场景的基本诊断步骤。
解决方法
在多种情况下,IM&P集群B中的此延迟是由DNS问题引起的。您可能会面临以下两种情况之一:
情形 1:
在集群B中,无法访问主DNS服务器。虽然可以访问辅助DNS服务器,但节点在尝试通过主要DNS服务器解析所有所需的FQDN时却延迟很大。当它切换到辅助DNS服务器时,已经存在2分钟的延迟,因此请求超时。
可以通过以下命令行界面(CLI)命令验证这一点:
发出show network eth0命令列出将IM&P节点配置为使用的DNS服务器:
admin:show network eth0
Ethernet 0
DHCP : disabled Status : up
IP Address : 10.0.10.10 IP Mask : 255.255.255.000
Link Detected: yes Mode : Auto disabled, Full, 10000 Mbits/s
Duplicate IP : no
DNS
Primary : 10.0.10.31 Secondary : 10.0.10.32
然后,尝试通过utils network ping <Primary DNS server's IP Address>命令对主DNS服务器执行ping操作:
admin:utils network ping 10.0.10.31
PING 10.0.10.31 (10.0.10.31) 56(84) bytes of data.
From 10.0.10.10 icmp_seq=2 Destination Host Unreachable
From 10.0.10.10 icmp_seq=3 Destination Host Unreachable
From 10.0.10.10 icmp_seq=4 Destination Host Unreachable
如果无法访问主DNS服务器,请确保为其配置的IP地址正确。然后,修复所有连接问题。一旦您能ping通主要DNS服务器和辅助DNS服务器,集群间错误也必须修复。如果在这些操作后问题仍然存在,请执行场景2中的步骤。
方案 2:
在集群B中,主和辅助DNS服务器均可访问/可执行ping操作,但IM&P服务器在CLI和网页中仍显示DNS unreachable警告:
Command Line Interface is starting up, please wait ...
Welcome to the Platform Command Line Interface
VMware Installation:
128 vCPU: Intel(R) Xeon(R) CPU E5-2699A v4 @ 2.40GHz
Disk 1: 80GB, Partitions aligned
4096 Mbytes RAM
WARNING: DNS unreachable
此外,CLI命令utils diagnose test显示DNS解析问题,特别是在validate_network模块中,这可能表示错误,例如反向DNS查找失败:
admin:utils diagnose test
Log file: platform/log/diag4.log
Starting diagnostic test(s)
===========================
test - disk_space : Passed (available: 6938 MB, used: 11852 MB)
skip - disk_files : This module must be run directly and off hours
test - service_manager : Passed
test - tomcat : Passed
test - tomcat_deadlocks : Passed
test - tomcat_keystore : Passed
test - tomcat_connectors : Passed
test - tomcat_threads : Passed
test - tomcat_memory : Passed
test - tomcat_sessions : Passed
skip - tomcat_heapdump : This module must be run directly and off hours
test - validate_network : Reverse DNS lookup failed
test - raid : Passed
此特定错误表示DNS服务器出现问题,该服务器无法将某些IP地址解析为完全限定域名(FQDN)。 您可以通过CLI命令show network cluster进一步隔离此问题。此命令显示属于该集群的条目列表(所有CUCM和IM&P服务器):
admin:show network cluster
10.3.74.13 IMPPUB.edgrodrilab.com IMPPUB Subscriber cups DBPub authenticated
10.3.74.14 IMPSUB.edgrodrilab.com IMPSUB Subscriber cups DBSub authenticated using TCP since Fri Oct 15 10:22:20 2021
10.3.74.12 CUCMSUB.edgrodrilab.com CUCMSUB Subscriber callmanager DBSub authenticated using TCP since Thu Oct 28 11:24:16 2021
10.3.74.11 CUCMPUB.edgrodrilab.com CUCMPUB Publisher callmanager DBPub authenticated using TCP since Thu Oct 28 11:27:36 2021
您必须能够对所有条目执行转发和反向DNS查找。
工作正常的DNS解析示例:
admin:utils network host IMPPUB
Local Resolution:
IMPPUB.edgrodrilab.com resolves locally to 10.0.10.10
External Resolution:
IMPPUB.edgrodrilab.com has address 10.0.10.10
admin:utils network host 10.0.10.10
Local Resolution:
10.0.10.10 resolves locally to IMPPUB.edgrodrilab.com
External Resolution:
10.10.0.10.in-addr.arpa domain name pointer imppub.edgrodrilab.com.
不工作的DNS解析示例:
admin:utils network host IMPSUB
Local Resolution:
IMPSUB.edgrodrilab.com resolves locally to 10.0.10.10
External Resolution:
IMPSUB.edgrodrilab.com has address 10.0.10.10
admin:utils network host 10.0.10.10
Local Resolution:
10.0.10.10 resolves locally to IMPSUB.edgrodrilab.com
External Resolution:
No external servers found
在此特定情况下,DNS服务器不包含要从10.0.10.10 IP地址解析为IMPSUB.edgrodrilab.com FQDN的PTR记录。
要修复DNS unreachable警告和反向DNS查找失败错误,您需要在DNS服务器中创建所需的A Host和PTR记录,以便能够解析转发和反向DNS查找的所有CUCM和IM&P节点。
验证
当遇到完全相同的集群间问题并且错误签名与日志匹配时,需要检查的基本设置之一是DNS服务器状态和配置。
主DNS服务器和辅助DNS服务器都需要可访问/可执行ping操作,并能够解析集群中的所有CUCM和IM&P节点进行正向和反向DNS查找。
在对集群间错误进行故障排除之前,您需要清除所有DNS警告、错误或警报。您可以使用utils diagnose test命令验证DNS配置。