vcenter报vapi-endpoint status异常告警

一、故障描述

巡检发现,vcenter报vapi-endpoint status changed from green to yellow告警;如下图所示:

在这里插入图片描述
查看告警定义,黄色警示标示:Failed to connect to ad332723-9a14-41b6-820c-9af189783ed5\com.vmware.vcenter.nsxd.vapi vAPI provider。

检查:https://{vcenter}/vapiendpoint/health

二、故障分析

vapi-endpoint提供对vAPI服务的单点访问。我们还可以按照需求修改 vAPI Endpoint service的属性配置;

检查vcenter的endpoint.log,日志位置如下:

vCenter Server Appliance :/var/log/vmware/vapi/endpoint
Windows vCenter Server:C:\ProgramData\VMware\vCenterServer\logs\vapi\endpoint

在这里插入图片描述

会看到:

Unexpected error while initializing endpoint runtime state org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘some-bean-name’ is defined

在这里插入图片描述

2021-07-31T17:24:42.793Z | WARN  | state-manager1            | ApiInterfacesFactory           | Retrieving interfaces for service 8a17038f-65
2021-07-31T17:24:42.801Z | WARN  | state-manager1            | ApiInterfacesFactory           | The cache does not contain entry for service 8a17038f-6504-4830-ac6b-c7e9be79a98e\com.vmware.vcenter.nsxd.vapi. The interfaces will be skipped.
2021-07-31T17:24:42.802Z | INFO  | state-manager1            | HealthStatusCollectorImpl      | HEALTH YELLOW Failed to connect to 8a17038f-6504-4830-ac6b-c7e9be79a98e\com.vmware.vcenter.nsxd.vapi vAPI provider.
2021-07-31T17:24:42.893Z | INFO  | state-manager1            | DefaultStateManager            | Invoking vcenter-shim-service-builder

vAPI Endpoint每四分钟重新配置一次,以适应/感知vCenter Server环境中的任何更改;尽管vAPI Endpoint服务遇到故障时无法再重新配置自身并报告黄色状态,但是它使用了缓存的配置(它的上一个成功配置),因此只要没有实际的重新配置需求,就仍然可以为请求提供服务而没有错误。因此,你也可以忽略它;对vAPI Endpoint 来说,触发该黄色警示,已知经验表明,当主机到远程服务器(https://vcenter-url/sts/STSService/vsphere.loca)没有路由l时就会触发;

根本原因是这是vAPI Endpoint中的一个已知问题;当vAPI Endpoint服务重新配置自身并且发生错误处理的异常时,它会进入一种状态,在该状态下,已损坏的spring bean被保存,导致每个后续的重新配置均会失败,并且该服务报告从这里开始,状态为黄色。处理不当的异常可能是:与远程服务器server-URL通讯时出错:com.sun.xml.internal.ws.client.ClientTransportException(HTTP传输错误);java.net.NoRouteToHostException主机没有路由/连接等。甚至会导致当你登录Web Client时,所有对象无法查看(即便是Administrator@vSphere.local),报错:You do not have permissions to view this object or this object does not exist;

另外当vapi-endpoint 服务发现自身注册 Lookup Service时,会连接http://localhost:8920.nsxd,当返回404错误时,就会触发服务监控状态黄色警示;

三、故障处理:

按照官方的建议,需要重新启动vAPI-endpoint服务以清除/重置错误的配置状态来恢复;实际环境中,该服务会自动重启恢复;

这是一个影响vCenter Server 6.0和vCenter Server Appliance 6.0、 vCenter 7.0.x 的已知问题。vCenter 6.0 U3使系统更加稳定,并减少了错误运行状况警报的机会。相关经验显示:vCenter 7.0.0c也会遇到该报错,在vCenter Server 7.0 Update 1已解决。

操作步骤:

1、ssh到VCSA,输入shell切到shell环境;
2、执行:service-control --status vmware-vapi-endpoint

在这里插入图片描述

service-control --stop vmware-vapi-endpoint
service-control --start vmware-vapi-endpoint
//或直接访问如下地址来查看服务状态:
https://hostname_or_IP/vapiendpoint/health

在这里插入图片描述
还可以检查下ssl证书:
#/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOT_CRLS
在这里插入图片描述

【windows】:

cd C:\Program Files\VMware\vCenter Server\bin下执行:
service-control.bat --stop vapiEndpoint
service-control.bat --start vapiEndpoint
//或查看
https://hostname_or_IP/vapiendpoint/health.

四、附录

vAPI Endpoint service也会因内存不足导致的服务异常,反复重启(vcenter清单对象的内存持续消耗引起的内存泄漏);

日志中有:Unable to login to inventory service or Unable to login/logout to/from inventory service.的报错

每隔四分钟,vAPI端点服务就会触发一次重新配置,并尝试连接到所有其他vCenter服务器节点上的资源清单服务。如果失败,则在重新启动vAPI端点服务之前,不会清理某些对象的内存。这会导致每次运行时内存泄漏,最终导致内存不足。当vAPI端点内存不足时, wrapper 将重新启动服务,自动清除所有泄漏的对象。如果尚未恢复与所有vCenter Server节点的连接,则终结点将很快再次内存不足。

在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值