全部产品

ACVIP 问题排查

部署问题

前置条件

  1. 数据库时间和 ACVIP 机器时间需要一致,否则不能到部署完成。

    查看机器时间,命令如下:

    date -R

    查看数据库时间,命令如下:

    env | grep data
    #可以获取到 DB 链接信息,通过命令行链接过去。
    mysql -hhost -uuser -ppasswd -P port -D db
    select now()
  2. 数据库版本不能是 MySQL 8 的。

  3. /etc/hosts 文件中需要有 ipv4 地址和 hostname 的映射配置。

部署不到终态

  1. 查看启动日志 /home/admin/logs/acvip/Startup.log

    1620910079845-090f6c7f-45f3-4216-bf81-def31f2d7df1图中日志说明 domain 加载失败,需要确认发布失败的原因。

  2. 查询 antvip_vip_domain

    查询命令如下:

    select * from antvip_vip_domain
    11
    确认 enable 是否为 1,是 1 说明 domain 在 DB 中,不是 1 说明 domain 不在 DB 中。
  3. 查询是否存在有效节点。

    查询命令如下:

    select * from antvip_real_node where domain_id=4
    1620912331357-fba1bf4b-8f3c-428d-aa5e-0b60c77b7c87
    确认节点是否存活,如果有不正常的节点,进行处理。如果都正常,继续查询 DB 数量。因为 ACVIP 有多个节点时,会有数据分组,这个 domain 可能是其他的 ACVIP 在进行加载。
  4. 查询 DB 数量。

    查询命令如下:

    select * from antvip_vip_server
    1620912774794-a5d54f82-e344-49ba-8c83-a5c0f97e9796
  5. 确认网络连通性。
    心跳时间和当前时间相近的是活跃节点,需要测试当前服务器和这些服务器是否建立连接。
    确认网络连通性命令如下:
    netstat -anlp | grep 12200
    1620912845185-d4a3b59f-6995-4099-ba3e-7bb5f266f5ee

使用问题

获取不到 domain 信息

curl 命令尝试获取,获取命令如下:
curl -i -XPOST {acvip地址}:9003/antcloud/antvip/instances/get -d '{"vipDomainName2ChecksumMap":{"000001-DSR_CLOUD":"N"}}'

长连接 Long Polling 命令示例如下:

curl -i -XPOST localhost:9003/antcloud/antvip/instances/get -d '{"vipDomainName2ChecksumMap":{"000001-DSR_CLOUD":"N"},"allowPolling":true}'
1620913915379-d935721d-cfa7-4d81-9d75-525b99cc9d60

查询到结果说明 ACVIP 正常,检查本地 ACVIP 配置。

如果查询到的结果是空,到 ACVIP 增加配置。

如果网络报错,确认 ACVIP 地址配置。

检查 ACVIP 的本地缓存地址

执行 cd /home/admin/conf/acvip-java-client-cache/domains/ 查看是否有需要的地址数据 ,并查看获取的时间信息。

查看 ACVIP 配置信息

  1. 执行 cd /home/admin/logs/acvip-java-client 命令,然后查看 api-stat.log 文件是否有报错。

  2. 查询 JAVA 客户端拉取记录,命令如下:

    tail -n 500 acvip-default.log.2021-05-12 | grep java

    p279416日志格式如下图所示:

    1620914776358-37259002-4411-4727-8694-68bab486d8de

通过 tcpdump 在 ACVIP 上查看对端请求

查看命令如下:

tcpdump port 9003 and host 10.106.112.209 -nnvvXS
1620914970763-a68572f4-b86d-4ce7-bef4-48becd34be34